body{
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  --gf1: Sora;
  --gf2: "Noto Serif JP";
  --bg1: #0a1836;
  --subclr:#c8d2e3;
  background: #060D22;
}

h1,h2,h3,h4{
  font-weight: 500;
}

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

@media (max-width: 1024px){
  .pc{ display: none !important;}
  .sp{ display: block !important;}
}

@media (max-width: 1024px){
  body{
    --scale: .8;
  }
}

.wrap2{
  max-width: 1480px;
  margin: 0 auto;
  width: calc(100% - 100px);
}

@media screen and (max-width: 1024px) {
  .wrap2 {
    width: calc(100% - 40px);
  }

}

.wrap1{
  max-width: 1100px;
  margin: 0 auto;
}

.icon img{
	vertical-align: middle;
  width: var(--w);
}

.headline_l.left{
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}

.headline_l{
  text-align: center;
  margin-bottom: 40px;
}

.headline_l .en>span{
  position: relative;
  display: inline-block;
  font-family: var(--gf1);
  font-weight: normal;
  font-size: 1.2rem;
  letter-spacing: 0.27em;
  line-height: 40px;
  text-align: left;
  color: #3b6fcc;
  padding: 0 88px;
}

.headline_l .en>span::after,
.headline_l .en>span::before{
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 73px;
  height: 1px;
  background: linear-gradient(
    90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.9) 50%,
    rgba(255,255,255,0) 100%
  );
}

.headline_l.left .en>span::after{
  display: none;
}

.headline_l .en>span::after{
  right: 0;
  left: auto;
}

.headline_l .jp{
  font-family: "Noto Serif JP";
  font-weight: 500;
  font-size: 4rem;
  color: #fff;
}
@media screen and (max-width: 1280px) {
  .headline_l .jp {
    font-size: clamp(2rem, 3vw, 4rem);
  }
}

@media screen and (max-width: 1024px) {
  .headline_l {
    margin-bottom: 25px;
  }

  .headline_l .en>span{
    font-size: clamp(1.2rem,2.2vw,2rem);
  }

  .headline_l .jp {
    font-size: clamp(3rem, 6vw, 5rem);
  }
}

/*見出し中*/
.headline_m{
	position: relative;
	margin-bottom: 20px;
	padding-left: 15px;
	font-family: var(--gf2);
	font-weight: 500;
	font-size: 2.4rem;
  line-height: 1.2;
}

.headline_m::before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 5px;
	height: 100%;
	background: #3b6fcc;
}
@media screen and (max-width: 1024px) {

  .headline_m {
    font-size: clamp(2rem, 4vw, 2.6rem);
  }
}

.main_catch{
  color: var(--subclr);
  font-weight: normal;
  font-size: 1.8rem;
  line-height: 40px;
  text-align: center;
}
@media screen and (max-width: 1024px) {

  .main_catch {
    font-size: clamp(1.4rem, 3vw, 1.8rem);
    line-height: calc(28 / 14);
  }

}

/*SNSなどボタン*/
.buttons {
  display: flex;
  gap: 15px;
}

.buttons>.btn{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 180px;
  height: 45px;
  border-radius: 3px;
  background:   url(../../top/images/icon_line.svg) no-repeat 10px 50% / 22px,
  linear-gradient(#06c755 0%, #05a145 100%);
  color: #fff;
  border: 1px solid #7fe5a9;
  font-size: 1.4rem;
  font-weight: 700;
  padding-left: 10px;
}

.buttons>.btn::after{
  content: "";
  position: absolute;
  top: 50%;
  right: 14px;
  width: 6px;
  height: 6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
}

.buttons>.btn.btn2{
  background: url(../../top/images/icon_net.svg) no-repeat 10px 50% / 24px,
  linear-gradient(#2d5fbb 0%, #17479c 100%);
  border: 1px solid #6490e1;
}

.buttons>.btn.btn3{
  background: linear-gradient(#132350 0%, #060d22 100%);
  border: 1px solid #314170;
  padding-left: 0;
}
@media screen and (max-width: 768px) {
  .buttons {
    flex-direction: column;
    gap: 15px;
    align-items: center;
  }

  .buttons>.btn{
    width: 58.66%;
    height: auto;
    aspect-ratio: 180 / 45;
    color: #fff;
    border-radius: 3px;
    font-size: 1.4rem;
    font-size: clamp(1.4rem,3vw,1.8rem);
  }
}

/*
header2
*/
.header2{
  position: sticky;
  left:0;
  top:0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 110px;
  padding: 0 30px;
  z-index: 100;
}

.header2.bg{
  background: #060D22;
}

.header2 a.logo{
  max-width: 212px;
}

.header2 a.logo img{
  width: 100%;
  display: block;
}


.header2 nav{
  display: flex;
  align-items: center;
  margin-left: auto;
}

.header2 nav .menu{
  display: flex;
  align-items: center;
}

.header2 nav .menu>li>a{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0 1vw;
  text-align: center;
}

.header2 nav .menu>li>a strong{
  display: block;
  font-size: min(0.8vw, 1.8rem);
  color: #fff;
  line-height: 1.2;
  margin-bottom: 10px;
  font-family: var(--gf1);
  white-space: nowrap;
}

.header2 nav .menu>li>a span{
  display: block;
  font-family: Sora;
  font-weight: normal;
  font-size: min(0.6vw, 1.4rem);
  letter-spacing: 0.27em;
  line-height: 1;
  font-family: var(--gf1);
  white-space: nowrap;
  color: #3b6fcc;
}

.header2 nav .buttons {
  width: 375px;
  margin-left: 10px;
}

.header2 nav .buttons>.btn3{
  display: none;
}

@media screen and (max-width: 1600px) {
  .header2 nav .menu>li>a {
    padding: 0 0.5vw;
  }

  .header2 {
    padding: 0 20px;
  }

  .header2 nav {
    padding-left: 1vw;
  }
}
@media screen and (max-width: 1200px) {

  .header2 nav {
    position: fixed;
    right:0;
    top:0;
    width: 264px;
    display: block;
    height: 100dvh;
    padding: 84px 22px;
    background: #0A1836;
    overflow: scroll;
    margin-right: -264px;
    transition: margin-right 0.19s ease;
  }

  .header2.active nav {
    margin-right: 0px;
  }

  .header2 nav .menu{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 24px;
  }

  .header2 nav .menu>li>a{
    display: block;
    padding: 1rem;
    text-align: left;
  }

  .header2 nav .menu>li>a strong{
    display: block;
    font-size: clamp(1.4rem,3vw,1.6rem);
    color: #fff;
    line-height: 1.2;
    margin-bottom: 10px;
    font-family: var(--gf1);
    white-space: nowrap;
  }

  .header2 nav .menu>li>a span{
    display: block;
    font-family: Sora;
    font-weight: normal;
    font-size: clamp(1rem,2vw,1.3rem);
    letter-spacing: 0.27em;
    line-height: 1;
    font-family: var(--gf1);
    white-space: nowrap;
    color: #3b6fcc;
  }

  .header2 nav .buttons {
    width: 100%;
    margin-left: 0px;
    flex-direction: column;
    gap:15px;
  }

  .header2 nav .buttons>.btn {
    width: 220px;
  }

  .header2 nav .buttons>.btn3{
    display:flex;
  }

}
/**/
.header2 #menu_button{
  display: none;
}


@media screen and (max-width: 1200px) {

  /*メニューボタン*/
  .header2 #menu_button {
    position: absolute;
    right: 20px;
    top: auto;
    width: 42px;
    height: 42px;
    background: #0f244d;
    border: 1px solid #496294;
    border-radius: 4px;

    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1010;
    caret-color: transparent;
  }

  .header2 #menu_button:focus,
  .header2 #menu_button:active{
    outline: none;
    box-shadow: none;
  }

  /* ボタン枠 */
  .header2 #menu_button > div{
    position: relative;
    width: 27px;
    height: 16px;
  }

  /* 線 */
  .header2 #menu_button > div > div{
    position: absolute;
    width: 100%;
    height: 2px;
    background: #3b6fcc;
    left: 0;
    transition: all .3s ease;
  }

  header.active #menu_button > div > div{
    background: #3b6fcc !important;
  }

  /* 上 */
  .header2 #menu_button > div > div:nth-child(1){
    top: 0;
  }

  /* 中 */
  .header2 #menu_button > div > div:nth-child(2){
    top: 50%;
    transform: translateY(-50%);
  }

  /* 下 */
  .header2 #menu_button > div > div:nth-child(3){
    top: 100%;
    transform: translateY(-100%);
  }

  header.active #menu_button > div > div:nth-child(1){
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
  }

  header.active #menu_button > div > div:nth-child(2){
    opacity: 0;
  }

  header.active #menu_button > div > div:nth-child(3){
    top: 50%;
    transform: translateY(-50%) rotate(-45deg);
  }

}
@media screen and (max-width: 1024px) {
  .header2{
    height: 65px;
    width: 100%;
  }

  .header2 .logo{
    width: 147px;
  }
}


.footer2{
  position: relative;
  padding-top: 50px;
  padding-bottom: 50px;
  border-top: 1px solid #2D3A56;
  background: #060d22;
}


.footer2 #pagetop.stop{
	position: absolute;
	bottom: calc(100% + 30px);
}

.footer2 #pagetop{
  position: fixed;
  width: 71px;
  height: 71px;
	right: 30px;
	bottom: 30px;
  background: #0f244d;
  border: 1px solid #496294;
  border-radius: 4px;
}

.footer2 #pagetop a{
  display: block;
  width: 100%;
  height: 100%;
}

.footer2 #pagetop img{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
@media screen and (max-width: 700px) {
  .footer2 #pagetop{
    width: 50px;
    height: 50px;
    right: 15px;
    bottom: 15px;
  }
  .footer2 #pagetop img{
    width: 45%;
  }
}

.footer2 .row{
	display: flex;
  justify-content: space-between;
}

.footer2 .row .box1 .logo{
  width: 212px;
  display: block;
  margin-bottom: 25px;
}

.footer2 .row .box1 .msg {
    font-size: clamp(1.4rem, 1.2vw, 1.8rem);
    line-height: 2.2;
    color: var(--subclr);
}

.footer2 .row .box2{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-end;
}

.footer2 .row .box2 .menu{
	display: flex;
	gap:1.5em;
}

.footer2 .row .box2 .menu li a{
	font-size:1.6rem;
  font-size: clamp(1.2rem, 1.2vw, 1.6rem);
	color:var(--subclr);
}

.footer2 .row .box2 .info{
	text-align:right;
}

.footer2 .row .box2 .info .admit{
  font-size: 1.4rem;
  font-size: clamp(1.1rem, 1.1vw, 1.4rem);
}

.footer2 .row .box2 .info .copy{
  font-size: 1.4rem;
  font-size: clamp(1.1rem, 1.1vw, 1.4rem);
}

@media (max-width: 1024px){
  .footer2 .row {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 45px;
  }

  .footer2 .row .box1{
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .footer2 .row .box1 .logo{
    margin: 0 auto 25px;
    min-width: 212px;
    max-width: none;
    width: 50%;
  }

  .footer2 .row .box1 .msg {
    font-size: clamp(1.2rem, 3vw ,1.4rem);
    animation: 0px;
    line-height: 1.8;
    text-align: left;
  }


  .footer2 .row .box1 .msg br{
    display: none;
  }

  .footer2 .row .box2{
    align-items: center;
    gap: 0px;
  }

  .footer2 .row .box2 .menu{
    flex-direction: column;
    align-items: center;
    gap: 24px;
    margin-bottom: 60px;
  }

  .footer2 .row .box2 .menu li a{
     font-size: clamp(1.6rem, 4vw ,1.8rem);
  }

  .footer2 .row .box2 .info{
    text-align: center;
  }

  .footer2 .row .box2 .info .admit{
    margin-bottom: 12px;
  }

  .footer2 .row .box2 .info .admit{
    font-size: clamp(1.2rem, 3vw ,1.4rem);
  }

  .footer2 .row .box2 .info .copy{
    font-size: clamp(1.2rem, 3vw ,1.4rem);
  }

}

.top_container{
  padding-top: 0px;
}

/*
トップページ
*/

/* main_visual */

.bg1{
  position:fixed;
  inset:0;
  z-index:-1;
  overflow:hidden;
  top:110px;
  height: calc(100vh - 110px);
}
/* .bg1 .ly_bg img{
  position:absolute;
  top:0;
  left:50%;
  width:1920px;
  height:auto;
  transform:translateX(-50%);
} */
.bg1 .ly_bg {
  height: 100%;
}
.bg1 .ly_bg img{
	width:100%;
	height:100%;
	left:0;
	object-fit:cover;
	transform-origin:center 90%;
	animation:bgFloat 12s ease-in-out infinite;
}

#back_layer{
  position: fixed;
  width: 100%;
  height: 100dvh;
  background: #060d22;
  opacity: 0.7;
  display: none;
}

@keyframes bgFloat{
	0%{
		transform:translateY(0) scale(1);
	}
	40%{
		transform:translateY(0px) scale(1.01);
	}
	50%{
		transform:translateY(3) scale(1.03);
	}
	75%{
		transform:translateY(5px) scale(1.01);
	}
	100%{
		transform:translateY(0) scale(1);
	}
}


.bg1 .ly_eirth {
  position: absolute;
  top: 51%;
  right: calc(50% - 723px);
  max-width: 595px;
  transform: translateY(-50%);
}

.bg1 .ly_eirth img{
  display:block;
  width:100%;
  height:auto;
  transform-origin:center;
  animation:spin 80s linear infinite;
  will-change:transform;
}

@keyframes spin{
  from{
    transform:rotate(0deg);
  }
  to{
    transform:rotate(360deg);
  }
}
@media screen and (max-width: 768px) {
  .bg1 .ly_eirth {
    position: absolute;
    top: 51%;
    right: -21%;
    max-width: 574px;
    transform: translateY(-50%);
    width: 69.8%;
  }
}

/*セクション：ヘッド*/
.top_section_head{
  position: relative;
  padding-top: 60px;
}

.top_section_head .scroll_box{
  position:relative;
  z-index:2;
  display:flex;
  justify-content:center;
  font-family:var(--gf1);
  font-size:1.2rem;
  letter-spacing:.27em;
  line-height:3.33;
  color:var(--subclr);
}

.top_section_head .scroll_box .inr{
  position:relative;
  padding-bottom:30px;
}

.top_section_head .scroll_box .inr::after{
  content:"";
  position:absolute;
  bottom:0;
  left:50%;
  transform:translateX(-50%) rotate(90deg);
  width:48px;
  height:1px;
  background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.9) 50%,rgba(255,255,255,0) 100%);
}

.top_section_head .row1{
  display:flex;
}

.top_section_head .row1 .box1{}

.top_section_head .row1 .box1 .headline{
  margin-bottom:38px;
}

.top_section_head .row1 .box1 .headline .en{
  position:relative;
  padding-left:88px;
  font-family:var(--gf1);
  font-size:1.2rem;
  letter-spacing:.27em;
  line-height:3.33;
  color:#3b6fcc;
}

.top_section_head .row1 .box1 .headline .en::after{
  content:"";
  position:absolute;
  top:50%;
  left:0;
  transform:translateY(-50%);
  width:73px;
  height:1px;
  background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.9) 50%,rgba(255,255,255,0) 100%);
}

.top_section_head .row1 .box1 .headline .ttl{
  font-family:var(--gf2);
  font-weight:500;
  font-size:6.6rem;
}

.top_section_head .row1 .box1 .msg{
  margin-bottom:30px;
  font-size:1.8rem;
  line-height:2.22;
}

.top_section_head .row2{
  width:100%;
  margin:67px 0 45px;
}

.top_section_head .row2 .info_list{
  display:flex;
  justify-content:center;
  gap:15px;
}

.top_section_head .row2 .info_list>li{
  min-width:330px;
  min-height:139px;
  background:#060d22;
  border:1px solid #2d3953;
  border-radius:4px;
  text-align:center;
}

.top_section_head .row2 .info_list>li .head{
  padding:.5em;
  background:#0c1a39;
  border-bottom:1px solid #2d3953;
  border-radius:7px 7px 0 0;
  font-weight:500;
  font-size:1.6rem;
  color:#3b6fcc;
}

.top_section_head .row2 .info_list>li .value{
  display:flex;
  justify-content:center;
  align-items:baseline;
  gap:10px;
  margin:15px 0 10px;
}

.top_section_head .row2 .info_list>li .value span{
  font-family:var(--gf2);
  font-weight:500;
  font-size:3rem;
  line-height:1.33;
}

.top_section_head .row2 .info_list>li .value strong{
  font-family:var(--gf2);
  font-weight:500;
  font-size:4rem;
  line-height:1;
}

.top_section_head .row2 .info_list>li .note{
  font-weight:500;
  font-size:1.2rem;
  color:var(--subclr);
  text-align:center;
}
@media screen and (max-width: 1024px) {
  .top_section_head .row1 {
    display: flex;
    justify-content: center;
    max-width: 576px;
    margin: 0 auto;
  }

  .top_section_head .row1 .box1 .msg {
    margin-bottom: 30px;
    font-size: 1.6rem;
    max-width: 576px;
  }

  .top_section_head .row1 .box1 .headline .en{
    position:relative;
    padding-left:50px;
    font-family:var(--gf1);
    font-size:1.2rem;
    line-height: 1.3;
  }

  .top_section_head .row1 .box1 .headline .en::after{
    top:50%;
    left:0;
    width:43px;
    height:1px;
  }

  .top_section_head .row2{
    max-width: 576px;
    margin: 45px auto 0;
  }

  .top_section_head .row2 .info_list{
    display:flex;
    flex-direction:column;
    gap:20px;
  }

  .top_section_head .row2 .info_list>li {
    border-radius: 7px;
    min-height: 0;
  }

  .top_section_head .row2 .info_list>li .head{
    font-size:1.6rem;
    font-size:clamp(1.6rem,5vw,1.8rem);
  }

  .top_section_head .row2 .info_list>li .value {
    display: flex;
    gap: 10px;
    margin: 3em 0 0.5em;
    font-size: 1vw;
  }

  .top_section_head .row2 .info_list>li .value span{
    font-size:clamp(3rem,8vw,4rem);
  }


  .top_section_head .row2 .info_list>li .value strong{
    font-size:clamp(4rem,7vw,5rem);
  }

  .top_section_head .row2 .info_list>li .note {
    font-size:clamp(1.2rem,3.5vw,1.5rem);
    padding: 0.25em 0 1em;

  }

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

  .top_section_head .row1 .box1 .headline .en {
    font-size: clamp(1.2rem,4vw,1.6rem);
    margin-bottom: 0.5em;
  }

  .top_section_head .row1 .box1 .headline .ttl  {
    font-size: clamp(3.9rem,10vw,6.6rem);
  }

  .top_section_head .row1 .box1 .msg {
    margin-bottom: 30px;
    font-size: 1.8rem;
    font-size: clamp(1.6rem,4.5vw,2rem);
  }

  .top_section_head .row2 .info_list>li{
    min-width: 0;
  }
}

/* SERVICE */
.top_section_service{
	padding-top: 257px;
	padding-bottom: 100px;
  display: block;
}

.top_section_service .row{
	display: flex;
	gap: 30px;
  justify-content: space-between;
}

.top_section_service .row .box1{
  width: 40%;
}

.top_section_service .row .box2{
  width: 57%;
}

.top_section_service .row .box2 .msg1,
.top_section_service .row .box2 .msg2{
  margin-bottom: 42px;
  font-size: 1.8rem;
  line-height: 2.2;
}

.top_section_service .row .box2 .service_list{
	display: flex;
  flex-wrap:wrap;
	gap:16px 2%;
}

.top_section_service .row .box2 .service_list > .box{
	width: 49%;
	aspect-ratio: 412 / 132;
	padding: 20px 26px 26px;
	border-radius: 4px;
	background: linear-gradient(#0b1937 0%, #08132c 100%);
	border: 1px solid #2d3a56;
}

.top_section_service .row .box2 .service_list>.box .ttl{
	display: flex;
  align-items: center;
	margin-bottom: 7px;
}

.top_section_service .row .box2 .service_list>.box .ttl .icon{
	width: 41px;
  padding-top: 2px;
}

.top_section_service .row .box2 .service_list>.box .ttl .text{
	font-family: var(--gf2);
	font-weight: 500;
	font-size: 2.4rem;
}

.top_section_service .row .box2 .service_list>.box .msg{
	font-size: 1.4rem;
    line-height: 1.85;
}

@media screen and (max-width: 1500px) {
  .top_section_service .row {
    grid-template-columns: 40% 60%;
    gap: 30px;
  }
}

@media screen and (max-width: 1024px) {
  .top_section_service{
    padding-top: 85px;
    padding-bottom: 0px;
  }

  .top_section_service .row{
    display:block;
  }

  .top_section_service .row .box2 .msg1,
  .top_section_service .row .box2 .msg2{
    margin-bottom:30px;
    font-size:clamp(1.4rem,4vw,1.8rem);
  }

  .top_section_service .row .box1{
    width: 100%;
  }

  .top_section_service .row .box2{
    width: 100%;
  }

  .top_section_service .row .box2 .service_list{
    display:flex;
    flex-direction:column;
    gap:15px;
  }

  .top_section_service .row .box2 .service_list>.box{
    width:100%;
    padding:18px;
    aspect-ratio: auto;
  }

  .top_section_service .row .box2 .service_list>.box .ttl .icon{
    width:32px;
  }

  .top_section_service .row .box2 .service_list>.box .ttl .text{
    font-size:calc(1.4rem,6vw,1.7rem);
  }

  .top_section_service .row .box2 .service_list>.box .msg{
    font-size:1.3rem;
  }
}

/*
CATEGORIES
*/
.top_section_categories{
	padding-top: 100px;
	padding-bottom: 100px;
  display: block;
}

.top_section_categories .categories_list{
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 31px;
  margin-top: 70px;
}

.top_section_categories .categories_box{
	padding: 32px 34px 36px;
	border: 1px solid #2d3a56;
	border-radius: 4px;
	background: linear-gradient(#0b1937 0%, #08132c 100%);
}

.top_section_categories .categories_box .head{
	display: grid;
	grid-template-columns: 71px 1fr;
	gap: 26px;
	margin-bottom: 29px;
  align-items: center;
}

.top_section_categories .categories_box .head .icon{
	width: 71px;
	height: 71px;
  border-radius: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #496294;
	background: #0f244d;
}

.top_section_categories .categories_box .head .ttl{
	font-family: var(--gf2);
	font-weight: 500;
	font-size: 2.4rem;
	color: #fff;
}

.top_section_categories .categories_box .msg {
  font-family: var(--gf1);
  font-size: 1.4rem;
  line-height: 1.857;
  color: #c8d2e3;
  letter-spacing: -0.05em;
  margin-bottom: 35px;
}

.top_section_categories .categories_box .brand_box{
	padding-top: 18px;
	border-top: 1px solid #293652;
  align-items: center;
}

.top_section_categories .categories_box .brand_box>.ttl{
	font-size: 1.2rem;
	color: #fff;
  margin-bottom: 10px;
}

.top_section_categories .categories_box .brand_box .tag_list{
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}

.top_section_categories .categories_box .brand_box .tag_list>li{
  font-family:var(--gf1);
  padding: 3px;
  padding-left: 0.5em;
  padding-right: 0.5em;
	font-family: Sora;
	font-size: 1.2rem;
  line-height: 1;
	color: #fff;
	border-radius: 2px;
	background: #3b6fcc;
}
@media screen and (max-width: 1500px) {

  .top_section_categories .categories_list{
    gap: 1.5vw;
  }

  .top_section_categories .categories_box .head {
    display: grid;
    grid-template-columns: 5em 1fr;
    gap: 1.2vw;
  }

  .top_section_categories .categories_box .head .icon {
    width: 5em;
    height: auto;
    aspect-ratio: 1;
  }

  .top_section_categories .categories_box .head .icon img{
    width: calc(var(--w) * 0.8);
  }

  .top_section_categories .categories_box .head .ttl {
    font-size: min(1.4vw, 2.4rem);
  }
}
@media screen and (max-width: 1024px) {

  .top_section_categories{
    padding-top: 60px;
    padding-bottom: 70px;
  }

  .top_section_categories .categories_list{
    gap: 1.5vw;
    display: block;
    margin-top: 40px;
  }

  .top_section_categories .categories_box {
    padding: 20px;
    margin-bottom: 25px;
  }

  .top_section_categories .categories_box .head {
    display: grid;
    grid-template-columns: 5em 1fr;
    gap: 1.2vw;
    margin-bottom: 15px;
  }


  .top_section_categories .categories_box .head .icon {
    width: 5em;
    height: auto;
    aspect-ratio: 1;
  }

  .top_section_categories .categories_box .head .icon img{
    width: calc(var(--w) * 0.8);
  }

  .top_section_categories .categories_box .head .ttl {
    font-size: clamp(1.9rem,4vw, 2.4rem);
    padding-left: 13px;
  }

  .top_section_categories .categories_box .msg {
    font-size: clamp(1.2rem,3vw, 1.4rem);
    margin-bottom: 20px;
    letter-spacing: 0;
  }

}

/* FLOW */
.top_section_flow{
  padding-top: 100px;
	padding-bottom: 210px;
  display: block;
}

.top_section_flow .flow_list>li{
  position: relative;
  display: grid;
  max-width: 1100px;
  margin: 0 auto;
  grid-template-columns: 89px 1fr;
  gap: 30px;
}

.top_section_flow .flow_list>li>.icon{
	width: 89px;
	aspect-ratio: 1;
  background: linear-gradient(#0f244d 0%, #07142e 100%);
  border: 1px solid #496294;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 80px;
}

.top_section_flow .flow_list>li>.icon img{
	vertical-align: middle;
}

.top_section_flow .flow_list>li>.bar{
  position: absolute;
  right:0;
  bottom:0;
  position: absolute;
  top: 125px;
  left: 20px;
  transform: rotate(90deg);
  width: 48px;
  height: 1px;
  background: linear-gradient(
    90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.9) 50%,
    rgba(255,255,255,0) 100%
  );
}


.top_section_flow .flow_list>li>.box .step{
	font-family: var(--gf1);
	font-size: 1.2rem;
	letter-spacing: 0.27em;
	line-height: 1;
	color: #3b6fcc;
  margin-bottom: 0.2em;
}

.top_section_flow .flow_list>li>.box .ttl{
  font-size: 2.4rem;
  font-weight: 500;
	margin-bottom: 0px;
  font-family: var(--gf2);
}

.top_section_flow .flow_list>li>.box .msg{
  font-size: 1.6rem;
  color: var(--subclr);
	line-height: 2;
}
@media screen and (max-width: 1024px) {
  .top_section_flow {
    padding-top: 0px;
    padding-bottom: 30px;
  }

  .top_section_flow .flow_list>li{
    margin:0 auto 50px;
    display: flex;
    gap:15px;
  }

  .top_section_flow .flow_list>li>.icon{
    width:60px;
    margin:0 auto 20px;
    align-self: flex-start;
  }

  .top_section_flow .flow_list>li>.bar {
    width: 1px;
    height: calc(100% - 30px);
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, #fff 47.28%, rgba(255, 255, 255, 0) 100%);
    top: 66px;
    left: 30px;
    transform: rotate(0);
  }

  .top_section_flow .flow_list>li>.box{
    width: calc(100% - 60px - 15px);
  }

  .top_section_flow .flow_list>li>.box .step{
    font-size:1.2rem;
    margin-bottom: 0.2em;
    display: block;
  }

  .top_section_flow .flow_list>li>.box .ttl{
    font-size: calc(2rem, 4vw, 2.6rem);
    margin-bottom: 0.5em;
  }

  .top_section_flow .flow_list>li>.box .msg{
    font-size:1.6rem;
    font-size: calc(1.6rem, 3vw, 2rem);
  }
}

/* SCHEDULE */
.top_section_schedule{
	padding-top: 120px;
	padding-bottom: 120px;
  background: var(--bg1);
  display: block;
}

.top_section_schedule .main_catch{
  text-align: left;
  margin-bottom: 0px;
}

.top_section_schedule .row{
	display: flex;
  justify-content: space-between;
	gap: 30px;
}

.top_section_schedule .row .box1{
  width: 40%;
}

.top_section_schedule .row .box2{
  width: 57%;
}

.top_section_schedule .row .box2 .schedule_list{
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 16px;
}

.top_section_schedule .row .box2 .schedule_list{
	display: flex;
  flex-wrap:wrap;
	gap:16px 2%;
}

.top_section_schedule .row .box2 .schedule_list> .box{
	width: 49%;
	height: auto;
  aspect-ratio: 412 / 132;
	padding: 20px 26px 26px;
	border-radius: 4px;
	background: linear-gradient(#0b1937 0%, #08132c 100%);
	border: 1px solid #2d3a56;
}

.top_section_schedule .row .box2 .schedule_list>.box .ttl{
	display: flex;
  align-items: center;
	margin-bottom: 7px;
}

.top_section_schedule .row .box2 .schedule_list>.box .ttl .icon{
	width: 41px;
  padding-top: 2px;
}

.top_section_schedule .row .box2 .schedule_list>.box .ttl .icon img{
	vertical-align: middle;
}

.top_section_schedule .row .box2 .schedule_list>.box .ttl .text{
	/*font-family: var(--gf2);*/
	font-weight: 500;
	font-size: 1.6rem;
}

.top_section_schedule .row .box2 .schedule_list>.box .msg{
	font-family: var(--gf2);
	font-weight: 500;
  white-space: nowrap;
	font-size:min(1.6vw, 24px);
}

@media screen and (max-width: 1300px) {
  .top_section_schedule .row {
    grid-template-columns: 400px 1fr;
    gap: 30px;
  }


}
@media screen and (max-width: 1024px) {
  .top_section_schedule {
    padding-top: 58px;
    padding-bottom: 70px;
  }

  .top_section_schedule .row{
    display:block;
  }

  .top_section_schedule .row .box2 .msg1,
  .top_section_schedule .row .box2 .msg2{
    margin-bottom:30px;
    font-size:clamp(1.4rem,4vw,1.8rem);
  }

  .top_section_schedule .row .box1{
    width: 100%;
    margin-bottom: 30px;
  }

  .top_section_schedule .row .box2{
    width: 100%;
  }

  .top_section_schedule .row .box2 .schedule_list{
    display:flex;
    flex-direction:column;
    gap:15px;
  }

  .top_section_schedule .row .box2 .schedule_list>.box{
    width:100%;
    padding:18px;
    aspect-ratio: auto;
  }

  .top_section_schedule .row .box2 .schedule_list>.box .ttl .icon{
    width:32px;
  }

  .top_section_schedule .row .box2 .schedule_list>.box .ttl .text{
    font-size:clamp(1.4rem,6vw,1.7rem);
  }

  .top_section_schedule .row .box2 .schedule_list>.box .msg{
    font-size:clamp(2rem, 5vw, 2.4rem);
  }
}

/* FEE */
.top_section_fee{
  display: block;
	padding-top: 140px;
	padding-bottom: 240px;
}

.top_section_fee .main_catch{
	margin-bottom: 100px;
}

.top_section_fee .row{
	display: grid;
  max-width: 1100px;
  margin: auto;
	grid-template-columns: 340px 1fr;
	gap: 107px;
}

.top_section_fee .row>.box1{
	width: 340px;
	height: 339px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 4px;
	background: linear-gradient(#0b1937 0%, #08132c 100%);
	border: 1px solid #2d3a56;
	text-align: center;
}

.top_section_fee .row>.box1 .inr em{
	font-weight: 500;
	font-size: 16px;
	text-align: center;
	color: #3b6fcc;
}

.top_section_fee .row>.box1 .inr .rate{
	margin-bottom: 5px;
  display: flex;
  gap:1em;
  justify-content: center;
  align-items: baseline;
}

.top_section_fee .row>.box1 .inr .rate span{
	font-family: var(--gf2);
	font-weight: 500;
	font-size: 38px;
}

.top_section_fee .row>.box1 .inr .rate strong{
	font-family: var(--gf2);
	font-weight: 500;
	font-size: 50px;
}

.top_section_fee .row>.box1 .inr .msg{
	font-weight: 500;
	font-size: 12px;
	color: var(--subclr);
}

.top_section_fee .row>.box2 .fee_list{
	display: flex;
	flex-direction: column;
	gap: 13px;
}

.top_section_fee .row>.box2 .fee_list>li{
	position: relative;
	padding: 7px 20px 7px 40px;
	background: var(--bg1);
  font-size: 1.8rem;
  line-height: 1.778;
}

.top_section_fee .row>.box2 .fee_list>li::before {
  content: '';
  position: absolute;
  top: 17px;
  left: 13px;
  width: 16px;
  height: 11px;
  background: url(../../top/images/icon_check2.svg) no-repeat 50% 50% / 100%;
}

@media screen and (max-width: 1500px) {
  .top_section_fee .row {
    gap: 4vw;
  }
}
@media screen and (max-width: 1024px) {
  .top_section_fee {
    display: block;
    padding-top: 70px;
    padding-bottom: 70px;
  }

  .top_section_fee .main_catch {
    margin-bottom: 30px;
  }

  .top_section_fee .row{
    display:block;
  }

  .top_section_fee .row>.box1{
    width:100%;
    aspect-ratio: auto;
    height: auto;
    padding: 25px 0 40px;
    margin-bottom:40px;
  }

  .top_section_fee .row>.box1 .inr em{
    font-size:clamp(1.6rem,3vw,1.8rem);
  }

  .top_section_fee .row>.box1 .inr .rate span{
    font-size:clamp(3.8rem,5vw,4.2rem);
  }

  .top_section_fee .row>.box1 .inr .rate strong{
    font-size:clamp(5rem,7vw,7rem);
  }

  .top_section_fee .row>.box1 .inr .msg{
    font-size:clamp(1.2rem,2vw,1.4rem);
  }

  .top_section_fee .row>.box2 .fee_list>li{
    padding:7px 20px 7px 40px;
    font-size:1.4rem;
    /* font-size:clamp(1.4rem,2.6vw,1.6rem); */
  }

  .top_section_fee .row>.box2 .fee_list>li::before {
    top: 13px;
  }
}

/* SIMULATOR */
.top_section_simulator{
	padding-top:85px;
	padding-bottom:100px;
	background:var(--bg1);
}

.top_section_simulator .main_catch{
  margin-bottom: 40px;
}
.top_section_simulator .simulator_tab{
  padding:21px 16px;
	background:linear-gradient(#0b1937 0%, #08132c 100%);
	border:1px solid #2d3a56;
  border-radius: 4px;
}

.top_section_simulator .simulator_tab_head{
	display:flex;
	gap:15px;
	margin-bottom:0px;
}

.top_section_simulator .simulator_tab_head button{
	flex:1;
	height:auto;
	padding:0.5em 0;
	border-radius:4px;
	background:linear-gradient(#12224e 0%, #0b1533 100%);
	border:1px solid #314170;
	font-family:"Noto Sans JP";
	font-size:2.2rem;
	line-height:1.818;
	text-align:center;
	color:#c8d2e3;
	cursor:pointer;
}

.top_section_simulator .simulator_tab_head button.active{
	background:linear-gradient(#143169 0%, #0f234d 100%);
	border-color:#3b6fcc;
}

.top_section_simulator .simulator_tab_body{
	position:relative;
	padding:40px 30px;
}

.top_section_simulator .simulator_tab_group{
	display:none;
}

.top_section_simulator .simulator_tab_group.active{
	display:block;
}

/* tab group */

.top_section_simulator .simulator_tab_group .row{
	display:flex;
	gap:47px;
  width: 100%;
}

.top_section_simulator .simulator_tab_group .row .box1{
  width: calc(100% - 788px - 47px);
}

.top_section_simulator .simulator_tab_group .row .box2{
  width: 788px;
}

.top_section_simulator .simulator_tab_group .row .box1 .msg1{
	font-family:"Noto Sans JP";
	font-size:1.6rem;
	line-height:1.875;
	color:#c8d2e3;
	margin-bottom:60px;
}

.top_section_simulator .simulator_tab_group .row .box1 .note_ttl{
	font-family:"Noto Sans JP";
	font-size:1.6rem;
	line-height:2.25;
	color:#3b6fcc;
	margin-bottom:10px;
}

.top_section_simulator .simulator_tab_group .row .box1 .note_list>li{
	position:relative;
	padding-left:1.3em;
	font-family:"Noto Sans JP";
	font-size:1.4rem;
	line-height:2.143;
	color:#fff;
}

.top_section_simulator .simulator_tab_group .row .box1 .note_list>li::before{
	content:"※";
	position:absolute;
	left:0;
	top:0;
	color:#3b6fcc;
}

.simulator_area .simulator_input_block .head{
  display:flex;
  justify-content:space-between;
  margin-bottom: 10px;
}

.simulator_area .simulator_input_block .head .label{
  font-size:1.8rem;
  line-height:2;
}

.simulator_area .simulator_input_block .head .range{
  font-size:1.4rem;
  line-height:2.57;
  color:var(--subclr);
}

.simulator_area .simulator_input_block .price{
  display:flex;
  align-items:center;
  gap:5px;
  height:74px;
  padding:8px 20px 0;
  background:#060d22;
  border:1px solid #2d3a56;
}

.simulator_area .simulator_input_block .price .yen{
  font-size:1.8rem;
  line-height:2;
}

.simulator_area .simulator_input_block .price .value,
.simulator_area .simulator_input_block .preset_list li button{
  appearance:none;
  margin:0;
  padding:0;
  border:0;
  outline:none;
  box-shadow:none;
  border-radius:0;
}

.simulator_area .simulator_input_block .price .value{
  width:100%;
  background:transparent;
  font-family:var(--gf1);
  font-size:2.8rem;
  line-height:1.29;
  color: #fff;
}

.simulator_area .simulator_input_block .slider{
  margin-bottom: 20px;
}

.simulator_area .simulator_input_block .scale{
  display:flex;
  justify-content:space-between;
  font-size:1.2rem;
  line-height:3;
  color:var(--subclr);
}

.simulator_area .simulator_input_block .preset{
  display:flex;
  align-items:center;
}

.simulator_area .simulator_input_block .preset .label{
  width:175px;
  font-size:1.4rem;
  line-height:2.57;
}

.simulator_area .simulator_input_block .preset_list{
  display:flex;
  gap:11px;
  width:calc(100% - 175px);
}

.simulator_area .simulator_input_block .preset_list li button{
  width:104px;
  height:30px;
  line-height:30px;
  font-family:var(--gf1);
  background:#0a1836;
  border:1px solid #2d3a56;
  border-radius:4px;
  color: #fff;
}

.simulator_area .simulator_input_block .preset_list li button.is_current{
  background:linear-gradient(#143169 0%, #0f234d 100%);
  border-color:#3b6fcc;
}

@media screen and (max-width: 1400px) {
  .top_section_simulator .simulator_tab_group .row{
    display:flex;
    gap:30px;
    width: 100%;
  }

  .top_section_simulator .simulator_tab_group .row .box1{
    width: calc(100% - 650px - 30px);
  }

  .top_section_simulator .simulator_tab_group .row .box2{
    width: 650px;
  }

  .simulator_area .simulator_input_block .preset .label {
    width: 130px;
    font-size: 1.2rem;
  }

  .simulator_area .simulator_input_block .preset_list {
    display: flex;
    gap: 5px;
    width: calc(100% - 130px);
  }

  .simulator_area .simulator_input_block .preset_list>li{
    width: calc((100% - 5px*4) / 5);
  }

  .simulator_area .simulator_input_block .preset_list li button {
    width: 100%;
  }
}

@media screen and (max-width: 1200px) {
  .top_section_simulator .simulator_tab_head{
    gap:7px;
  }

  .top_section_simulator .simulator_tab_head button{
    padding:0.5em 0;
    font-size:clamp(1.8rem,4vw,2.2rem);
  }

  .top_section_simulator .simulator_tab_body {
    position: relative;
    padding: 30px 20px;
  }
  .top_section_simulator .simulator_tab_group .row{
    display:block;
    width: 100%;
  }

  .top_section_simulator .simulator_tab_group .row .box1{
    width:100%;
    margin-bottom: 50px;
    padding: 0;
  }

  .top_section_simulator .simulator_tab_group .row .box2{
    width:100%;
  }

  .top_section_simulator .simulator_tab_group .row .box1 .msg1 {
    margin-bottom: 30px;
  }

}
@media screen and (max-width: 768px) {
  .top_section_simulator .simulator_tab_head {
    display: flex;
    gap: 7px;
    margin-bottom: 0px;
  }
  .top_section_simulator .simulator_tab{
    padding: 7px 5px;
  }
  .top_section_simulator .simulator_tab_group .row .box1 {
    margin-bottom: 30px;
  }

  .top_section_simulator .simulator_tab_group .row .box1 .msg1 {
    font-size:clamp(1.2rem,3vw, 1.4rem);
  }

  .top_section_simulator .simulator_tab_group .row .box1 .note_ttl {
    font-size:clamp(1.4rem,3.2vw, 1.6rem);
    margin-bottom: 5px;
  }

  .top_section_simulator .simulator_tab_group .row .box1 .note_list>li{
    font-size:clamp(0.9rem, 2vw, 1.1rem);
  }

  .simulator_area .simulator_input_block .head .label {
    font-size:clamp(1.4rem,3.2vw, 1.6rem);
    line-height: 2;
  }

  .simulator_area .simulator_input_block .head .range {
    font-size:clamp(1.2rem,2.8vw, 1.4rem);
  }


  .simulator_area .simulator_input_block .preset {
   display: block;
  }

  .simulator_area .simulator_input_block .preset_list {
    display: flex;
    gap: 4px;
    width: 100%;
    flex-wrap:wrap;
  }
  .simulator_area .simulator_input_block .preset_list>li {
    width: calc((100% - 4px * 2) / 3);
  }
  .simulator_area .simulator_input_block .preset_list>li .button {
    font-size:clamp(1.2rem,2.8vw, 1.4rem);
  }

}

/*output*/
.simulator_area .simulator_output_block{
  padding-top:40px;
}

.simulator_area .simulator_output_block .group {
  padding: 6px 0 12px;
  border-bottom: 1px solid #2d3a56;
}

.simulator_area .simulator_output_block .group:last-child{
  border-bottom:0;
}

.simulator_area .simulator_output_block .row,
.simulator_area .simulator_output_block .sub_row{
  display:flex;
  justify-content:space-between;
  align-items: baseline;
  gap:20px;
}

.simulator_area .simulator_output_block .row>.label{
  white-space:nowrap;
  font-size:1.8rem;
  line-height:2;
}

.simulator_area .simulator_output_block .row>.price{
  display: flex;
  justify-content: flex-end;
  gap:5px;
  line-height:2;
}

.simulator_area .simulator_output_block .row>.price>i{
  font-size: 1.8rem;
}
.simulator_area .simulator_output_block .row>.price>span{
  font-size: 2rem;
}
.simulator_area .simulator_output_block .row>.price>span,
.simulator_area .simulator_output_block .sub_row>.price>span,
.simulator_area .simulator_output_block .total .price>span{
  font-family:var(--gf1);
}

.simulator_area .simulator_output_block .sub_row{
  margin-top:0px;
  display: flex;
  justify-content:space-between;
  gap:5px;
  color:var(--subclr);
  font-size: 1.8rem;
}

.simulator_area .simulator_output_block .total{
  padding-top:15px;
  border-top:1px solid #fff;
}

.simulator_area .simulator_output_block .total .label{
  font-size:1.8rem;
  line-height:36px;
  color:#3b6fcc;
}

.simulator_area .simulator_output_block .total .price{
  display: flex;
  justify-content: flex-end;
  gap:5px;
}

.simulator_area .simulator_output_block .total .price>i{
  font-size:1.8rem;
  line-height:36px;
}

.simulator_area .simulator_output_block .total .price>span{
  font-size:2.8rem;
  line-height:36px;
}

.simulator_area .simulator_output_block .note{
  margin-top:5px;
  font-size:1.2rem;
  line-height:36px;
  color:var(--subclr);
  text-align: right;
}
@media screen and (max-width: 768px) {

  .simulator_area .simulator_output_block .row>.label {
      font-size:clamp(1.2rem,2.8vw, 1.4rem);
  }

  .simulator_area .simulator_output_block .row>.price>i {
      font-size:clamp(1.3rem,2.9vw, 1.5rem);
  }
  .simulator_area .simulator_output_block .row>.price>span {
      font-size:clamp(1.4rem,4vw,1.7rem);
  }

  .simulator_area .simulator_output_block .sub_row {
    font-size:clamp(1rem,2.7vw, 1.3rem);
  }
  .simulator_area .simulator_output_block .sub_row .price {
    font-size:clamp(1.2rem,2.8vw, 1.4rem);
  }

  .simulator_area .simulator_output_block .total .label{
    font-size:clamp(1.2rem,2.8vw, 1.4rem);
  }

  .simulator_area .simulator_output_block .total .price>i {
    font-size:clamp(1.4rem,4vw,1.7rem);
  }
  .simulator_area .simulator_output_block .total .price>span {
    font-size:clamp(2.2rem,6vw,2.6rem);
    line-height: 36px;
  }

  .simulator_area .simulator_output_block .note {
    margin-top: 5px;
    font-size:clamp(1rem,2.7vw, 1.3rem);
  }
}


.rangeslider--horizontal {
  height: 8px;
  border-radius: 4px;
  background: #fff;
}

.rangeslider__fill {
  background: #3b6fcc;
  position: absolute;
  box-shadow: none;
}

.rangeslider__handle{
  background: #3b6fcc;
  width: 19px;
  height: 19px;
  border: 1px solid #3b6fcc;
  box-shadow: none;
}

.rangeslider__handle:after{
  display: none;
}

.rangeslider--horizontal .rangeslider__handle {
  top: -5px;
  touch-action: pan-y;
  -ms-touch-action: pan-y;
}


/* FAQ */
.top_section_faq{
	padding-top: 220px;
	padding-bottom: 210px;
  display: block;
}

.faq_list{
  display: flex;
  flex-direction: column;
  gap:20px;
  margin-top: 70px;
}

.faq_list .faq_item .faq_head{
  position: relative;
  padding:15px;
  padding-right: 43px;
  gap:15px;
  min-height: 0;
  display: flex;
  gap:30px;
  padding:16px;
  min-height: 80px;
  border-radius: 4px;
  border: 1px solid #2d3a56;
  background: linear-gradient(#0b1937 0%, #08132c 100%);
}

.faq_list .faq_item .faq_head::after{
  content:"";
  position: absolute;
  margin-top: 0%;
  right:10px;
  transform: translateY(-50%) rotate(45deg);
  position: absolute;
  content:"";
  right:40px;
  top:50%;
  width:10px;
  height:10px;
  border-right:2px solid #fff;
  border-bottom:2px solid #fff;
}

.faq_list .faq_item .faq_head.open::after{
  transform: translateY(-50%) rotate(135deg);
  margin-top: 0.5%;
}

.faq_list .faq_item .faq_head .icon{
  width:50px;
  height:50px;
  line-height:50px;
  text-align:center;
  display: flex;
  padding-left: 5px;
  justify-content: center;
  align-items: center;
  background:var(--bg1);
  border:1px solid #496294;
  font-family:var(--gf1);
  font-size:2.5rem;
  letter-spacing:0.27em;
  line-height:1.6;
  color:#3b6fcc;
  border-radius: 4px;
}

.faq_list .faq_item .faq_head h3.ttl{
  font-family:var(--gf2);
  font-weight:500;
  font-size:2.4rem;
  color:#fff;
  padding-top: 5px;
}

.faq_list .faq_item .faq_head.open::after{
  transform: translateY(-50%) rotate(-135deg);
}

.faq_list .faq_item .faq_body{
  padding:25px 10px 10px;
  display: none;
}

.faq_list .faq_item .faq_body .text{
  font-size:1.6rem;
  line-height:2;
  color:var(--subclr);
  text-indent: -1.1em;
  margin-left: 1em;
}



@media screen and (max-width: 1024px) {
  .top_section_faq{
    padding-top:0px;
    padding-bottom:60px;
  }

  .faq_list{
    margin-top:40px;
    gap:15px;
  }

  .faq_list .faq_item .faq_head .icon{
    font-size:clamp(1.9rem,4vw, 2rem);
    width: 2em;
    aspect-ratio: 1;
    height: auto;
    align-self: flex-start;
  }

  .faq_list .faq_item .faq_head h3.ttl{
    font-size:2rem;
    padding-top: 0.2em;
    width: calc(100% - 2em - 15px);
    font-size:clamp(2rem,4vw, 2.2rem);
  }

  .faq_list .faq_item .faq_head{
    position: relative;
    padding:15px;
    padding-right: 43px;
    gap:15px;
    min-height: 0;
    display: flex;
  }
  .faq_list .faq_item .faq_head::after{
    content:"";
    position: absolute;
    margin-top: 0%;
    top:50%;
    right:10px;
    transform: translateY(-50%) rotate(45deg);
    margin-right: 15px;
  }

  .faq_list .faq_item .faq_head.active::after{
    transform: translateY(-50%) rotate(135deg);
  }

  .faq_list .faq_item .faq_body{
    padding:10px 10px 10px;
  }

  .faq_list .faq_item .faq_body .text{
    font-size:clamp(1.5rem,3vw,1.7rem);
    line-height: calc(24 / 14);
  }

}

/* ACCESS */
.top_section_access{
  display: block;
	padding-top: 125px;
	padding-bottom: 135px;
  background: var(--bg1);
}

.top_section_access .access_row{
  display:grid;
  gap:72px;
  grid-template-columns:568px 1fr;
}

.top_section_access .access_table{
  border:1px solid #222e49;
}

.top_section_access .access_table dl{
  display:grid;
  grid-template-columns:180px 1fr;
}

.top_section_access .access_table dl+dl{
  border-top:1px solid #222e49;
}

.top_section_access .access_table dt,
.top_section_access .access_table dd {
  padding: 18px 25px;
  background: #060D22;
}

.top_section_access .access_table dt{
  gap:12px;
  border-right:1px solid #222e49;
  font-size: 1.4rem;
  line-height: 1.85;
  text-align: left;
  color: #c8d2e3;
  display: flex;
  font-weight: bold;
  color: #C8D2E3;
}

.top_section_access .access_table dt .icon{
  width: 30px;
}

.top_section_access .access_table dt .icon img {
  width: var(--w);
  height: auto;
  vertical-align: middle;
}

.top_section_access .access_table dt img{
  flex-shrink:0;
}

.top_section_access .access_table dd{
	display: flex;
	align-items: center;
	font-size: 1.4rem;
	line-height: 1.857;
}


.top_section_access .access_row .box2{
  margin-bottom: 40px;
}

.top_section_access .main_catch{
  text-align: left;
  margin-bottom: 40px;
}

@media screen and (max-width: 1200px) {
  .top_section_access .access_row {
    display: block;
  }

  .top_section_access .access_row .box1 {
    margin-bottom: 50px;
  }

}
@media screen and (max-width: 1024px) {
  .top_section_access{
    padding-top:48px;
    padding-bottom:70px;
  }

  .top_section_access .access_row{
    display:block;
  }

  .top_section_access .access_table dl{
    display: block;
  }

  .top_section_access .access_table dt,
  .top_section_access .access_table dd{
    padding:15px;
  }

  .top_section_access .access_table dt{
    font-size:clamp(1.4rem,4vw,1.7rem);
    gap:10px;
    border-bottom: 1px solid #222E49;
  }

  .top_section_access .access_table dt .icon{
    width:22px;
  }

  .top_section_access .access_table dd{
    font-size:clamp(1.2rem,3vw,1.4rem);
  }

  .top_section_access .main_catch{
    margin-bottom:30px;
  }

  .top_section_access .access_row .box1 {
    margin-bottom: 0px;
  }
}


/* CTA */
.top_section_cta{
	padding-top: 140px;
	padding-bottom: 145px;
}

.top_section_cta .logo{
  max-width: 212px;
  margin: 0 auto 20px;
}

.top_section_cta .main_catch{
  margin-bottom: 40px;
}

.top_section_cta .buttons{
  justify-content: center;
  margin-bottom: 40px;
}


