@charset "UTF-8";
/* @import url('https://fonts.googleapis.com/css2?Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Kiwi+Maru&family=Noto+Sans+JP:wght@100..900&family=Zen+Kaku+Gothic+Antique:wght@400;500;700&display=swap'); */
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Kiwi+Maru&family=Noto+Sans+JP:wght@100..900&family=Zen+Kaku+Gothic+Antique:wght@400;500;700&display=swap');

*{
  box-sizing:border-box;
  font-style:normal
}
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
}
:root {
  --font-kiwi: "Kiwi Maru", serif;
  --font-noto: "Noto Sans JP", sans-serif;
  --color-main: #203289;
  --color-acc: #FF7700;
  --color-sub: #F4E827;
  --pc_p: clamp(18px, 0.9375vw, 32px);
  --pc-p-lineheight: 1.78;
  --sp_p: clamp(16px, 4.071vw, 20px);
  --sp_p-lh: 1.625

}
body{
  margin: 0;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  line-height:1.5;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: 16px;
  font-weight: 400;
  text-rendering:auto;
  letter-spacing: 0;
  font-feature-settings: "palt";
  -webkit-font-smoothing: antialiased;
  color: var(--color-main);
  position: relative;
  overflow-x: hidden;
}
img {
  display: block;
  max-width: 100%;
  height: auto;
}
svg {
  display: block;
  max-width: 100%;
}
table{width:100%;border-collapse:collapse;border-spacing:0}
ul,
ol {
  margin: 0;
  padding: 0;
}
li{list-style:none}
a {
  color: inherit;
  text-decoration: none;
}
a,a:hover{
  transition: 0.5s;
}
p,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
}
main{
  background-color: var(--color-sub);
  overflow: hidden;
}


/* Base
================================*/
.pcOnly{
  display: block;
}
.spOnly{
  display: none;
}
 @media screen and (max-width: 768px) {
  .pcOnly{display: none;}
  .spOnly{display: block;}
}

.flex {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex; -ms-flex-wrap: wrap; flex-wrap: wrap;
}


/* メインコンテンツ
==============================================*/

/*ヘッダー*/
header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 12px 6.25vw 7px 6.25vw;
  box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.08);
  text-align: center;
  position: fixed;
  background-color: #fff;
  z-index: 999;
  font-family: "Inter", sans-serif;
  font-weight: 700;
}
header .logo{
  max-width: 263px;
}
header .tel{
  color: #4E4E4E;
  font-weight: 700;
  font-size: 32px;
  line-height: 0.5;
  letter-spacing: 0.05em;
}
header .ic img{
  height: 39px;
}
header p{
  font-weight: 700;
  color: #4E4E4E;
  font-size: 11px;
}
header p.ic{
  margin-top: -10px;
}
header > div {
  display: flex;
  align-items: center;
}


@media screen and (max-width: 768px) {
  header{
    padding: 12px 10px;
    box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.25);
  }
  header .logo img{
    max-height: 26px;
  }
  header .tel{
    font-size: 16px;
  }
  header .ic img{
    height: 26px;
  }
  header p{
    font-size: 8px;
  }
  header p.ic{
    margin-top: 0px;
  }
}




/*MV*/
.mv{
  position: relative;
  margin-top: 40px;
  padding: 110px 0 110px;
  border-radius: 1000px 1000px 0 0 / 300px 300px 0 0;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.mv::before{
  content: "";
  position: absolute;
  width: 3444px;
  height: 3444px;
  left: 50%;
  top: -2773px;
  transform: translateX(-50%);
  border-radius: 50%;
  background: #fff;
}
.mv h1{
  margin-top: 30px;
  margin-bottom: 75px;
}
.mv a{
  margin-bottom: 15px;
}
.mv > * {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 1921px) {
  .mv{
    padding: 5.73vw 0 8.73vw;
  }
  .mv::before{
    height: clamp(3500px, 3620px, 150vw);
  }
}
@media screen and (max-width: 768px) {
  .mv{
    padding: 0;
  }
  .mv h1{
    max-width: 72.26%;
    margin-bottom: 25px;
    padding-top: 25px;
  }
  .mv a{
    max-width: 66.16%;
  }
  .mv::before{
    width: 220.86vw;
    height: 220.86vw;
    top: -158vw;
  }
}
@media screen and (max-width: 768px) {

}

.mv .illust {
  position: fixed;
  z-index: 10;
  top: 130px;
  left: 1.5vw;
  max-width: 20.16vw;
}
.mv .illust._02{
  left: auto;
  right: 1.5vw;
  max-width: 19.64vw;
}
.mv .illust.is-stop {
  position: absolute;
}
@media screen and (max-width: 768px) {
  .mv .illust{
    position: absolute;
    top: 215px;
    left: -5.5vw;
  }
  .mv .illust._02{
    right: -5vw;
  }
}
@media screen and (max-width: 500px) {
  .mv .illust{
    top: 40vw;
  }
}
@media screen and (max-width: 400px) {
  .mv::before{
    top: -153vw;
  } 
  
}


/*lead*/
.lead{
  margin-top: 50px;
  text-align: center;
  font-weight: 500;
}
.lead h2{
  display: inline-block;
  margin-bottom: 5px;
}
.lead > p{
  font-size: clamp(20px, 1.15vw, 24px);
  line-height: 2.045;
}
.lead > p.lead_top{
  margin-bottom: 40px;
  font-size: clamp(40px, 2.29vw, 44px);
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .lead{
    margin-top: 23vw;
  }
  .lead h2{
    margin-bottom: 15px;
  }
  .lead > p.lead_top{
    margin-bottom: 30px;
    font-size: clamp(20px, 1.15vw, 24px);
  }
  .lead > p{
    font-size: var(--sp_p);
    font-family: var(--font-kiwi);
    line-height: var(--sp_p-lh);
  }
}
@media screen and (max-width: 400px) {

}

/*about*/
.about{
  position: relative;
  margin: 0 auto;
  margin-top: 130px;
  padding: 7vw 0 0;
  text-align: center;
  background: #fff;
  height: 48.02vw;
  width: 48.02vw;
  border-radius: 50%;
}
.about::before{
  content: "";
  position: absolute;
  width: 26.72vw;
  height: 100%;
  top: -3vw;
  left: -23vw;
  background: url(../img/bg_star_01.svg) no-repeat left center / contain;
}
.about::after{
  content: "";
  position: absolute;
  width: 23.39vw;
  height: 100%;
  top: -6.5vw;
  right: -21vw;
  background: url(../img/bg_star_02.svg) no-repeat left center / contain;
}
.about_inner{
  max-width: 90%;
  margin: 0 auto;
}
.about h2{
  display: inline-block;
  width: 29.48vw;
  margin-bottom: 25px;
}
.about h2 img,
.about_price img {
  margin: 0 auto;
}
.about_head{
  display: inline-block;
  padding: 2px 80px 4px 80px;
  background: #203288;
  color: #fff;
  border-radius: 30px;
  font-size: 24.645px;
  font-weight: 700;
  text-align: center;
  font-size: clamp(22px, 1.285vw, 24.64px);
}
.about_price{
  width: 39.11vw;
  display: inline-block;
  margin-top: 1.56vw;
}
.about_price + p{
  margin-top: 5px;
  font-size: clamp(25px, 1.3vw, 31px);
  color: #939CC7;
  font-weight: 700;
}
.about_tx{
  margin-top: 20px;
  font-size: var(--pc_p);
  line-height: var(--pc-p-lineheight);
  font-family: var(--font-kiwi);
}
.about_tx p:nth-of-type(2){
  margin-top: 15px;
}
.about_deco > div{
  position: absolute;
  top: 8.49vw;
  left: -24vw;
  max-width: 28.07vw;
  z-index: 10;
}
.about_deco > div:nth-of-type(2){
  left: auto;
  top: 13vw;
  right: -22.5vw;
  max-width: 22.66vw;
}
@media screen and (min-width: 1921px) {
  .about{
    padding: 9vw 0 0;
    height: 53vw;
    width: 53vw;
  }
}
@media screen and (min-width: 3000px) {
  .about{
    padding: 15vw 0 0;
    height: 53vw;
    width: 53vw;
  }
}
@media screen and (max-width: 1750px) {
  .about_deco > div{
    top: 2.49vw;
    left: -27vw;
    max-width: 25.07vw;
  }

}
@media screen and (max-width: 1500px) {
  .about{
    padding: 90px 0 0;
    height: 63.02vw;
    width: 63.02vw;
  }
  .about_tx{
    max-width: 45vw;
    margin: 0 auto;
    margin-top: 20px;
  }
  .about_deco > div{
    top: 26.49vw;
    left: -18vw;
    max-width: 22.07vw;
  }
  .about::before{
    top: -12vw;
    left: -15vw;
  }
  .about::after{
    width: 23.39vw;
    height: 100%;
    top: -17.5vw;
    right: -17vw;
  }
  .about_deco > div:nth-of-type(2){
    top: 28vw;
    right: -17.5vw;
    max-width: 22.66vw;
  }
  
}
@media screen and (max-width: 1000px) {
  .about{
    padding: 4vw 0 0;
    height: 75.02vw;
    width: 75.02vw;
  }
  .about_tx{
    max-width: 55vw;
  }
  .about_deco > div:nth-of-type(2){
    top: 40vw;
    right: -11.5vw;
  }
  .about_deco > div{
    top: 32.49vw;
    left: -15vw;
    max-width: 24.07vw;
  }
  .about::before{
    width: 31.72vw;
    height: 100%;
    top: -11vw;
    left: -23vw;
  }
  .about::after{
    width: 29.39vw;
    height: 100%;
    top: -14.5vw;
    right: -23vw;
  }
}
@media screen and (max-width: 768px) {
  .about{
    margin-top: 30vw;
    padding: 0;
    height: auto;
    width: auto;
    border-radius: 50% 0 50% 0;
    background: none;
  }
  .about_inner{
    position: relative;
    max-width: 80.66vw;
    z-index: 2;
  }
  .about_wrap{
    position: relative;
    background-color: #fff;
  }
  .about_wrap::before{
    position: absolute;
    content: "";
    width: 100%;
    height: 18.32vw;
    top: -18vw;
    left: 0;
    background: url(../img/about_line.png) no-repeat left center / contain;
  }
  .about_wrap::after{
    position: absolute;
    content: "";
    width: 100%;
    height: 18.32vw;
    bottom: -18vw;
    left: 0;
    background: url(../img/about_line.png) no-repeat left center / contain;
    transform: rotateX(180deg);
  }
  .about h2{
    width: 100%;
    margin-top: -40px;
    margin-bottom: 15px;
    text-align: center;
  }
  .about h2 img{
    display: inline-block;
  }
  .about_head{
    padding: 5px 70px;
  }
  .about_price{
    width: 100%;
    margin-top: 20px;
  }
  .about_price + p{
    font-size: 16px;
  }
  .about_tx{
    max-width: 100%;
    font-size: var(--sp_p);
    line-height: var(--sp_p-lh);
  }
  .about_deco > div{
    display: none;
  }
  .about::before {
    width: 93.89vw;
    height: 13.49vw;
    top: -22vw;
    left: 2vw;
    background: url(../img/bg_star_sp01.svg) no-repeat left center / cover;
  }
  .about::after {
    width: 91.35vw;
    height: 14.5vw;
    top: inherit;
    bottom: -25vw;
    right: 5vw;
    background: url(../img/bg_star_sp02.svg) no-repeat left center / contain;
  }
}


/* initiative */
.initiative{
  position: relative;
  margin-top: 180px;
  display: flex;
  align-items: center;
  flex-direction: column;
}
.initiative > *{
  text-align: center;
}
.initiative_box{
  position: relative;
  margin-top: 170px;
  display: flex;
  align-items: center;
  flex-direction: column;
}
.initiative_box::after{
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -52px;
  width: 96%;
  height: 332px;
  background: url(../img/illust_ttl.png) no-repeat left center / 100%;

}
.initiative_box > p{
  margin-bottom:25px;
}
.initiative_box_inner{
  width: 1200px;
  max-width: calc(100% - 40px);
  min-height: 929px;
  padding: 140px 0 180px;
  background: #fff;
  border-radius: 50% / 464.5px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
     
}
.initiative_box_inner h3 > span{
  display: block;
  margin-bottom: 20px;
  font-family: var(--font-kiwi);
  font-size: clamp(28px, 1.77vw, 34px);
  font-weight: 400;
  letter-spacing: 0.075em;
}
.initiative_box_inner h3{
  text-align: center;
}
.initiative_box_inner h3 img{
  display: inline-block;
}
.initiative_box_inner h3 span.pcOnly{
  display: inline-block;
}
.initiative_box_inner h3+p{
  margin-top: 65px;
  font-size: var(--pc_p);
  font-family: var(--font-kiwi);
}
.initiative_box_contents{
  margin-top: 5px;
  color: #000;
}
.initiative_box_contents .ttl{
  position: relative;
  margin-bottom:60px;
}
.initiative_box_contents._01 p:nth-of-type(1),.initiative_box_contents._02 p:nth-of-type(1),.initiative_box_contents._03 p:nth-of-type(1),.initiative_box_contents._04 p:nth-of-type(1){
  font-size: clamp(30px, 1.5625vw, 44px);
  font-weight: 700;
}
.initiative_box_contents._03 p:nth-of-type(1){
  margin-bottom: 20px;
}
.initiative_box_contents {
  font-size: clamp(48px, 3.33vw, 63.84px);
  font-weight: 700;
  line-height: 1.0;
}
.initiative_box_contents._01{
  margin-top: 5px;
}
.initiative_box_contents._04{
  margin-top: 65px;
}
.initiative_box_contents._01 .result{
  margin-top: 10px;
  margin-left: 50px;
}
.initiative_box_contents .result span.big{
  font-size: clamp(72px, 5.94vw, 114px);
  color: var(--color-acc);
}
.initiative_box_contents .result span.small{
  font-size: clamp(22px, 1.41vw, 27px);
  writing-mode: vertical-rl;
}
.initiative_box_contents .result span.acc{
  color: var(--color-acc);
}
.initiative_box_contents .note{
  margin-top: 18px;
  font-size: clamp(16px, 0.94vw, 18px);
  color: #A8A8A8;
}
.initiative_box_contents._03 p:nth-of-type(3){
  margin-top: 40px;
  font-size: var(--pc_p);
  font-family: var(--font-kiwi);
  font-weight: 400;
  line-height: 1.5;
}
.initiative_box_contents picture{
  display: inline-block;
}
.initiative_box_contents._01 picture{
  margin-top: 40px;
}
.initiative_box_contents._02 picture{
  margin-top: 45px;
  margin-left: 15px;
}
.initiative_box_contents._03 .result{
  margin-top: 60px;
}
.initiative_box_contents._03 picture{
  margin-top: 40px;
}
.initiative_box_contents._04 .result{
  margin-top: 25px;
}
.initiative_box_contents._04 .result span.big{
  font-size: clamp(72px, 5.94vw, 114px);
  color: var(--color-acc);
}
.initiative_box_contents._04 p:nth-of-type(3){
  margin-top: 100px;
  font-size: clamp(28px, 1.77vw, 34px);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.0;
}
.initiative_box_contents._04 p:nth-of-type(5){
  margin-top: 40px;
}
.initiative_box_contents._04 p:nth-of-type(3) span.acc{
  color: var(--color-acc);
}
.initiative_box_contents._04 p:nth-of-type(3) span.big{
  font-size: clamp(57px, 3.698vw, 71px) ;
}
.initiative_box_contents._04 p:nth-of-type(3) span.big > span{
  font-size: clamp(82px, 5.318vw, 102.1px);
  letter-spacing: -0.1em;
}
.initiative_box_contents._04 p:nth-of-type(3) span.big-02{
  font-size: clamp(45px, 2.94vw, 56px);
}
.initiative_box_contents._04 p:nth-of-type(4){
  margin-top: 40px;
  font-size: var(--pc_p);
  font-family: var(--font-kiwi);
  font-weight: 400;
}
.pd-right-10{
  padding-right: 10px;
}
.pd-right-15{
  padding-right: 15px;
}
.pd-left-20{
  padding-left: 20px;
}

.initiative_box._02{
  margin-top: 165px;
}
.initiative_box._02 .initiative_box_inner h3 > span{
  margin-bottom: 45px;
}
.initiative_box._02 .initiative_box_inner h3+p{
  margin-top: 40px;
}
.initiative_box._02 .initiative_box_contents._01 picture{
  margin-top: 85px;
}
.initiative_box._02 .point{
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
}
.initiative_box._02 .point span:nth-of-type(1){
  font-size: clamp(25px, 1.56vw, 30px);
}
.initiative_box._02 .point span:nth-of-type(2){
  margin-left: 45px;
  font-size: clamp(35px, 2.24vw, 43px) ;
}
.initiative_box._02 figure{
  width: 90%;
  margin: 60px auto 0;
  padding: 33px 74px 28px;
  background: #FFF;
  border-radius: 18px;
  box-shadow: 0 5px 15px 1px rgba(0, 0, 0, 0.25);
}
.initiative .illust-side {
  position: absolute;
  z-index: 10;
  top: 150px;
  left: 0;
  max-width: 18.16vw;
}
.initiative .illust-side._02{
  left: auto;
  right: 0;
  max-width: 17.64vw;
}
.initiative .illust-side.is-fixed {
  position: fixed;
}
.initiative .illust-side.is-stop {
  position: absolute;
}
.initiative_box_contents._01 picture.popup_thumb{
  display: block;
  width: 54.38vw;
  margin: 0 auto;
  margin-top: 60px;
  padding: 28px 76px 28px 73px;
  background: #fff;
  border-radius: 17.571px;
  box-shadow: 0 5.491px 18.669px 1.098px rgba(0, 0, 0, 0.25);
}
.initiative_box_contents picture.ttl{
  margin-left: 0;
}

.popup_btn{
  display: inline-block;
  padding: 11px 80px 16px 42px;
  border-radius: 28px;
  margin-top: 30px;
  background: #D9D9D9;
  color: #000;
  font-weight: 700;
  font-size: clamp(23px, 1.458vw, 28px) ;
}
.popup_btn.spOnly{
  display: none;
}
.popup_btn span{
  position: relative;
}
.popup_btn span::after{
  content: "";
  position: absolute;
  top: 5px;
  right: -45px;
  width: 30px;
  height: 35px;
  background: url(../img/ic_loupe.svg) no-repeat left center /100%;
}
.popup {
  position: fixed;
  z-index: 9999;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px;
  background: rgba(0, 0, 0, 0.20);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.popup.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.popup_inner {
  position: relative;
  /* width: min(90vw, 1200px); */
  width: 80.16vw;
  max-height: 90vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #FFF;
  padding: 40px 80px;
  border-radius: 26px;
  box-shadow: 0 8px 27px 1px rgba(0, 0, 0, 0.25);
}
.popup_inner img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 90vh;
  height: auto;
}
.popup_close {
  position: absolute;
  top: -60px;
  right: 0px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
  width: 162.093px;
  border-radius: 29.471px;
  border: none;
  font-weight: 700;
  font-size: clamp(19px, 1.25vw, 24px) ;
  padding-left: 28px;
  color: #000;
}
.popup_close::before,
.popup_close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 30px;
  width: 20px;
  height: 5px;
  background: #000;
}
.popup_close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.popup_close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.initiative_box._02 .initiative_box_contents._02{
  margin-top: 90px;
  font-weight: 700;
}
.initiative_box._02 .initiative_box_contents._02 > div{
  font-size: clamp(35px, 2.24vw, 43px);
  line-height: 1.4;
}
.initiative_box._02 .initiative_box_contents._02 > div span{
  display: block;
  font-size: clamp(23px, 1.458vw, 28px);
}
.initiative_box._02 .initiative_box_contents._02 ul{
  font-size: clamp(42px, 2.76vw, 53px);
  color: var(--color-main);
}
.initiative_box._02 .initiative_box_contents._02 ul li{
  margin-top: 45px;
}
.initiative > p{
  margin-top: 110px;
  font-size: clamp(38px, 2.448vw, 47px);
  color: var(--color-main);
  font-weight: 700;
}
@media screen and (max-width: 1200px) {
  .initiative_box{
    max-width: 80%;
  }
  .initiative_box_inner{
    border-radius: 67% / 317.5px;
  }
  .initiative_box::after{
    top: -73px;
    width: 93%;
  }
}
@media screen and (max-width: 786px) {
  .initiative{
    margin-top: 30vw;
  }
  .initiative .illust-side {
    position: absolute;
  }
  .initiative .illust-side.is-stop {
    position: absolute;
  }
  .initiative .illust-side
  {
    display: none;
  }
  .initiative_box{
    max-width: 100%;
    margin-top: 55px;
  }
  .initiative_box._02{
    margin-top: 100px;
  }
  .initiative_box_inner{
    position: relative;
    width: 89%;
    padding: 75px 0 0;
    border-radius: 50% 50% 0 0 / 35vw 35vw 0 0;
  }
  .initiative_box_inner h3+p{
    margin-top: 20px;
  }
  .initiative_box > p{
    width: 12.98vw;
    margin-bottom: 10px;
  }
  .initiative_box::after {
    top: -4vw;
    width: 89%;
    height: 46vw;
    background: url(../img/illust_ttl-sp.png) no-repeat left center / contain;
  }
  .initiative_box::before{
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -15vw;
    width: 90%;
    height: 25.66vw;
    background: url(../img/bg_star_sp03.svg) no-repeat left center / contain;
  }
  .initiative_box._02::before{
    content: none;
  }
  .initiative_box_inner > div{
    margin-top: -50px;
    z-index: 2;
  }
  .initiative_box_inner h3 span.pcOnly{
    display: none;
  }
  .initiative_box_inner h3 span{
    margin-bottom: 25px;
    font-size: var(--sp_p);
    line-height: var(--sp_p-lh);
  }
  .initiative_box_inner h3 img{
    width: 72.26vw;
    margin: 0 auto;
  }
  .initiative_box_contents{
    margin-top: 35px;
    font-size: clamp(21px, 6.27vw, 25px);
  }
  .initiative_box_contents._01{
    margin-top: 35px;
  }
  .initiative_box_contents._04{
    margin-top: 35px;
  }
  .initiative_box_contents._01 p:nth-of-type(1), .initiative_box_contents._02 p:nth-of-type(1), .initiative_box_contents._03 p:nth-of-type(1), .initiative_box_contents._04 p:nth-of-type(1){
    font-size: 4.07vw;
    line-height: 1.4;
  }
  .initiative_box_inner h3+p{
    font-size: var(--sp_p);
  }
  .initiative_box_contents .result{
    line-height: 1.5;
  }
  .initiative_box_contents._01 .result{
    margin-top: 20px;
    margin-left: 0;
  }
  .initiative_box_contents._03 .result{
    margin-top: 20px;
  }
  .initiative_box_contents._03 p:nth-of-type(3){
    margin-top: 20px;
    font-family: inherit;
    font-size: clamp(16px, 4.071vw, 25px);
    font-weight: 700;
  }
  .initiative_box_contents._04 p:nth-of-type(3){
    margin-top: 20px;
    font-size: clamp(16px, 4.071vw, 25px);
    line-height: 1.5;
  }
  .initiative_box_contents._04 p:nth-of-type(3) span.big{
    font-size: clamp(29px, 8.77vw, 35px);
  }
  .initiative_box_contents._04 p:nth-of-type(3) span.big > span{
    font-size: clamp(29px, 8.77vw, 35px);
  }
  .initiative_box_contents._04 p:nth-of-type(3) span.sp-bold{
    font-size: clamp(17px, 5.01vw, 20px);
  }
  .initiative_box_contents._04 p:nth-of-type(4){
    margin-bottom: 25px;
    font-family: inherit;
    font-weight: 700;
    font-size: clamp(16px, 4.071vw, 25px);
    line-height: 1.5;
  }
  .initiative_box_contents._04 p:nth-of-type(4){
    margin-top: 30px;
  }
  .initiative_box_contents._04 p:nth-of-type(3) span.big-02{
    font-size: clamp(17px, 5.01vw, 20px);
  }
  .initiative_box_contents .note{
    margin-top: 5px;
    font-size: clamp(9px, 2.54vw, 15px);
    font-weight: 400;
  }
  .initiative_box_contents .result span.big{
    font-size: clamp(34px, 10.28vw, 41px);
  }
  .pd-right-7 {
    padding-right: 7px;
  }
  .pd-left-7 {
    padding-left: 7px;
  }
  
  .initiative_box_contents._01 picture{
    margin-top: 20px;
    margin-left: 0;
    width: 72.77vw;
  }
  .initiative_box_contents._02 picture{
    margin-top: 20px;
    margin-left: 0;
    width: 72.77vw;
  }
  .initiative_box_contents._03 picture{
    margin-top: 20px;
    width: 77.86vw;
  }
  .initiative_box_contents picture.ttl{
    width: 100%;
    margin: 0 auto;
    margin-bottom: 30px;
  }
  .initiative_box_contents picture.ttl img{
    display: inline-block;
    width: 120%;
  }
  .initiative_box_bottom{
    width: 89%;
    margin: 0 auto;
  }
  .initiative_box._02 .initiative_box_inner h3{
    position: relative;
    padding-bottom: 25px;
  }
  .initiative_box._02 .initiative_box_inner h3::after{
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    height: 1px;
    width: 36.84vw;
    background: #203289;
  }
  .initiative_box._02 .initiative_box_inner h3 img{
    max-width: 61.65vw;
  }
  .initiative_box._02 .initiative_box_inner h3 > span{
    margin-bottom: 25px;
  }
  .initiative_box._02 .initiative_box_contents._01 picture{
    margin-top: 25px;
  }
  .initiative_box._02 .initiative_box_contents._01 picture.ttl{
    margin-top: 0;
  }
  .initiative_box._02 .point{
    font-size: clamp(17px, 5.01vw, 20px);
    color: var(--color-main);
  }
  .initiative_box_contents._01 picture.popup_thumb{
    width: 66.92vw;
    margin-top: 25px;
    padding: 20px;
    border-radius: 6.166px;
    box-shadow: 0 3.083px 12.331px 0 rgba(0, 0, 0, 0.25);
  }
  .popup_btn.spOnly{
    display: inline-block;
  }
  .popup_btn.pcOnly{
    display: none;
  }
  .popup_btn{
    margin-top: 25px;
    padding: 8px 80px 10px 46px;
    font-size: clamp(20px, 6.11vw, 24px);
  }
  .popup_btn span::after{
    top: 4px;
    right: -36px;
    width: 24px;
    height: 29px;
  }
  .popup{
    padding: 0 20px;
  }
  .popup_inner{
    position: absolute;
    width: 55.83vh;
    max-height: 95vh;
    margin-top: 2vw;
    left: 50%;
    transform: translateX(-50%);
    margin-top: 6vw;
    padding: 32px 27px 27px 27px;
    border-radius: 8px;
  }
  .popup_close{
    top: -47px;
    font-size: clamp(16px, 4.071vw, 25px);
  }
  .initiative_box._02 .initiative_box_contents._02{
    margin-top: 25px;
  }
  .initiative_box._02 .initiative_box_contents._02 > div span{
    display: inline;
    font-size: clamp(16px, 4.071vw, 26px);
    font-family: var(--font-kiwi);;
  }
  .initiative_box._02 .initiative_box_contents._02 > div{
    font-size: clamp(16px, 4.071vw, 26px);
    font-family: var(--font-kiwi);
    line-height: 1.5;
    font-weight: 400;
  }
  .initiative_box._02 .initiative_box_contents._02 ul{
    margin-top: 25px;
    margin-bottom: 25px;
  }
  .initiative_box._02 .initiative_box_contents._02 ul li{
    margin-top: 10px;
    font-size: clamp(21px, 6.36vw, 25px);
  }
  .initiative_box_contents._02 .result{
    margin-top: 15px;
  }
  .initiative > p{
    margin-top: 50px;
    font-size: clamp(20px, 6.11vw, 22px);
  }
}
@media screen and (max-width: 500px) {
  .popup_inner{
    width: 92vw;
    margin-top: 8.5vw;
  }
}


.cta_bottom{
  position: relative;
  margin-top: 50px;
  margin-bottom: 30px;
  padding: 45px 0 35px;
  font-weight: 700;
  font-size: clamp(30px, 1.979vw, 38px);
  color: var(--color-main);
  background-color: #fff;
  text-align: center;
}
.cta_bottom a{
  display: inline-block;
  margin-top: 30px;
}
.cta_bottom::before{
  z-index: 11;
  content: "";
  position: absolute;
  width: 11.72vw;
  height: 100%;
  top: -18vw;
  left: 9vw;
  background: url(../img/bg_star_bottom02.svg) no-repeat left center / contain;
}
.cta_bottom::after{
  content: "";
  position: absolute;
  width: 12.24vw;
  height: 100%;
  top: -15vw;
  right: 16vw;
  background: url(../img/bg_star_bottom01.svg) no-repeat left center / contain;
}

.past{
  position: relative;
  margin-top: 70px;
  padding-bottom: 43px;
  font-weight: 700;
  color: #6c6c6c;
  font-size: clamp(17px, 1.04vw, 20px);
  text-align: center;
}
.past a{
  display: inline-block;
  position: relative;
  margin-top: 5px;
  font-size: clamp(19px, 1.25vw, 24px);
  transition: 0.5s;
}
.past a::after{
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #6c6c6c;
  transition: opacity 0.5s ease;
}
.past a:hover::after{
  opacity: 0;
}
.past::before{
  z-index: 900;
  content: "";
  position: absolute;
  width: 21.93vw;
  height: 32vw;
  top: -18vw;
  left: 4vw;
  background: url(../img/illust_bottom01.png) no-repeat left center / 105%;
}
.past::after{
  content: "";
  position: absolute;
  width: 20.68vw;
  height: 32vw;
  top: -18.5vw;
  right: 3vw;
  background: url(../img/illust_bottom02.png) no-repeat left center / 100%;
}
@media screen and (max-width: 786px) {
  .cta_bottom{
    font-size: clamp(20px, 6.11vw, 22px);
    margin-top: 20px;
    padding: 20px 0 25px;
  }
  .cta_bottom a{
    margin-top: 15px;
    max-width: 66.16vw;
  }
  
  .cta_bottom::before{
    display: none;
  }
  .cta_bottom::after{
    width: 92.37vw;
    top: -40vw;
    left: 50%;
    transform: translateX(-50%);
    background: url(../img/bg_star_bottom-sp.svg) no-repeat left center / contain;
  }
  .past{
    margin-top: 18px;
    font-size: clamp(12px, 3.56vw, 14px);
  }
  .past a{
    margin-top: 15px;
    font-size: clamp(9px, 3.05vw, 12px);
  }
  .past::before{
    width: 34.93vw;
    height: 58vw;
    top: -23vw;
    left: -8vw;
  }
  .past::after{
    width: 33.68vw;
    height: 59vw;
    top: -22.5vw;
    right: -8vw;
  }
}
@media screen and (max-width: 500px) {
  .cta_bottom::after {
    top: -47vw;
  }
}





/* footer
================================*/
footer{
  padding: 15px 0 25px;
  font-size: 16px;
  background-color: var(--color-main);
  color: #fff;
  font-family: var(--font-noto);
  font-weight: 400;
}
.footer_inner{
  max-width: 975px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fotter_link{
  width: 67%;
}
footer ul{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
footer ul li{
  margin-top: 7px;
  margin-right: 20px;
}
footer ul li a{
  position: relative;
}
footer ul li a::after{
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #fff;
  transition: opacity 0.5s ease;
}
footer ul li a:hover::after{
  opacity: 0;
}
.footer_logo{
  width: 35%;
}
.footer_logo p{
  display: block;
  padding: 11px 41px 11px 42px;
  border-radius: 5px;
  background-color: #fff;
}


@media screen and (max-width: 768px) {
  .footer{
    padding: 10px 0 15px;
    font-size: clamp(7px, 2.29vw, 9px);
  }
  .footer_inner{
    flex-direction: column;
  }
  .fotter_link{
    width: 90%;
    margin: 0 auto;
  }
  footer ul li{
    margin-top: 5px;
    margin-right: 10px;
  }
  footer ul li:nth-of-type(2),footer ul li:nth-last-of-type(1){
    margin-right: 0;
  }
  .footer_logo{
    width: 46.56vw;
    margin-top: 15px;
  }
  .footer_logo a{
    padding: 5px 20px;
  }
}












