@charset "utf-8";
@import url("https://fonts.googleapis.com/css2?family=poppins:ital、wght@0,100;0,200;0,300; 1,800;1,900&display=swap");
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@700&display=swap');

/*================================================
　汎用
================================================ */
html {
  font-size: 62.5%;
}

body {
  font-size: 1.6rem;
  font-family: "Noto Sans JP", "Poppins", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  color: #111;
  font-feature-settings: "palt";
}

body.fixed {
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0;
}



img {
    width: 100%;
    vertical-align: baseline;
}



* {
    position: relative;
    font-weight: 100;
}

*, *:before, *:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}



ul {
    list-style: none;
}



a {
    z-index: 100;
    display: block;
}
a:link {
    color: white;
    text-decoration: none;
}
a:visited {
    color: white;
    text-decoration: none;
}
a:hover {
    text-decoration: none;
    opacity: 0.7;
    transition: all 0.5s;
}

a:link {opacity: 1;}
a:visited {opacity: 1;}
a:hover {opacity: 1;}



br.pc {display: block;}
br.m {display: none;}
br.sp {display: none;}

.m br.pc {display: none;}
.m br.m {display: block;}
.m br.sp {display: none;}

br.pc {display: none;}
br.m {display: none;}
br.sp {display: block;}


.pc {display: block;}
.sp {display: none;}
.pc {display: none;}
.sp {display: block;}

.sec__line {
  width: 100%;
}

#loader {
  width: 100vw;
  height: 100vh;
  z-index: 5000;
  position: fixed;
  top: 0;
  left: 0;
  background: white;
}

/* @media screen and (min-width: 769px) {
main {
  max-width: 375px;
  margin: auto;
}
} */
.p_bg {
  position: fixed;
  inset: 0;
  display: block;
  z-index: -2;
  background-image: url(../img/bg.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (max-width: 375px) {
  .p_bg,
  .side_logo,
  .side_nav { 
    display: none!important;
  }
}
.p_wrap {
  position: relative;
  display: flex;
  align-items: flex-start;
}
.contents {
  max-width: 39rem;
  background-color: #fff;
  overflow: hidden;
  margin: 49px auto 0;
}
.side_logo {
  position: sticky;
  top: 0;
  display: grid;
  place-items: center;
  place-content: center;
  flex: 1;
  height: 100vh;
  line-height: 1.6;
}
.side_logo p {
  top: -60%;
  text-align: center;
 padding: 20px;
}
.side_logo span {
  font-size: 1.4rem;
  display: block;
}

.side_logo img {
  max-width: 298px;
  width: 80%;
  transform: translateY(-60%);
}
.side_nav {
  position: sticky;
  top: 0;
  /* display: grid; */
  place-items: center;
  flex: 1;
  height: 100vh;
  margin-top: 0;
}
.side_nav .menuInner__content {
  width: 75%;
  position: absolute;
  transform:translateY(-70%) translateX(-50%);
}
.side_nav .menuInner {
  top: 50%;
  position: absolute;
  transform: translateY(-50%);
  width: 90%;
  height: auto;
  background-color: initial;
}
.side_nav .menuInner ul {
  margin: 0;
}
@media screen and (max-width: 1280px) {
  .side_nav .menuInner ul li a {
    font-size: 2.4vw;
  }

  .side_nav .menuInner ul li a span{
    font-size: 1.2vw;
  }
}
@media screen and (max-width: 960px) {
  .side_logo img,
  .side_logo p,
  .side_nav .menuInner,
  .side_nav .register {
    display: none;
  }
}

/*------------------------------------------------------------------
 mv --------------------------------------------------------------
------------------------------------------------------------------*/
.mv {
  width: 100%;
  margin: 0 auto;
  /* overflow: hidden; */
  /* z-index: 2; */
}
.mv.nav__fixed {
  margin: 0 auto 90px;
}
.mv.nav__fixed {
  margin: 0 auto;
}

.mv .mv_inner {
  max-width: 100%;
  width: 100%;
  margin: 0 auto;
  height: auto;
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center top;
  padding-top: 47.5%;
}

.mv .mv_inner {
  background: url('../img/martial-arts.jpg');
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center top;
  padding-top: 137%;
}
.mv_register {
  background-color: #76733E;
  padding: 16px 0;
  text-align: center;
}
.target {
	position: absolute;
	top: 50%;
	transform: translateY(-50vh);
}
.mv_register_ttl {
  color: #fff;
  font-size: 1.8rem;
  font-style: italic;
  padding: 0 16px;
}
@media screen and (max-width: 375px) {
  .mv_register_ttl {
    font-size: 1.6rem;
  }
  .mv_register_block p {
    font-size: 1.4rem;
  }
}
.mv_register_ttl span {
  background-color: #fff;
  color: #76733E;
  height: 100%;
  padding: 0 0.3em;
  margin-right: 3px;
  border-radius: 2px;
}
.mv_register_block {
  background-color: #fafafa;
  padding: 16px 20px;
  margin: 16px 20px;
}
.mv_register_link {
  margin: 16px 20px;
  background-color: #000;
  /* border: 1px solid #fff; */
  border-radius: 4px;
}
.mv_register_link a {
  padding: 19px 0;
  cursor: pointer;
}
.mv_registar_btn_wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.mv_register_btn {
  display: block;
  /* vertical-align: middle; */
  text-decoration: none;
  width: 48%;
  margin: 10px auto 0;
  line-height: 1;
  border-radius: 4px;
  letter-spacing: 0;
  font-size: 1.4rem;
  padding: 12px 0;
}
.mv_register_btn._01,
.mv_register_btn._02{
  padding: 19px 0;
}
.mv_register_btn._01,
.mv_register_btn._02,
.mv_register_btn._03,
.mv_register_btn._04 {
  border: 1px solid #c4c5c6;
  color: #111;
  cursor: pointer;
}
.mv_register_btn._01:hover,
.mv_register_btn._02:hover,
.mv_register_btn._03:hover,
.mv_register_btn._04:hover {
  background-color: #76733E;
  color: #fff;
}
.mv_register_btn._04 span {
  font-size: 1.3rem;
}
.mv__item01,
.mv__item02,
.mv__item03,
.mv__item04 {
  position: absolute;
}

.mv__item01 {
  overflow: hidden;
  width: 32.5%;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  right: 5.2083%;
}
.mv__item02 {
  width: 59.4444%;
  bottom: -6.8%;
  left: 0;
}
.mv__item03 {
  width: 53.12%;
  right: 0;
  bottom: 6%;
  overflow: hidden;
}

.mv__item01 {
  width: 100%;
  top: auto;
  bottom: 0;
  right: 0%;
  min-width: initial;
  transform: translateY(0);
  -webkit-transform: translateY(0);
}
.mv__item02 {
  width: 100%;
  bottom: 30%;
  left: auto;
}
.mv__item03 {
  width: 100%;
  left: 0;
  right: 0;
  bottom: 0%;
}

.mv__item04 {
  width: 47.75%;
  right: 3%;
  bottom: 2%;
}
.mv__item04 {
  width: 100%;
  left: 0;
  right: 0;
  bottom: 28%;
}

.register {
  background-color: #76733E;
  padding: 16px 0;
}
a.register_btn {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 80%;
	margin: auto;
  line-height: 3;
	border-radius: 4px;
	background: #ffd90e;
  color: #76733E;
  font-size: 2rem;
  font-weight: 800;
  letter-spacing: 0;
  position: relative;
  padding-left: 40px;
  box-shadow: 2px 8px 10px 2px rgba(45, 0, 4, .2);
}
a.register_btn:hover {
	background-position: right center;
	background-size: 200% auto;
	-webkit-animation: pulse 2s infinite;
	animation: register_btn 1.5s infinite;
  color: #76733E;
}
@keyframes register_btn {
	0% {box-shadow: 0 0 0 0 #ffd90e;}
	70% {box-shadow: 0 0 0 10px rgb(39 172 217 / 0%);}
	100% {box-shadow: 0 0 0 0 rgb(39 172 217 / 0%);}
}
a.register_btn::before {
  content: "";
  display: block;
  background-image: url(../img/register-btn.png);
  background-size: contain;
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%); 
  height: 40px;
  width: 60px;
}
a.register_btn::after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #76733E;
  border-right: 2px solid #76733E;
  display: inline-block;
  transform: translateY(-50%) rotate(45deg);
  position: absolute;
  top: 50%;
  right: 18px;
}


/* アニメーション */
.mv__item01 {
  opacity: 0;
  animation-name: anime01;/*名前*/
  animation-duration: 1s;/*時間*/
  animation-delay: 0.5s;/*開始*/
  animation-fill-mode:forwards;/*回数*/
}
  @keyframes anime01 {
    0% {
          opacity: 0;
      }
      100% { opacity: 1 }
  }

.mv__item02 {
  opacity:0;
  animation-name:anime02;/*名前*/
  animation-duration:.6s;/*時間*/
  animation-delay: 1s;/*開始*/
  animation-fill-mode: forwards;/*回数*/
}
  @keyframes anime02 {
    0% {
      opacity: 0;
      transform: translateX(-30px);
     }
      100% {
        opacity: 1;
        transform: translateX(0);
      } 
  }

.mv__item03 {
  opacity:0;
  animation-name:anime03;/*名前*/
  animation-duration:.6s;/*時間*/
  animation-delay: 1.4s;/*開始*/
  animation-fill-mode: forwards;/*回数*/
}
  @keyframes anime03 {
    0% {
      opacity: 0;
      transform: translateX(-30px);
     }
      100% {
        opacity: 1;
        transform: translateX(0);
      } 
  }

/* スポンサー */
.sponsor {
  background-color: #fff;
}
.sponsor_ttl {
  text-align: center;
  font-weight: 900;
  font-style: italic;
}
.sponsor_inner {
  padding: 10px 0 20px;
  box-shadow: 2px 3px 16px 2px rgba(0, 0, 0, .16);
  z-index: 1;
}
.sponsor_block {
  display: flex;
  align-items: center;
  overflow-y: hidden;
  padding-top: 16px;
}
.sponsor_block::-webkit-scrollbar{
  display: none;
}
.sponsor-list {
  display: flex;
  align-items: center;
  animation: loop infinite linear 25s both;
  gap: 20px;
  padding: 0 10px;
}
.sponsor-list li {
  height: 44px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
@keyframes loop {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}

/* about */
.about {
  background-color: #fff;
  position: relative;
}
.about::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 99.9%;
  transform: translateX(-50%);
  box-sizing: border-box;
  border-right: 200px solid transparent;
  border-left: 200px solid transparent;
  border-top: 30px solid #bebca1;
  z-index: 1;
}
.about_inner {
  padding: 50px 20px 40px;
}
.about_ttl {
  max-width: 578px;
  margin: auto;
}
.about p {
  text-align: center;
  line-height: 2;
  margin-top: 40px;
  letter-spacing: 0;
  font-weight: 900;
}
.about figure img {
  top: 1px;
}

/* point */
.point {
  background-color: #76733E;
}
.point_inner {
  padding: 75px 0;
}
.point_ttl {
  max-width: 178px;
  padding: 0 20px;
}
.point_list {
  width: 100%;
}
.point_list-item {
  padding-top: 35px;
}
.point_list-item:nth-of-type(1) {
  padding-top: 30px;
}

/* worries */
.worries {
  background-color: #76733E;
}
.worries_inner {
  padding: 48px 0 0;
}
.worries_list {
  width: 100%;
}
.worries_list-item {
  padding-top: 35px;
}
.worries_list-item:nth-of-type(1) {
  padding-top: 30px;
}

/* voice */
.voice {
  background-color: #fff;
  position: relative;
}
.voice_inner {
  padding: 60px 0 0;
}
.voice_ttl {
  padding: 0 20px;
  max-width: 252px;
}
.voice_tab {
  display: flex;
  cursor: pointer;
  margin: 32px auto 0;
  width: 90%;
}
.voice_tab .tab {
  color: #989898;
  width: 50%;
  padding: 12px;
  text-align: center;
  border-bottom: 3px solid #f1f3f5;
}
.voice_tab .tab._active {
  color: #76733E;
  border-bottom: 3px solid #76733E;
}
.panel {
  display: none;
}
.panel._active {
  display: block;
}



.voice .voice_block {
  margin-top: 40px;
}
.voice .voice_block:nth-of-type(1) {
  margin-top: 20px;
}
.voice .voice_block_img {
  position: relative;
}
.voice .voice_btn {
  position: absolute;
  bottom: 5%;
  right: 5%;
  background-color: inherit;
  max-width: 45px;
}
.voice .voice_txt {
  padding: 20px 20px 0 20px;
  font-size: 2.4rem;
  line-height: 1.4;
}
.voice .voice_txt .red {
  color: #76733E;
}
.voice .voice_txt .name {
  font-size: 1.8rem;
  padding-left: 16px;
}
.voice .voice_txt .company {
  display: block;
  font-size: 1.6rem;
  padding-top: 16px;
  font-family: "Noto Sans JP W3";
}

/* ============== flow ============== */
.flow {
  background-color: #fff;
  position: relative;
}
.flow_inner {
  padding: 80px 0 0;
}
.flow_ttl {
  padding: 0 20px;
  max-width: 252px;
}
.flow .slider_wrap {
  margin-top: 40px;
}
.flow .slider .slick-slide{
  margin: 0 10px;
}
.flow .slider_timer{
  position: absolute;
  z-index: 2;
  top: 102.3%;
}
.flow .slider_timer._01{
  left: 25.7%;
}
.flow .slider_timer._02{
  left: 33.5%;
}
.flow .slider_timer._03{
  left: 41.2%;
}
.flow .slider_timer._04{
  left: 48.9%;
}
.flow .slider_timer._05{
  left: 56.6%;
}
.flow .slider_timer._06{
  left: 64.3%;
}
@media screen and (max-width: 640px) {
  .flow .slider_timer{
    top: 102.1%;
  }
  .flow .slider_timer._01{
    left: 24.7%;
  }
  .flow .slider_timer._02{
    left: 32.9%;
  }
  .flow .slider_timer._03{
    left: 40.9%;
  }
  .flow .slider_timer._04{
    left: 48.9%;
  }
  .flow .slider_timer._05{
    left: 56.7%;
  }
  .flow .slider_timer._06{
    left: 64.8%;
  }
}

svg {
	transform: rotate(-90deg);
}
circle {
	fill: transparent;
	stroke: #76733E;
	stroke-width: 4;
  opacity: 0;
}
circle._active{
  opacity: 1;
	animation: circle 2s linear;
}

@keyframes circle {
  0% { stroke-dasharray: 0 76; }
  100%,to { stroke-dasharray: 76 76; }
}


/* form */
.form {
  background-color: #fff;
  z-index: 1;
}
.form_inner {
  padding: 48px 0 0;
}
.form_ttl {
  max-width: 300px;
  margin: 0 auto 25px;
}

.phone {
  margin-top: 20px;
}
.phone a:hover {
  background-color: #76733E;
}
.phone_btn {
  display: block;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  width: 80%;
  margin: auto;
  /* line-height: 3; */
  border-radius: 100px;
  background: #111;
  color: #fff;
  font-size: 1rem;
  letter-spacing: 0;
  position: relative;
  padding: 13px 0;
  height: 64px;
  box-shadow: 2px 8px 10px 2px rgba(45, 0, 4, .2);
}
.phone_img {
  max-width: 209px;
  text-align: center;
  margin: auto;
}
.phone_btn span {
  display: block;
  padding-top: 2px;
}

/* client */
.client {
  background-color: #fff;
}
.client_inner {
  padding: 80px 20px 60px;
}
.client_ttl {
  max-width: 194px;
}
.client p {
  text-align: center;
  line-height: 1.5;
  margin-top: 40px;
  letter-spacing: 0;
  font-weight: 900;
}
.client_list {
  padding-top: 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 16px 3%;
}
.client_list_item {
  width: 30%;
  border: 1px solid #ccc;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

/* adviser */
.adviser {
  background-color: #f1f3f5;
}
.adviser_inner {
  padding: 60px 0 0;
}
.adviser_ttl {
  max-width: 230px;
  padding: 0 20px;
}
.adviser p {
  text-align: center;
  line-height: 1.5;
  margin-top: 40px;
  letter-spacing: 0;
  font-weight: 900;
}
.adviser .slider_wrap {
  margin: 20px 0 0 20px;
}
.adviser_list {
  padding-top: 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 16px 3%;
}
.adviser_list_item {
  width: 30%;
  border: 1px solid #ccc;
}
.adviser .slick-list {
  padding: 0 15% 0 0 !important;
}
.adviser .slider .slick-slide{
  margin-right: 20px;
}
.adviser .slider_img {
  position: relative;
}

.adviser .slider_txt {
  margin-top: 16px;
}
.adviser .slider_btn {
  position: absolute;
  right: 6%;
  top: 160px;
  max-width: 45px;
}
.adviser .label {
  display: inline-block;
  padding: 0.3em;
  color: #fff;
  border: 1px solid #76733E;
  color: #76733E;
  font-weight: bold;
  text-align: center;
  font-size: 1.2rem;
}
.adviser .slider_txt p {
  margin-top: 10px;
  text-align: left;
}
.adviser .modal_txt p {
  text-align: left;
  margin-top: 0;
}
.adviser .modal_txt .adviser_txt {
  font-size: 1.8rem;
} 


/* faq */
.faq {
  background-color: #f1f3f5;
}
.faq_inner {
  padding: 80px 20px 60px;
}
.faq_ttl {
  max-width: 136px;
}

/* アコーディオン */
.accordion {
  margin: 40px 0 0;
  width: 100%;
  }
  .accordion_container {
    max-width: 800px;
    margin: 16px auto 0;
    font-size: 1.4rem;
    line-height: 1.5;
  }
  .accordion_container:nth-of-type(1) {
    margin-top: 0;
  }
  .accordion_title {
    background-color: #fff;
    padding: 20px 18% 20px 15%;
    position: relative;
    transition-duration: 0.2s;
    position: relative;
    font-weight: 900;
  }
  .accordion_title::before {
    content: "";
    background-image: url(../img/faq_icon.png);
    background-repeat: no-repeat;
    background-position: bottom;
    background-size: contain;
    width: 31px;
    height: 31px;
    display: block;
    left: 4%;
    top: 50%;
    transform: translateY(-50%);
    position: absolute;
  }
  .accordion_title:hover {
    opacity: 0.8;
  }
  .icon_wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 50%;
    right: 2%;
    width: 40px;
    height: 40px;
    margin-top: -20px;
    box-sizing: border-box;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    transform-origin: center center;
    transition-duration: 0.2s;
  }
  .icon {
    display: block;
    width: 18px;
    height: 18px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    transform-origin: center center;
    transition-duration: 0.2s;
    position: relative;
  }
  .accordion_title.open 
  .icon_wrap {
    -webkit-transform: rotate(-360deg);
    transform: rotate(-360deg);
  }
  .icon:before, .icon:after {
    display: flex;
    content: '';
    background-color: #76733E;
    width: 16px;
    height: 2px;
    position: absolute;
    top: 7px;
    left: 0;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    transform-origin: center center;
  }
  .icon:before {
    width: 2px;
    height: 16px;
    top: 0;
    left: 7px;
  }
  .accordion_title.open 
  .icon_wrap .icon:before {
    content: none;
  }
  .accordion_title.open 
  .icon_wrap .icon:after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  .accordion_inner {
    margin-top: 1px;
    display: none;
    padding: 20px 20px 20px 15%;
    background-color: #fff;
    box-sizing: border-box;
    position: relative;
  }
  .accordion_inner::before {
    content: "";
    background-image: url(../img/faq_icon02.png);
    background-repeat: no-repeat;
    background-position: bottom;
    background-size: contain;
    width: 31px;
    height: 31px;
    display: block;
    left: 4%;
    top: 20px;
    position: absolute;
  }
  .txt_a_ac {
    margin: 0;
    font-weight: 900;
  }
  
  .footer {
    background-color: #000;
    color: #fff;
  }
  .footer_inner {
    padding: 32px 40px 40px;
  }
  .footer_link {
    display: flex;
    justify-content: center;
    gap: 32px;
    padding-top: 40px;
  }
  .footer_logo {
    max-width: 182px;
    margin: auto;
  }
  .footer_banner {
    margin: 0 auto;
    max-width: 300px;
  }
  .copyright {
    font-size: 10px;
    margin-top: 24px;
    text-align: center;
  }



/*------------------------------------------------------------------
 nav --------------------------------------------------------------
------------------------------------------------------------------*/
.nav {
  background: white;
  width: 100%;
  height: 90px;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
  padding: 8px 16px;
}
.nav.nav__fixed {
  position: fixed;
  top: 14px;
  left: 0;
  z-index: 10000;
}
.nav.nav__fixed:before {
  content: '';
  width: 100%;
  height: 40px;
  background: white;
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  -webkit- transform: translateX(-50%);
}
.s .nav {
  display: none;
}
.nav__inner {
  max-width: 1200px;
  width: 100%;
  margin: auto;
  height: 100%;
}
.nav__content {
  width: 100%;
  height: 100%;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.nav__inner ul {
  width: 100%;
  max-width: 847px;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
  height: 100%;
}
.nav__inner ul li {
  height: 100%;
  width: 33.3333%;
  border-left: 2px solid #cad5dc;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
@media screen and (max-width: 900px) {
}
.nav__inner ul li a {
  display: block;
  width: 100%;
}
.nav__inner ul li a img {
  display: block;
  width: 100%;
}

.nav__inner a.nav__05 {
  width: 30.1666%;
  /* position: absolute;
  width: 40%;
  top: 50%;
  right: -8%;
  transform: translateY(-50%);
  -webkit- transform: translateY(-50%); */
}





/*================================================
menu
================================================ */
header {
  z-index: 3;
  background-color: #fff;
  position: fixed;
  width: 100%;
  height: 50px;
  padding-left: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-shadow: 2px 5px 16px 6px rgba(0, 0, 0, .2);
}
@media screen and (min-width: 769px) {
  header {
    display: none;
  }
  .contents {
    margin: 0 auto;
  }
}
.ttl_logo {
  max-width: 58px;
}
.ttl_copy {
  font-size: 1rem;
}
.ttl_copy span {
  display: block;
  font-size: 0.9rem;
}
.menuBtn {
  display: block;
  width: 50px;
  height:50px;
  top: 0;
  right: 0;
  background-color: #000;
}
.menuBtn span {
  display: block;
  background: white;
  width: 28px;
  height: 2px;
  position: absolute;
  left: 11px;
  transition: all 0.2s;
  -webkit-transition: all 0.2s;
  -moz-transition: all 0.2s;
}
.menuBtn span:first-child {
  top: 24%;
}
.menuBtn span:nth-child(2) {
  top: 37%;
}
.menuBtn span:last-child {
  bottom: 44%;
}
.menuBtn span:last-child::after {
  content:"Menu";
  position: absolute;
  top:6px;
  left: -1px;
  font-size: 1.15rem;
  text-transform: uppercase;
  font-family: "Poppins";
  letter-spacing: 0;
}
.menuBtn.-is-active span {
  color: #fff;
  background-color: #fff;
}
.menuBtn.-is-active span:last-child::after {
  content:"Close";
  transform: translateY(0) rotate(-35deg);
  top:12px;
  left:9px;
}
.menuBtn.-is-active span:first-child {
  -webkit-transform: translateY(7px) rotate(-35deg);
  -moz-transform: translateY(7px) rotate(-35deg);
  -ms-transform: translateY(7px) rotate(-35deg);
  transform: translateY(7px) rotate(-35deg);
}
.menuBtn.-is-active span:nth-child(2) {
    opacity: 0;
}
.menuBtn.-is-active span:last-child {
  -webkit-transform: translateY(-8px) rotate(35deg);
  -moz-transform: translateY(-8px) rotate(35deg);
  -ms-transform: translateY(-8px) rotate(35deg);
  transform: translateY(-8px) rotate(35deg);
}
.menuColorScroll.menuBtn span {
  background-color: #111;
  color: #111;
}


.menuInner {
  width: 100vw;
  height: 130vh;
  z-index: 1;

  position: fixed;
  top: -150vh;
  background-color: #fff;
  left: 0;
  background-repeat: repeat;
  background-position: center;
  background-size: contain;
}
.menuInner__wrapper {
  width: 100%;
  height: 100vh;
}
.menuInner__content {
  width: 100%;
  padding: 0 20px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  /* -webkit- transform: translateY(-50%) translateX(-50%); */
}
.menuInner ul {
  margin: 50px 0 50px;
}
.menuInner ul li {
  margin-top: 20px;
  font-size: 4rem;
  border-bottom: 1px solid #ceced0;
  padding: 10px 0;
  font-style: italic;
}
.menuInner ul li a {
  display: block;
  margin: auto;
  width: 100%;
  color: #222;
  padding: 0 20px;
  position: relative;
}
.menuInner ul li a::before {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #ceced0;
  border-right: 2px solid #ceced0;
  display: inline-block;
  transform: translateY(-50%) rotate(45deg);
  position: absolute;
  top: 50%;
  right: 24px;
}
.menuInner ul li a span{
  display: block;
  font-size: 1.6rem;
  margin-top: 8px;
}
.menuInner ul li:hover {
  color: #fff;
  position: relative;
	background: #76733E;
	z-index:1;
}
.menuInner ul li:hover::before {
  position: absolute;
	content: "";
	left: -1px;
	top: -1px;
	width: 0;
	height: 0;
	border-left: solid 20px #fafcfc;
	border-bottom: solid 94px transparent;
	z-index: 2;
}
.menuInner ul li:hover::after {
  position: absolute;
	content: '';
	right: -1px;
	top: 0px;
  border-bottom: none;
	width: 0;
	height: 0;
	border-left: solid 20px transparent;
	border-bottom: solid 94px white;
	z-index: 2;
}
.menuInner ul li:hover a {
  color: #fff;
}
.menuInner ul li:hover a::before {
  border-color: #fff;
}
.menuInner a {
  display: block;
  width: 100%;
}


/* フェードイン */
.fadein {
  opacity: 0;
  transform : translate(0, 50px);
  transition : all 1500ms;
}

.fadein.scrollin{
  opacity: 1;
  transform: translate(0, 0);
}

.slick-arrow:before{
  content:""!important;
  width: 100%!important;
  height: 100%!important;
  position: absolute;
  top: 0;
  left: 0;
}

.slick-next:before{
  background-image: url(../img/arrow.png)!important;
  background-repeat: no-repeat;
  width: 61px;
  height: 61px;
}

/* モーダル */
.modal{
	display: none;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 100;
  }
  .modal__bg{
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background: rgba(0,0,0,0.6);
  }
  .modal__content{
	background: #fff;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%,-50%);
	width: 90%;
	max-width: 520px;
	max-height: 95vh;
	overflow-y: scroll;
  }
  .modal__content{
    line-height: 1.6;
    overflow: visible;
  }
  .modal_txt {
    padding: 12px 16px 20px;
    font-size: 1.4rem;
  }
  .modal_txt p+p {
    padding-top: 10px;
  }
  .modal_txt .voice_txt {
    padding: 0;
  }
  .modal__content .js-modal-close {
    display: block;
    width: 50px;
    height: 50px;
    position: fixed;
    z-index: 100;
    top: -50px;
    right: 0;
  }
  .modal__content .js-modal-close::before {
    content: "";
    -webkit-transform: rotate(-50deg);
    -ms-transform: rotate(-50deg);
    transform: rotate(-50deg);
    position: absolute;
    top: 14px;
    left: 25px;
    width: 2px;
    height: 30px;
    background: #fff;
  }
  .modal__content .js-modal-close::after {
    content: "";
    -webkit-transform: rotate(50deg);
    -ms-transform: rotate(50deg);
    transform: rotate(50deg);
    position: absolute;
    top: 14px;
    left: 25px;
    width: 2px;
    height: 30px;
    background: #fff;
  }

/*================================================
contact
================================================ */

.contact {
  color: #000;
}

.contact_title {
  width: 100%;
  text-align: center;
}
.contact_title h3 {
  font-size: 31px;
  font-weight: bold;
  font-style: italic;
  line-height: 1.4;
}

/* ステップバー */

.contact_step {
  display: flex;
  align-items: center;
  gap: 0 10px;
  margin-top: 10px;
}

.contact_step_gage {
  max-width: 220px;
  width: 100%;
  background: #f1f3f5;
  height: 20px;
  border-radius: 36px;
  overflow: hidden;
  transition: all .3s;

}
.contact_step_gageAction {
  width: 0%;
  background: #76733E;
  height: 100%;
  transition: all .3s;
}

.contact_step_text{
  width: 63px;
  font-size: 14px;
  white-space: nowrap;
}

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


/* 質問 */
.contact_question {
  margin-top: 24px;
}
.contact_question_adviserWrapeer{
  display: flex;
  justify-content: center;
  margin-top: 10px;
  gap: 0 10px;
}

.contact_question_adviser {
  border-radius: 50%;
  max-width: 50px;
  width: 100%;
  height: 50px;
  overflow: hidden;
}
.contact_question_adviser img{
  width: 100%;
  height: 100%;
}

.contact_question_text {
  text-align: start;
  letter-spacing: 0.02em;
  line-height: 1.3;
  padding: 16px 10px;
  border-radius: 8px;
  width: 100%;
  height: 100%;
  background: #fff;
  border: 1px solid #000;
}



.contact_question_listItem {
  background: #f1f3f5;
  margin-top: 10px;
  padding: 20px;
}
.contact_question_listItem_wrapper:nth-of-type(n + 2) {
  margin-top: 20px;
}



.contact_question_listItem_wrapper input[type="text"] {
  width: 100%;
  margin-top: 12px;
  padding: 13px 12px;
  border: 2px solid #ccc;
  border-radius: 4px;
  outline: none;
  position: relative;
  font-size: 14px;
}
.contact_question_listItem_wrapper input[type="text"]::placeholder {
  color: #c4c5c6;
  letter-spacing: 0.05em;
  font-size: 14px;
}

.contact_question_listItem_nameFlex {
  display: flex;
  gap: 0 20px;
}

.contact_question_listItem_wrapper textarea {
  width: 100%;
  margin-top: 12px;
  border: 2px solid #ccc;
  border-radius: 4px;
  padding: 13px 12px;
  height: 75px;
  outline: none;
  resize: none;
  font-size: 14px;
}
.contact_question_listItem_wrapper textarea::placeholder{
  color: #c4c5c6;
  letter-spacing: 0.05em;
  font-size: 14px;
}

.contact_question_listItem_wrapper select {
  width: 100%;
  margin-top: 12px;
  padding: 13px 12px;
  border: 2px solid #ccc;
  border-radius: 4px;
  outline: none;
  position: relative;
  background: #fff;
  color: #000;
  font-size: 14px;
  -webkit-appearance: none;
  appearance: none; 
  
}

._noLabel.contact_question_listItem_wrapper select {
  margin-top: 0;
  font-size: 14px;
}

.contact_question_listItem_birth {
  display: flex;
  align-items: center;
  gap: 4px;
}
.contact_question_listItem_birth {
  margin-top: 12px;
}

.contact_question_listItem_birth select {
  margin-top: 0;
  font-size: 14px;
}
.contact_question_listItem_wrapper_arrow{
  position: relative;
}
.contact_question_listItem_wrapper_arrow::after {
  position: absolute;
  content: "";
  right: 16px;
  top: 55%;
  transform: translate(-50%, -50%);
  width: 10px;
  height: 10px;
  border-top: 2px solid #111;
  border-left: 2px solid #111;
  transform: translateY(-50%) rotate(-135deg);
  pointer-events: none;
}
._noLabel .contact_question_listItem_wrapper_arrow::after {
  top: 45%;
}
.contact_question_listItem_wrapper select::placeholder{
  color: #111;
  letter-spacing: 0.05em;
  font-size: 14px;
}
.contact_question_listItem_wrapper_radio {
  display: flex;
  flex-wrap: wrap;
}
.contact_question_listItem_wrapper_radio_choice {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  text-align: left;
  width: 100%;
}
.contact_question_listItem_wrapper_radio_choice input {
  margin: 20px 10px 0;
}
.contact_question_listItem_wrapper_radio_choice label {
  margin-top: 20px;
}

.contact_question_listItem_wrapper input[type="radio"] {

  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  max-width: 20px;
  width: 100%;
  height: 20px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid #ccc;

  position: relative;
}

.contact_question_listItem_wrapper input[type="radio"]:checked::after {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: "";
  background-color: #007bff;
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

.contact_question_listItem_wrapper input[type="date"] {
  width: 100%;
  margin-top: 12px;
  padding: 13px 12px;
  border: 2px solid #ccc;
  border-radius: 4px;
  outline: none;
  background: #fff;
  color: #000;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;

  position: relative;
}



input[type=date]::-webkit-calendar-picker-indicator {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
}

.contact_terms {
  margin-top: 26px;
}
.contact_terms label{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  line-height: 1.5;

}
.contact_terms_check {
  max-width: 20px;
  width: 100%;
  height: 20px;
  background: #fff;
  outline: none;
  border: 1px solid #ccc;
  border-radius: 4px;

  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;

  position: relative;
}

.contact_terms_check:disabled {
  background: #efefef;
}

.contact_terms_check:checked::after {
  position: absolute;
  top: 25%;
  left: 10%;
  transform: translate(50%, 50%);
  content: "";
  width: 15px;
  height: 7px;
  border-left: 2px solid #76733E;
  border-bottom: 2px solid #76733E;
  transform: rotate(-45deg);
}

.contact_terms label p {
  font-size: 13px;
  letter-spacing: 0.02em;
}
.contact_terms label p span{
  color: #76733E;
  padding-bottom: 5px;
  border-bottom: 1px solid #76733E;
}

.contact_question_listItem_wrapper label{
  display: flex;  
  align-items: center;
  letter-spacing: 0.02em;
  gap: 12px;
}

.contact_thanks_text {
  margin-top: 24px;
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
}

.error_text {
  margin-top: 10px;
  font-size: 12px;
  color: #76733E;
  text-align: left;
}


.contact_question_listItem_university {
  display: flex;
  flex-wrap: wrap;
  margin: 10px auto 0;
  gap: 14px 11px;
}

.contact_question_listItem_university_wrapper {
  display: flex;
}

.contact_question_listItem_university button {
  border: 1px solid #ccc;
  background: #fff;
  border-radius: 50px;
  font-size: 12px;
  font-weight: 400;
  padding: 4px 4px;
  max-width: 16.5%;
  width: 100%;
  color: #000;

  cursor: pointer;
}

.contact_btn {
  width: 100%;
  display: flex;
  margin-top: 24px;
  justify-content: center;
  gap: 15px;
}

.contact_btn button{
  max-width: 200px;
}

.contact_btn_prev{
  border: 2px solid #ccc;
  background: #fff;
  color: #c4c5c6;
  width: 100%;
  border-radius: 4px;
  height: 50px;
  letter-spacing: 0.02em;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;

  position: relative;
}

.contact_btn_prev::after {
  position: absolute;
  content: "";
  top: 50%;
  left: 20px;
  transform: translate(-50%, -50%);

  background: url(../img/contact/prev-arrow.png) no-repeat;
  background-size: contain;
  width: 15px;
  height: 15px;

}

.contact_btn_next {
  width: 100%;
  background: #76733E;
  color: #fff;
  border: none;
  border-radius: 4px;
  height: 50px;
  letter-spacing: 0.02em;
  cursor: pointer;
  font-weight: 600;
  font-size: 16px;
  line-height: 1.3;

  position: relative;
}

.contact_btn_next::after {
  position: absolute;
  content: "";
  top: 50%;
  right: 0px;
  transform: translate(-50%, -50%);

  background: url(../img/contact/next-arrow.png) no-repeat;
  background-size: contain;
  width: 15px;
  height: 15px;
}

.contact_btn_submit {
  width: 100%;
  background: #76733E;
  color: #fff;
  border: none;
  border-radius: 4px;
  height: 50px;
  letter-spacing: 0.02em;
  cursor: pointer;
  font-weight: 600;
  font-size: 16px;
  line-height: 1.3;
}

.contact_type {
  display: flex;
  flex-wrap: wrap;
}
.contact_type button {
  border: none;
  background: #fff;
  color: #fff;
  font-weight: bold;
  transition: all .3s;
}



.contact_modal{
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 100000;
	background: rgba(0,0,0,0.6);
}

.contact_modal_closebar1{
  position: absolute;
  left: 50%;
  width: 2px;
  height: 100%;
  background: #fff;
  transform: rotate(45deg);
}
.contact_modal_closebar2{
  position: absolute;
  left: 50%;
  width: 2px;
  height: 100%;
  background: #fff;
  transform: rotate(-45deg);
}

.contact_modal_content {
	position: fixed;

  background: #fff;
  width: 360px;
  height: 533px;

  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
	z-index: 100001;
  padding: 20px;

  overflow: hidden;
}

.contact_modal_content_text{
  text-align: center;
}

.contact_modal_content_list {
  margin-top: 20px;
  height: 380px;
  overflow-y: auto;
}

.contact_modal_content_listItem {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.contact_modal_content_listItem label{
  display: flex;
  align-items: center;
  gap: 4px;
  width: 46.5%;
}
.contact_modal_content_listItem label p{
  font-size: 14px;
}
.contact_modal_content_listItem label input[type="radio"]{
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  max-width: 20px;
  width: 100%;
  height: 20px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid #ccc;

  position: relative;
}
.contact_modal_content_listItem label input[type="radio"]:checked::after {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: "";
  background-color: #007bff;
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

/* 共通 */
.none {
  display: none;
}
._disabled {
  cursor: auto;
  pointer-events: none;
}
.linkDisabled {
  cursor: auto;
  pointer-events: none;
  background: #d9d9d9;
}
/* モーダルボタン */
.modal_btn {
  display: block;
  text-align: center;
  /* vertical-align: middle; */
  text-decoration: none;
  width: 50%;
  margin: 20px auto 0;
  line-height: 1;
  border-radius: 4px;
  background: #111;
  color: #fff;
  font-size: 1.6rem;
  letter-spacing: 0;
  position: relative;
  padding: 13px 0;
  height: 45px;
  box-shadow: 2px 8px 10px 2px rgba(45, 0, 4, .2);
}
.modal_btn:after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  display: inline-block;
  transform: translateY(-50%) rotate(45deg);
  position: absolute;
  top: 50%;
  right: 18px;
}
/* スマホサイズ（デフォルトのサイズ） */
@media (max-width: 768px) {
  .modal-image {
      max-width: 80%;
      max-height: 80%;
  }
}

/* PCサイズ（幅768px以上）の時は画像サイズを半分に */
@media (min-width: 769px) {
  .modal-image {
      max-width: 40%;
      max-height: 40%;
  }
}