/* 1336pxの場合　フォントサイズ以外
 min(1rem,calc(10vw/13.66)) */

body {
 background-color: #eef3f6;
}

header {
 position: fixed;
 padding-top: min(3rem, calc(30vw / 13.66));
 width: 100%;
 z-index: 90;
 transition: .7s;
}
.slide_up {
 top: -50rem;
}
.slide_down {
  top: 0;
}

.hd_inner {
 width: min(126.6rem, calc(1266vw / 13.66));
 background: #ffffff;
 border-radius: min(2rem, calc(20vw / 13.66));
 margin: 0 auto;
 box-sizing: border-box;
 padding: min(1rem, calc(10vw / 13.66)) min(2rem, calc(20vw / 13.66));
 padding-left: min(3.5rem, calc(35vw / 13.66));
 box-shadow: min(0.5rem, calc(5vw / 13.66)) min(0.5rem, calc(5vw / 13.66)) min(0.5rem, calc(5vw / 13.66)) #0000004d;
}
.hd_flex {
 display: flex;
 justify-content: space-between;
 align-items: center;
}
.logo {
 width: min(22.3rem, calc(223vw / 13.66));
}
@media (hover: hover)  and (pointer: fine){
 .logo a:where(:any-link, :enabled, summary):hover {
  opacity: 0.7;
 }

}

.hd_menu {
 width: min(80rem, calc(800vw / 13.66));
 display: flex;
 justify-content: space-between;
}
.hd_menu ul {
 width: min(53rem, calc(530vw / 13.66));
 display: flex;
 justify-content: space-between;
 align-items: center;
}
.hd_menu li a {
 font-size: 1.5rem;
 font-weight: 700;
 letter-spacing: 0.04em;
 color: #3c3c3c;
 position: relative;
 display: block;
}
.hd_menu li a::before {
 content: "";
 width: 100%;
 border: #3c3c3c solid min(0.1rem, calc(1vw / 13.66));
 border-radius: min(1rem, calc(10vw / 13.66));
 position: absolute;
 left: 0;
 bottom: 0;
 transform-origin: center;
 transform: scale(0, 1);
 transition: 0.4s;
}

@media (hover: hover) and (pointer: fine) {
 .hd_menu li a:where(:any-link, :enabled, summary):hover::before {
  transform: scale(1);
 }
}
.hd_btn {
 width: min(23rem, calc(230vw / 13.66));
}
.hd_btn a {
 display: block;
 width: 100%;
 font-size: 1.9rem;
 font-weight: 700;
 letter-spacing: 0.12em;
 color: #ffffff;
 background: #3192d0;
 background: linear-gradient(180deg, rgba(49, 146, 208, 1) 0%, rgba(45, 92, 163, 1) 100%);
 padding: min(0.6rem, calc(6vw / 13.66)) 0;
 border-radius: min(3rem, calc(30vw / 13.66));
 position: relative;
 display: flex;
 align-items: center;
 gap:0 min(1rem, calc(10vw / 13.66));
 box-sizing: border-box;
 padding-left: min(2.5rem, calc(25vw / 13.66));
}
.hd_btn a::after {
 content: "";
 width: min(1.2rem, calc(12vw / 13.66));
 height: min(1.6rem, calc(16vw / 13.66));
 background: url(../images/arrow.svg) no-repeat;
 background-size: cover;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 right: min(1.8rem, calc(18vw / 13.66));
}
@media (hover: hover)  and (pointer: fine){
 .hd_btn a:where(:any-link, :enabled, summary):hover {
  transform: scale(1.05);
 }
}
.hd_btn span {
 width: min(2.2rem, calc(22vw / 13.66));
 font-size: 0;
}

.nav {
 display: none;
}

/*                           mv                              */
.mv_inner {
 position: relative;
}

.mv_img img {
 max-height: min(76.5rem, calc(765vw / 13.66)) !important;
 object-fit: cover;
 object-position: bottom center;
}

.mv_txt {
 width: min(88rem, calc(880vw / 13.66)) ;
position: absolute;
 top: min(20rem, calc(200vw / 13.66));
 left: 0;
}

.mv_btn {
 width: min(38rem, calc(380vw / 13.66));
 position: absolute;
 bottom: min(16.5rem, calc(165vw / 13.66));
 left: min(9.5rem, calc(95vw / 13.66));
 background-color: #fff;
 box-shadow: min(0.5rem, calc(5vw / 13.66)) min(0.5rem, calc(5vw / 13.66)) min(0.5rem, calc(5vw / 13.66)) #0000004d;
 padding: min(2.5rem, calc(25vw / 13.66)) 0;
 border-radius: min(2rem, calc(20vw / 13.66));
}
.mv_btn a {
 display: block;
 width: min(32rem, calc(320vw / 13.66));
 font-size: 2.7rem;
 margin: 0 auto;
 font-weight: 700;
 letter-spacing: 0.12em;
 color: #ffffff;
 background: #3192d0;
 background: linear-gradient(180deg, rgba(49, 146, 208, 1) 0%, rgba(45, 92, 163, 1) 100%);
 padding: min(0.9rem, calc(9vw / 13.66)) 0;
 border-radius: min(4rem, calc(40vw / 13.66));
 position: relative;
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 0 min(1rem, calc(10vw / 13.66));
}
.mv_btn a::after {
 content: "";
 width: min(1.4rem, calc(14vw / 13.66));
 height: min(1.8rem, calc(18vw / 13.66));
 background: url(../images/arrow.svg) no-repeat;
 background-size: cover;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 right: min(1.8rem, calc(18vw / 13.66));
}
.mv_btn span {
 width: min(3rem, calc(30vw / 13.66));
 font-size: 0;

}
@media (hover: hover)  and (pointer: fine){
 .mv_btn a:where(:any-link, :enabled, summary):hover {
  transform: scale(1.05);
 }
}

.mv_logo {
 width: min(70rem, calc(700vw / 13.66));
 margin: 0 auto;
}

.mv_banner {
 width: min(27.5rem, calc(275vw / 13.66));
 position: absolute;
 bottom:  min(26rem, calc(260vw / 13.66));
 left:  min(13rem, calc(130vw / 13.66));
 z-index: 1;

}

.section_content {
 padding-top: min(13rem, calc(130vw / 13.66));
 margin-top: max(-13rem, calc(-130vw / 13.66));
}

.section_ttl {
 font-size: 4rem;
 font-weight: 700;
 letter-spacing: 0.08em;
 color: #fff;
}

/*                           premise                              */
.premise_inner {
 padding-top: min(20rem, calc(200vw / 13.66));
}

.premise_top {
 position: relative;
 background: url(../images/premise_slide_bg.webp);
 background-size: contain;
 padding-top: min(12.5rem, calc(125vw / 13.66));
}
.premise_ttl {
 display: flex;
 justify-content: center;
 align-items: center;
 gap: 0 min(1.5rem, calc(15vw / 13.66));
 position: absolute;
 left: 0;
 right: 0;
 margin: 0 auto;
 top: max(-4rem, calc(-40vw / 13.66));
}
.premise_ttl span {
 width: min(8.2rem, calc(82vw / 13.66));
}
.premise_ttl p {
 font-size: 3.8rem;
 font-weight: 700;
 letter-spacing: 0.08em;
 color: #00a5e3;
 position: relative;
}
.premise_ttl p::before {
 content: "";
 width: 100%;
 height: min(1.3rem, calc(13vw / 13.66));
 background: url(../images/border.webp) repeat-x;
 background-size: contain;
 position: absolute;
 bottom: 0;
 left: 0;
}

.premise_slider {
 width: 100%;
 height: min(28.3rem, calc(283vw / 13.66));
 background: url(../images/premise_slide.webp) repeat-x;
 background-size:  min(199.7rem, calc(1997vw / 13.66))  min(28.3rem, calc(283vw / 13.66));
 animation: premise_slider infinite forwards 35s linear;
}
@keyframes premise_slider {
 0% {
  background-position:center left 0 ;
 }
 100% {
  background-position:center left  max(-199.7rem, calc(-1997vw / 13.66))  ;
 }
}

.premise_risk {
 background-color: #f9e72c;
 position: relative;
 padding-bottom: min(7.5rem, calc(75vw / 13.66));
}
.premise_risk::before {
 content: "";
 width: min(66.3rem, calc(663vw / 13.66));
 height: min(16.4rem, calc(164vw / 13.66));
 background-color: #fff;
 clip-path: polygon(50% 100%, 0 0, 100% 0);
 position: absolute;
 bottom: max(-6rem, calc(-60vw / 13.66));
 left: 0;
 right: 0;
 margin: 0 auto;
 z-index: 1;
}
.premise_risk_ttl {
 width: min(45.5rem, calc(455vw / 13.66));
 margin: 0 auto;
 background-color: #fff;
 font-size: 3.6rem;
 font-weight: 900;
 letter-spacing: 0.08em;
 line-height: 1.5;
 padding: min(13rem, calc(130vw / 13.66)) 0 min(7rem, calc(70vw / 13.66));
}
.premise_risk_txt {
 width: min(16.2rem, calc(162vw / 13.66));
 color: #fff;
 font-size: 1.6rem;
 letter-spacing: 0.03em;
 line-height: 1.6;
 font-weight: 700;
 background: url(../images/premise_risk_bg.svg) no-repeat;
 background-size: cover;
 padding: min(4.8rem, calc(48vw / 13.66)) 0 min(3.6rem, calc(36vw / 13.66));
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 margin: 0 auto;
}
.premise_risk_txt_01 {
 top: min(9rem, calc(90vw / 13.66));
 left: max(-96rem, calc(-960vw / 13.66));
}
.premise_risk_txt_02 {
 top: min(9rem, calc(90vw / 13.66));
 left: max(-53rem, calc(-530vw / 13.66));
}
.premise_risk_txt_03 {
 top: min(6rem, calc(60vw / 13.66));
 right: max(-55rem, calc(-550vw / 13.66));
}
.premise_risk_txt_04 {
 top: min(9rem, calc(90vw / 13.66));
 right: max(-95rem, calc(-950vw / 13.66));
}

.premise_if {
 background-color: #00a5e3;
 padding: min(10.5rem, calc(105vw / 13.66)) 0  min(12rem, calc(120vw / 13.66));
 position: relative;
 overflow: hidden;
}
.premise_if::before {
 content: "";
 width: 100%;
 height: min(8.5rem, calc(85vw / 13.66));
 background-color: #fff;
 position: absolute;
 left: 0;
 bottom: min(11rem, calc(110vw / 13.66));
}
.premise_if_txt {
 font-size: 2.9rem;
 color: #fff;
 font-weight: 700;
 letter-spacing: 0.08em;
 line-height: 2;
}
.premise_img {
 width: min(126rem, calc(1260vw / 13.66));
 margin: min(5.5rem, calc(55vw / 13.66)) auto 0;
 position: relative;
 z-index: 1;
}
.premise_icon {
 position: absolute;
 top: 0;
}
.premise_icon_01 {
 width: min(20rem, calc(200vw / 13.66));
 top:  min(11rem, calc(110vw / 13.66));
 left:  min(5rem, calc(50vw / 13.66));
 transform: translateY(10%);
}
.premise_icon_02 {
 width: min(20rem, calc(200vw / 13.66));
 top:  min(5rem, calc(50vw / 13.66));
 right:  min(4.5rem, calc(45vw / 13.66));
 transform: translateY(10%);
}
.premise_icon_03 {
 width: min(17rem, calc(170vw / 13.66));
 top:  min(43.5rem, calc(435vw / 13.66));
 left:  min(47rem, calc(470vw / 13.66));
 transform: translateY(10%);
}
.premise_icon_04 {
 width: min(20rem, calc(200vw / 13.66));
 top:  min(45rem, calc(450vw / 13.66));
 right:  min(18rem, calc(180vw / 13.66));
 transform: translateY(10%);
}
.premise_icon_05 {
 width: min(19rem, calc(190vw / 13.66));
 top:  min(45rem, calc(450vw / 13.66));
 right: 0;
 transform: translateY(10%);
}
.premise_icon.scrollin {
 transform: translate(0);
}

/*                          features                            */

.features_inner {
 background-color: #00a5e3;
 padding-bottom: min(13rem, calc(130vw / 13.66));
}

.features_item {
 width: min(108rem, calc(1080vw / 13.66));
 margin: min(2rem, calc(20vw / 13.66)) auto 0;
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
 gap: min(3rem, calc(30vw / 13.66)) min(2rem, calc(20vw / 13.66));
}

.features_box {
 width: min(53rem, calc(530vw / 13.66));
 position: relative;
 box-sizing: border-box;
 padding: min(4.5rem, calc(45vw / 13.66)) min(3rem, calc(30vw / 13.66)) min(4.5rem, calc(45vw / 13.66)) min(4.5rem, calc(45vw / 13.66));
 background-color: #fff;
 border-radius: min(3rem, calc(30vw / 13.66));
}
.features_box:first-of-type {
 width: 100%;
}
.features_num {
 width: min(6.8rem, calc(68vw / 13.66));
 background-color: #2d5ca3;
 box-sizing: border-box;
 border: min(0.8rem, calc(8vw / 13.66)) solid #fff;
 border-radius: 50%;
 font-family: "Josefin Sans", sans-serif;
 font-weight: 700;
 color: #fff;
 font-size: 3.6rem;
 line-height: 1;
 padding: min(1rem, calc(10vw / 13.66)) 0 min(0.6rem, calc(6vw / 13.66));
 position: absolute;
 left: min(2rem, calc(20vw / 13.66));
 top: max(-2rem, calc(-20vw / 13.66));
}
.features_box_flex {
 display: flex;
 justify-content: space-between;
 align-items: center;
}
.features_detail {
 width: min(35.5rem, calc(355vw / 13.66));
}
.features_box_ttl {
 font-size: 2.8rem;
 font-weight: 700;
 letter-spacing: 0.08em;
 color: #2d5ca3;
 text-align: left;
}
.features_box_txt {
 font-size: 1.5rem;
 font-weight: 500;
 letter-spacing: 0.04em;
 line-height: 2;
 text-align: justify;
}
.features_img {
 width: min(64.5rem, calc(645vw / 13.66));
}

/*                          function                            */

.function_inner {
 background-color: #00a5e3;
 padding-bottom: min(14rem, calc(140vw / 13.66));
}


.splide_inner {
 position: relative;

}
.splide__track {
 padding: min(15rem, calc(150vw / 13.66)) 0 min(8rem, calc(80vw / 13.66));
}

.function_slide {
 width: min(42.4rem, calc(424vw / 13.66)) !important;
  margin-right: min(3rem, calc(30vw / 13.66)) !important;
 position: relative;
 transition: 1s;
}

.function_label {
 width: min(18rem, calc(180vw / 13.66));
 position: absolute;
 top: max(-15.5rem, calc(-155vw / 13.66));
 left: 0;
 right: 0;
 margin: 0 auto;
 transition: .7s;
 transition-delay: .3s;
 opacity: 0;
 visibility: hidden;
}
.function_slide.show .function_label {
 opacity: 1;
 visibility:visible;
}
.function_slide.show .function_label.fadein{
 opacity: 0;
 visibility: hidden;
 transition-delay: 0s;
}
.function_slide.show .function_label.fadein.scrollin{
 opacity: 1;
 visibility:visible;
}
.function_slide_box {
 background-color: #fff;
 box-sizing: border-box;
 padding: min(2.5rem, calc(25vw / 13.66)) min(2.5rem, calc(25vw / 13.66)) min(3rem, calc(30vw / 13.66));
 border-radius: min(4rem, calc(40vw / 13.66));
 box-shadow: min(1rem, calc(10vw / 13.66)) min(1rem, calc(10vw / 13.66)) min(1rem, calc(10vw / 13.66)) #0000004d;
 height: 100%;
}
.function_slide_ttl {
 display: flex;
 align-items: flex-end;
 gap: 0 min(1.5rem, calc(15vw / 13.66));
 color: #2d5ca3;
 font-size: 2.3rem;
 font-weight: 700;
 line-height: 1.7;
 margin-bottom: min(2rem, calc(20vw / 13.66));
 margin-top: min(1.5rem, calc(15vw / 13.66));
}
.function_slide_ttl span {
 width: min(6.5rem, calc(65vw / 13.66));
 font-size: 0;
}
.function_slide_txt {
 display: flex;
 flex-direction: column;
 gap: min(1rem, calc(10vw / 13.66)) 0;
}
.function_slide_txt p {
 display: flex;
 align-items: center;
 font-size: 1.5rem;
 font-weight: 500;
 line-height: 1.6;
 text-align: justify;
 box-sizing: border-box;
 padding-left: 1em;
 position: relative;
}
.function_slide_txt p::before {
 content: "";
 width: min(1.3rem, calc(13vw / 13.66));
 height: min(1.3rem, calc(13vw / 13.66));
 border-radius: 50%;
 background-color: #00a5e3;
 position: absolute;
 top: min(0.5rem, calc(5vw / 13.66));
 left: 0;
}
.splide__arrows {
 width: min(23rem, calc(230vw / 13.66));
 position: absolute;
 bottom: 0;
 left: 0;
 right: 0;
 margin: 0 auto;
 display: flex;
 justify-content: space-between;
}
.splide .splide__arrow {
 width: min(4.2rem, calc(42vw / 13.66));
 height: min(4.2rem, calc(42vw / 13.66));
 position: static;
 opacity: 1;
 transform: none;
 background: url(../images/prev.svg) no-repeat;
 background-size: cover;
 transition: 0.4s;
}
.splide .splide__arrow svg {
 display: none;
}
.splide .splide__arrow.splide__arrow--next {
 background: url(../images/next.svg) no-repeat;
 background-size: cover;
}

@media (hover: hover) and (pointer: fine) {
 .splide .splide__arrow:where(:any-link, :enabled, summary):hover {
  transform: scale(1.1);
  opacity: 1 !important;
 }
}

.splide .splide__pagination {
 bottom: min(1.5rem, calc(15vw / 13.66));
 gap: 0 min(1rem, calc(10vw / 13.66));
 display: flex !important;
}
.splide .splide__pagination__page {
 width: min(1rem, calc(10vw / 13.66));
 height: min(1rem, calc(10vw / 13.66));
 opacity: 1;
 background-color: #ffffff;
 margin: 0;
}
.splide .splide__pagination__page.is-active {
 background-color: #f9e72c;
}




/*                          effect                            */

.effect_inner {
 background: #00A5E3;
background: linear-gradient(180deg, rgba(0, 165, 227, 1) 0%, rgba(0, 165, 227, 1)  min(9rem, calc(90vw / 13.66)), rgba(45, 92, 163, 1)  min(9rem, calc(90vw / 13.66)), rgba(45, 92, 163, 1) 100%);
padding-bottom:  min(15rem, calc(150vw / 13.66));
}
.effect_item {
 width: min(88rem, calc(880vw / 13.66));
 margin: 0 auto;
 background-color: #fff;
 box-shadow:  min(1rem, calc(10vw / 13.66))  min(1rem, calc(10vw / 13.66)) 0 #3192d0;
 box-sizing: border-box;
 padding:  min(5rem, calc(50vw / 13.66)) 0 0;
}
.effect_inner .section_ttl {
 color: #3192d0;
}
.effect_txt {
  width: min(75rem, calc(750vw / 13.66));
  margin: 0 auto;
}
.effect_txt p{
 font-size: 1.8rem;
 font-weight: 500;
 letter-spacing: 0.02em;
 background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 87%, #3c3c3c 87%, #3c3c3c 90%, rgba(0, 0, 0, 0) 90% ,  rgba(0, 0, 0, 0) 100%);
  background-repeat: repeat-y;
  background-size: 100% 2em;
}
.effect_detail {
 background-color: #eef3f6;
 box-sizing: border-box;
 padding:min(4rem, calc(40vw / 13.66)) 0  min(7rem, calc(70vw / 13.66));
 margin-top: min(6rem, calc(60vw / 13.66));
 position: relative;
}
.effect_detail::before {
 content: '';
 width: 100%;
 height: min(.1rem, calc(1vw / 13.66));
 background: url(../images/border_02.svg) repeat-x;
 background-size: contain;
 position: absolute;
 top: 0;
 left: 0;
 background-position: center;
}
.effect_detail_ttl {
 font-size: 2.5rem;
 font-weight: 700;
 letter-spacing: 0.08em;
 color: #2d5ca3;
 line-height: 1.5;
}
.effect_detail_ttl span {
 display: block;
 font-size: 1.8rem;
}
.effect_detail_flex {
 width:  min(126rem, calc(1260vw / 13.66));
 display: flex;
 justify-content: space-between;
 position: relative;
 left: 50%;
 transform: translateX(-50%);
 margin-top:  min(3rem, calc(30vw / 13.66));
}
.effect_detail_img {
 width:  min(25rem, calc(250vw / 13.66));

}




/*                          about                            */
.about_inner {
 background-color: #eef3f6;
 padding:  min(8rem, calc(80vw / 13.66)) 0  min(15rem, calc(150vw / 13.66));
}

.about_logo {
 width: min(35.6rem, calc(356vw / 13.66));
 margin: 0 auto  min(3rem, calc(30vw / 13.66));
}
.about_inner .section_ttl {
 color: #00a5e3;
}
.about_txt {
 font-size: 1.8rem;
 line-height: 2.2;
 font-weight: 500;
 margin-top:  min(1.5rem, calc(15vw / 13.66));
}

.about_img {
  width: min(106rem, calc(1060vw / 13.66));
  margin:  min(7rem, calc(70vw / 13.66)) auto 0;
}



/*                          faq                            */
.faq_inner {
 background-color: #fff;
 padding:  min(10rem, calc(100vw / 13.66)) 0  min(13rem, calc(130vw / 13.66));
}
.faq_inner .section_ttl {
 color: #3c3c3c;
 margin-bottom: min(5rem, calc(50vw / 13.66));
}
.faq_contents {
 width:  min(83rem, calc(830vw / 13.66)) ;
 margin: 0 auto  ;
 border-bottom: #3c3c3c solid min(.2rem, calc(2vw / 13.66));
}
.faq_item {
 width: 100%;
}
.faq_btn {
 display: block;
 width: 100%;
 display: flex;
 align-items: center;
 position: relative;
 gap: 0  min(1.5rem, calc(15vw / 13.66));
 border-top: #3c3c3c solid min(.2rem, calc(2vw / 13.66));
 padding: min(3.3rem, calc(33vw / 13.66))  min(.5rem, calc(5vw / 13.66)) ;
 box-sizing: border-box;
 transition: .4s;
}
@media (hover: hover)  and (pointer: fine){
 .faq_btn:where(:any-link, :enabled, summary):hover {
  opacity: .7;
 }
}
.faq_btn .q {
 width: min(3.5rem, calc(35vw / 13.66));
 font-family: "Roboto", sans-serif;
 color: #000000;
 font-size: 3.5rem;
 line-height: 1;
}
.faq_btn .ttl{
 font-weight: 700;
 font-family: YakuHanJP, "Noto Sans JP", sans-serif;
color: #3c3c3c;
font-size: 1.8rem;
letter-spacing: 0.1em;
}
.faq_btn .faq_icon{
 width: min(1.7rem, calc(17vw / 13.66));
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 right: min(2rem, calc(20vw / 13.66));
 box-sizing: border-box;
}
.faq_btn .faq_icon::before,
.faq_btn .faq_icon::after {
 content: '';
 width: 100%;
 border: #3c3c3c solid min(.2rem, calc(2vw / 13.66));
 box-sizing: border-box;
 position: absolute;
 left: 0;
 right: 0;
 margin: 0 auto;
 top: 0;
 transition: .4s;
}
.faq_btn .faq_icon::after {
 transform: rotate(90deg);
}
.faq_btn.open .faq_icon::after {
 transform: rotate(-180deg);
}
.faq_item_txt {
 width: 100%;
 display: none;
}
.faq_item_txt > div {
 display: flex;
 align-items: baseline;
 gap: 0  min(1.5rem, calc(15vw / 13.66));
 border-top: #3c3c3c solid min(.2rem, calc(2vw / 13.66));
 padding: min(2.5rem, calc(25vw / 13.66))  min(.5rem, calc(5vw / 13.66)) ;
 box-sizing: border-box;
}
.faq_item_txt .a {
 width: min(3.5rem, calc(35vw / 13.66));
 font-family: "Roboto", sans-serif;
 color: #00a5e3;
 font-size: 3.5rem;
 line-height: 1;
}
.faq_item_txt p{
 width: min(77rem, calc(770vw / 13.66));
 font-weight: 500;
color: #000000;
font-size: 1.6rem;
letter-spacing: 0.04em;
line-height: 1.75;
text-align: justify;
}




/*                          other                            */
.other_inner {
 background-color: #fff;
 padding-top:  min(5rem, calc(50vw / 13.66));
 box-sizing: border-box;
 border-top: #2d5ca3 solid min(.8rem, calc(8vw / 13.66));
}
.other_txt {
 font-size: 2.9rem;
 font-weight: 700;
 color: #3192d0;
 letter-spacing: 0.08em;
}

.other_btn {
 width: min(43rem, calc(430vw / 13.66));
 margin: min(6rem, calc(60vw / 13.66)) auto min(9rem, calc(90vw / 13.66));
}
.other_btn_txt {
 font-size: 1.8rem;
 letter-spacing: 0.02em;
 color: #3c3c3c;
 font-weight: 700;
 margin-bottom: min(.5rem, calc(50vw / 13.66));
}
.other_btn a {
 display: block;
 width: 100%;
 font-size: 2.9rem;
 font-weight: 700;
 color: #fff;
  background: #3192d0;
 background: linear-gradient(180deg, rgba(49, 146, 208, 1) 0%, rgba(45, 92, 163, 1) 100%);
 position: relative;
 padding: min(3.6rem, calc(36vw / 13.66)) 0;
 box-sizing: border-box;
 letter-spacing: 0.08em;
 border-radius: min(6.5rem, calc(65vw / 13.66));
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 0 min(1rem, calc(10vw / 13.66));
}
@media (hover: hover)  and (pointer: fine){
 .other_btn a:where(:any-link, :enabled, summary):hover {
  transform: scale(1.05);
 }
}
.other_btn span {
 width: min(4rem, calc(40vw / 13.66));
 font-size: 0;

}
.other_btn:first-of-type a::after {
 content: "";
 width: min(1.4rem, calc(14vw / 13.66));
 height: min(1.8rem, calc(18vw / 13.66));
 background: url(../images/arrow.svg) no-repeat;
 background-size: cover;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 right: min(4rem, calc(40vw / 13.66));
}



.other_logo {
 width: min(29rem, calc(290vw / 13.66));
 margin: 0 auto;
}
@media (hover: hover)  and (pointer: fine){
 .other_logo a:where(:any-link, :enabled, summary):hover {
  opacity: .7;
 }
}



/*                          footer                            */

.footer_inner {
 padding-top:  min(2.5rem, calc(25vw / 13.66));
 background-color: #fff;
}
.footer_menu {
 display: flex;
 justify-content: center;
 align-items: center;
 gap: 0 min(3rem, calc(30vw / 13.66));
 margin-bottom: min(1rem, calc(10vw / 13.66));
}
.footer_menu p {
 font-size: 1.2rem;
 font-family: YakuHanJP, "Noto Sans JP", sans-serif;
 font-weight: normal;
}
.footer_menu ul {
 display: flex;
 justify-content: space-between;
}
.footer_menu ul a {
 display: inline-block;
 font-size: 1.2rem;
 font-family: YakuHanJP, "Noto Sans JP", sans-serif;
 font-weight: normal;
 color: #3c3c3c;
 padding: 0 min(2rem, calc(20vw / 13.66));
 line-height: 1;
 border-left: #3c3c3c solid min(.1rem, calc(1vw / 13.66));
 border-right: #3c3c3c solid min(.1rem, calc(1vw / 13.66));
}
.footer_menu ul a p {
 display: inline-block;
 position: relative;
}
.footer_menu ul li:last-of-type a {
 border-left: none;
}
.footer_menu li a p::before {
 content: "";
 width: 100%;
 border: #3c3c3c solid min(0.1rem, calc(1vw / 13.66));
 border-radius: min(1rem, calc(10vw / 13.66));
 position: absolute;
 left: 0;
 bottom:  max(-.5rem, calc(-5vw / 13.66));
 transform-origin: center;
 transform: scale(0, 1);
 transition: 0.4s;
}

@media (hover: hover) and (pointer: fine) {
 .footer_menu li a:where(:any-link, :enabled, summary):hover p::before  {
  transform: scale(1);
 }
}
.copy {
 font-size: 1.2rem;
 font-weight: 400;
 color: #fff;
 background-color: #3192d0;
 padding:  min(.5rem, calc(5vw / 13.66)) 0;
 letter-spacing: 0.05em;
}


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

header {
 padding-top: 1.5rem;
}

.hd_inner {
 width: 36.5rem;
 border-radius: 1rem;
 padding: 1rem 1.8rem;
 padding-right: 1.3rem;
 box-shadow:.3rem .3rem .3rem #0000004d;
}
.hd_flex {
 align-items: flex-start;
}

.logo {
 width: 9.6rem;
}

.hd_menu {
 display: none;
}
.nav_btn {
 width: 3rem;
 position: relative;
 padding: 0.8rem 0;
 margin-top: 0.4rem;
 z-index: 12;
}
.nav_btn span {
 width: 100%;
 display: block;
 transition: .4s;
 height: .3rem;
 background-color: #2d5ca3;
 position: relative;
}
.nav_btn.open span {
 opacity: 0;
}
.nav_btn span::before {
 content: 'MENU';
 font-family: "Roboto", sans-serif;
 font-size: 1rem;
 color: #2d5ca3;
 font-weight: 500;
 position: absolute;
 left: 0;
 right: 0;
 margin: 0 auto;
 bottom: -2.3rem;
}
.nav_btn::before ,
.nav_btn::after {
 content: '';
 width: 100%;
 height: .3rem;
 background-color: #2d5ca3;
 transition: .4s;
 box-sizing: border-box;
 position: absolute;
 left: 0;
}
.nav_btn::before {
 top: 0;
}
.nav_btn::after {
 bottom: 0;
}
.nav_btn.open::before {
 top: .8rem;
 transform: rotate(135deg);
}
.nav_btn.open::after {
 transform: rotate(-135deg);
 bottom: .8rem;
}

.nav {
 position: fixed;
 top: 0;
 left: 0;
 width: 100%;
 height: 100vh;
 height: 100dvh;
 z-index: 10;
 background-color: #fff;
 overflow: scroll;
 display: none;
}
.nav_bg {
 position: fixed;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 z-index: -1;
}

.nav_item {
 width: 28.5rem;
 margin: 0 auto;
 margin-top: 12rem;
 position: relative;
 padding-bottom: 3rem;
}
.nav_menu {
 width: 17rem;
 width: fit-content;
 margin: 0 auto;
}
.nav_menu a {
 display: flex;
 align-items: center;
 gap: 0 1rem;
 font-size: 1.8rem;
 font-weight: 700;
 letter-spacing: 0.04em;
 color: #3c3c3c;
 margin-bottom: 3rem;

}
.nav_menu a::before {
 content: '';
 width: .6rem;
 height: 1.1rem;
 clip-path: polygon(0 0, 0% 100%, 100% 50%);
 background-color: #3192d0;
}


.nav_menu_btn a{
 display: block;
 width: 100%;
 font-size: 2.5rem;
 color: #fff;
 letter-spacing: 0.12em;
 background: #3192d0;
 background: linear-gradient(180deg, rgba(49, 146, 208, 1) 0%, rgba(45, 92, 163, 1) 100%);
 padding:.7rem 0;
 border-radius:3.5rem;
 position: relative;
  display: flex;
 align-items: center;
 justify-content: center;
 gap: 0 .8rem;
}

.nav_menu_btn a::after {
 content: '';
 width:1.4rem;
 height: 1.8rem;
 background: url(../images/arrow.svg) no-repeat;
 background-size: cover;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 right:2rem;
}
.nav_menu_btn a  span {
 width: 2.5rem;
 font-size: 0;
}

.nav_logo {
 width: 27rem;
 margin: 7.5rem auto 0;
}


/*                           mv                              */

.mv_img{
 width: 100%;
 height: auto;
 aspect-ratio: 375 / 372;
}
.mv_img img {
 max-height:none !important;
 object-fit: initial;
}

.mv_txt {
 width: 35.5rem;
 top: 8.4rem;
}
.mv_btn {
 width:100%;
 margin: -2rem auto 0;
 position: static;
 box-shadow: .3rem .3rem .3rem #0000004d;
 padding: 2rem 0;
 border-radius:0;
}
.mv_btn a {
 width: 23rem;
 font-size: 1.9rem;
 padding:.8rem 0;
 border-radius:3rem;
 gap: 0 1rem;
}
.mv_btn a::after {
 width:1rem;
 height:1.4rem;
 right: 2rem;
}
.mv_btn span {
 width: 2.2rem;
}

.mv_logo {
 width:24.8rem;
margin:1.5rem  auto 2rem;
aspect-ratio: 265 / 119;
}
.mv_banner {
 width:28rem;
 position: relative;
 bottom:  0;
 right: 0;
 left: 0;
 margin: 0 auto 0;
 aspect-ratio:280 / 103;

}

.section_content {
 padding-top:8rem;
 margin-top: -8rem;
}

.section_ttl {
 font-size: 2.1rem;
}

/*                           premise                              */
.premise_inner {
 padding-top: 12rem;
}

.premise_top {
 padding-top: 7.5rem;
}
.premise_ttl {
 flex-direction: column;
 gap: 1rem 0;
 top:-9rem;
}
.premise_ttl span {
 width:3.3rem;
}
.premise_ttl p {
 font-size: 1.9rem;
}
.premise_ttl p > span {
 display: block;
 width: 27rem;
 line-height: 1.9;
 position: relative;
}
.premise_ttl p::before {
 content: none;
}
.premise_ttl p span::before {
 content: "";
 width: 100%;
 height:.4rem;
 background: url(../images/border.webp) repeat-x;
 background-size: contain;
 position: absolute;
 bottom: 0;
 left: 0;
}


.premise_slider {
 height: 22.6rem;
 background-size:  159.5rem  22.6rem;
 animation: premise_slider infinite forwards 20s linear;
}
@keyframes premise_slider {
 0% {
  background-position:center left 0 ;
 }
 100% {
  background-position:center left  -159.5rem ;
 }
}


.premise_risk {
 padding-bottom:3rem;
}
.premise_risk::before {
 width: 33.2rem;
 height: 8.2rem;
 bottom: -4.5rem;
}
.premise_risk_ttl {
 width: 22.7rem;
 font-size: 2.3rem;
 padding: 3.5rem 0 9.5rem;
  writing-mode: vertical-rl;
 text-align: left;
 display: flex;
 justify-content: center;
}
.premise_risk_ttl > span {
 width: fit-content;
 display: flex;
 margin: 0 auto;
 align-items: end;
}
.premise_risk_ttl span > span {
 writing-mode:horizontal-tb;
 line-height: 1;
 width: 3.5rem;
 text-align: center;
}
.premise_risk_txt {
 width: 14.2rem;
 font-size: 1.4rem;
 padding:4.2rem 0 3.3rem;
 left: auto;
 right: auto;
 margin: 0 ;
 letter-spacing: 0.01em;
 z-index: 1;
}
.premise_risk_txt_01 {
 top: 17.5rem;
 left:.2rem;
}
.premise_risk_txt_02 {
 top:.7rem;
 left: .2rem;
}
.premise_risk_txt_03 {
 top: 2rem;
 right:.2rem;
}
.premise_risk_txt_04 {
 top:18rem;
 right:.2rem;
}

.premise_if {
 padding: 6.5rem 0 19.5rem;
}
.premise_if::before {
 height: 4.2rem;
 bottom: 32rem;
}
.premise_if_txt {
 font-size: 1.7rem;
 line-height: 1.9;
}
.premise_img {
 width:100%;
 margin: 5rem auto 0;
 aspect-ratio: 750 / 895;
}

.premise_icon_01 {
 width:13rem;
 top:  -3.5rem;
 left: auto;
 right: 1rem;
}
.premise_icon_02 {
 width: 13rem;
 top:  35.5rem;
 right:auto;
 left: 1rem;
}
.premise_icon_03 {
 width: 8.5rem;
 top:  5rem;
 left:  auto;
 right: 2rem;
}
.premise_icon_04 {
 width: 14rem;
 top:  45.5rem;
 right:13.5rem;
}
.premise_icon_05 {
 width:14rem;
 top:  45.5rem;
 right: -.5rem;
}

/*                          features                            */

.features_inner {
 padding-bottom: 7rem;
}

.features_item {
 width:34rem;
 margin:2rem auto 0;
 flex-direction: column;
 gap: 4.5rem 0;
}

.features_box {
 width: 100%;
 margin: 0 auto;
 padding:3.5rem  1.7rem 2rem;
 border-radius:1.4rem;
}
.features_box:first-of-type {
 width: 100%;
 padding-bottom: 0;
}
.features_num {
 width: 4.5rem;
 border: .4rem solid #fff;
 font-size: 2.5rem;
 padding: .8rem 0 .4rem;
 left: 1.5rem;
 top: -2rem;
}
.features_box_flex {
 flex-direction: column;
 gap: 2.5rem 0;
}
.features_detail {
 width:100%;
}
.features_box_ttl {
 font-size: 2.2rem;
 letter-spacing: 0.04em;
 line-height: 1.36;
 margin-bottom: 1rem;
}
.features_box_txt {
 font-size: 1.4rem;
 letter-spacing: 0.02em;
}
.features_img {
 width: 32.5rem;
 aspect-ratio: 650 / 631;
}

/*                          function                            */

.function_inner {
 padding-bottom:13.4rem;
}

.splide__track {
 padding:13rem 0 7.5rem;
}

.function_slide {
 width:32.5rem !important;
 margin-right: 2.5rem !important;
 position: relative;
}
.function_label {
 width: 12.5rem;
 top:-10.5rem;
}
.function_slide_box {
 padding:2rem ;
 border-radius:2rem;
 box-shadow: .5rem .5rem .5rem #0000004d;
}
.function_img {
 aspect-ratio: 573 / 286;
}
.function_slide_ttl {
 gap: 0 1rem;
 font-size: 1.9rem;
 margin-bottom:1.5rem;
 margin-top:1rem;
}
.function_slide_ttl span {
 width:5rem;
 aspect-ratio: 50 / 43;
}
.function_slide_txt {
 gap: 1rem 0;
}
.function_slide_txt p {
 font-size: 1.4rem;
}
.function_slide_txt p::before {
 width:1.1rem;
 height:1.1rem;
 top: .5rem;
}
.splide__arrows {
 width:17.7rem;
}
.splide .splide__arrow {
 width: 3.2rem;
 height: 3.2rem;
}

.splide .splide__pagination {
 bottom:1rem;
 gap: 0 1.5rem;
}
.splide .splide__pagination__page {
 width: .7rem;
 height: .7rem;
}




/*                          effect                            */
#effect {
 padding-top: 6rem;
 margin-top: -6rem;
}
.effect_inner {
background: linear-gradient(180deg, rgba(0, 165, 227, 1) 0%, rgba(0, 165, 227, 1) 10rem, rgba(45, 92, 163, 1) 10rem, rgba(45, 92, 163, 1) 100%);
padding-bottom: 10rem;
}
.effect_inner .section_ttl {
 font-size: 3.2rem;
}
.effect_item {
 width:34.2rem;
 box-shadow: .7rem .7rem 0 #3192d0;
 padding:  3.5rem 0 0;
}
.effect_txt {
  width:30.5rem;
  text-align: justify;
  line-height: 2.4;
  margin-top: 0.5rem;
}
.effect_txt p{
 font-size: 1.4rem;
 font-weight: 500;
 letter-spacing: 0.01em;
 background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 88%, #3c3c3c 88%, #3c3c3c 90%, rgba(0, 0, 0, 0) 90% ,  rgba(0, 0, 0, 0) 100%);
  background-repeat: repeat-y;
  background-size: 100% 2.4em;
}
.effect_detail {
 padding:4.5rem 0  3rem;
 margin-top: 5rem;
}
.effect_detail::before {
 height:.1rem;
}
.effect_detail_ttl {
 font-size: 2rem;
}
.effect_detail_ttl span {
 font-size: 1.4rem;
}
.effect_detail_flex {
 width:31.8rem;
 justify-content: center;
 flex-wrap: wrap;
 margin: 0 auto;
 left: 0;
 transform: none;
 margin-top: 2.5rem;
}
.effect_detail_img {
 width: 15.7rem;
 aspect-ratio: 157 / 233;

}




/*                          about                            */
#about {
 padding-top: 6rem;
 margin-top: -6rem;
}
.about_inner {
 padding:  8.5rem 0  5rem;
}

.about_logo {
 width:21.4rem;
 margin: 0 auto  4rem;
 aspect-ratio: 214 / 86;
}
.about_inner .section_ttl {
 font-size: 2.3rem;
 line-height: 1.34;
}

.about_txt {
 font-size: 1.4rem;
 line-height: 1.9;
 margin-top: 3rem;
}

.about_img {
  width: 100%;
  margin:  5rem auto 0;
  aspect-ratio: 750 / 1372;
}



/*                          faq                            */
#faq {
 padding-top: 6rem;
 margin-top: -6rem;
}
.faq_inner {
 padding:6rem 0 8rem;
}
.faq_inner .section_ttl {
 margin-bottom: 3rem;
}
.faq_contents {
 width:  32.5rem ;
 margin: 0 auto  ;
 border-bottom: #3c3c3c solid .1rem;
}
.faq_btn {
 gap: 0  1rem;
 border-top: #3c3c3c solid .1rem;
 align-items: baseline;
 padding: 1.4rem  .5rem;
}
.faq_btn .q {
 width: 1.5rem;
 font-size: 2rem;
}
.faq_btn .ttl{
 width: 28rem;
font-size: 1.4rem;
text-align: left;
}
.faq_btn .faq_icon{
 width:1rem;
 right:1rem;
}
.faq_btn .faq_icon::before,
.faq_btn .faq_icon::after {
 border: #3c3c3c solid .1rem;
}
.faq_item_txt > div {
 gap: 0  1rem;
 border-top: #3c3c3c solid .1rem;
 padding:1.5rem  .5rem ;
}
.faq_item_txt .a {
 width:1.5rem;
 font-size: 2rem;
}
.faq_item_txt p{
 width:29rem;
font-size: 1.3rem;
}




/*                          other                            */
.other_inner {
 padding-top: 4.5rem;
 border-top: #2d5ca3 solid .4rem;
}
.other_txt {
 font-size: 1.9rem;
 line-height: 1.9;
}

.other_btn {
 width: 30rem;
 margin: 4rem auto 2rem;
}
.other_btn_txt {
 font-size: 1.5rem;
 margin-bottom: .5rem;
}
.other_btn a {
 font-size: 2rem;
 padding:2.5rem 0;
 border-radius: 4.5rem;
 gap: 0 .8rem;
}
.other_btn span {
 width: 2.8rem;
 font-size: 0;
}
.other_btn a::after {
 width: .9rem;
 height:1.4rem;
 right:3rem;
}


.other_logo {
 width: 18.5rem;
}



/*                          footer                            */

.footer_inner {
 padding-top:  min(2.5rem, calc(25vw / 13.66));
}
.footer_menu {
 flex-direction: column;
 gap: 2rem 0;
 margin-bottom: 1rem;
}
.footer_menu p {
 font-size: 1.2rem;
}

.footer_menu ul a {
 padding: 0 2rem;
 border-left: #3c3c3c solid .1rem;
 border-right: #3c3c3c solid .1rem;
}

.footer_menu li a p::before {
 content: none;
}

.copy {
 font-size: 1rem;
 padding:  .8rem 0;
 letter-spacing: 0;
}

}
