@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, section, summary, time, mark, audio, video, hr {
    margin: 0;
    padding: 0;
    border: 0;
    vertical-align: baseline;
  }
  
  body * {
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  
  ol, ul {
    list-style: none;
  }
  
  table {
    border-collapse: collapse;
    border-spacing: 0;
  }
  
  img {
    vertical-align: bottom;
    max-width: 100%;
  }
  
  body {
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue","Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif, "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  }
  
  .marugo {
    font-family: "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO";
  }


p{
    line-height: 1.6;
    font-feature-settings: "palt";
}


  
.wrapper{ 
  margin: 0 auto;
}
@media screen and (min-width: 767px) {
  .wrapper{
    max-width: 750px;
    box-shadow: #999 0px 15px 15px;
  }
}

/* header------------- */
.header_logo{
  padding:2%;
  width: 60%;
}

/* hero------------- */
.hero{
  position: relative;
  background-image: url(../img/hero_back01.webp);
  background-repeat: no-repeat;
  background-size: cover;
  padding-bottom: 35%;
}
.hero_note{
  width: 95%;
  margin: 2% auto;
  background-color:  rgb(208 239 255 / 0.8);
  padding: 2%;
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .hero_note{
  font-size: 2.5vw;
  }
}
.cp_date{
  width: 100%;
}
.cp_note_head{
  background: #000082;
  padding: 1%;
  font-size: 36px;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .cp_note_head{
  font-size: 5vw;
  }
}
.cp_date_txt{
  width: 100;
  background-color: #ffff00;
  padding: 1% 0;
}
.btn_cp_wrap{
  margin-top: 5%;
}
.btn_cp{
  display: block;
  width: 92%;
  background-color: #e5015a;
  border-radius: 40px;
  padding: 2% 5%;
  margin: 2% auto 0;
  box-shadow: 0 10px #000;
}
.btn_cp:hover{
    transform: translateX(0px) translateY(5px);
    box-shadow: 0 5px #000;
}

.cp_content01{
  margin-top: -25%;
  background-color: #aee3ff;
  background-image: url(../img/cp_content01_back01.webp);
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 375px 375px 0 0 / 100px 100px 0 0;
  padding-top: 10%;
  padding-bottom: 30%;
}

.cp_content01_01_wrap{
  margin-top: 5%;
}
.cp_content01_02_wrap{
  margin-top: 3%;
}

.cp_content02_wrap{
  margin-top: -25%;
  background-color: #fff;
  border-radius: 375px 375px 0 0 / 100px 100px 0 0;
  padding-top: 10%;
  padding-bottom: 30%;
}
.cp_content02{
  position: relative;
  width: 100%;
  margin-top: 10%;
  text-align: center;
}
.cp_content02::after{
  position: absolute;
  content: "";
  left: 6%;
  bottom: -40px;
  width: 88%;
  border: #000082 2px dashed;
}

.cp_content02_01::after{
  position: absolute;
  content: "";
  left: 6%;
  bottom: -10%;
  width: 88%;
  border: #000082 2px dashed;
}

.cp_content02_subttl{
  margin-top: 5%;
}
.cp_content02_01_text_head{
  font-size: 40px;
  font-weight: bold;
  width: 88%;
  margin: 3% auto 0;
}
.cp_content02_01_text{
  text-align: justify;
  font-size: 32px;
  width: 88%;
  margin: 3% auto 0;
}

@media screen and (max-width: 767px) {
 .cp_content02_01_text_head{
  font-size: 5vw;
}
.cp_content02_01_text{
  font-size: 4vw;
}
.cp_content02::after{
  position: absolute;
  content: "";
  left: 6%;
  bottom: -5vw;
  width: 88%;
  border: #000082 2px dashed;
}
.cp_content02_01{
  padding-bottom: 2vw;
}
}


.cp_content02_01_text01{
  margin: 0% auto 0;
}
.btn_cp_content02{
  display: block;
  width: 72%;
  background-color: #e5015a;
  border-radius: 40px;
  padding: 2% 5%;
  margin: 2% auto 0;
  box-shadow: 0 10px #000;
}
.btn_cp_content02:hover{
    transform: translateX(0px) translateY(5px);
    box-shadow: 0 5px #000;
}

.cp_content02_figure{
  width: 100%;
  margin-top: 5%;
  margin-bottom: 5%;
}
.cp_content02_01_note_wrap{
  margin-top: 5%;
}
.cp_content02_01_note{
  width: 88%;
  font-size: 24px;
  margin: 1% auto 0;
  text-align: justify;
  padding-left: 24px;
  text-indent: -24px;

}
@media screen and (max-width: 767px) {
  .cp_content02_01_note{
    font-size: 3vw;
    padding-left: 3vw;
    text-indent: -3vw;
  }
}

.cp_content02_01_note a{
  color: #e5015a;
  font-weight: bold;
}


.cp_content02_btn_cp_wrap {
  margin-top: 10%;
}

.cp_TOS{
  margin-top: -25%;
  background-color: #aee3ff;
  border-radius: 375px 375px 0 0 / 100px 100px 0 0;
  padding-top: 10%;
  padding-bottom: 5%;
}
.cp_TOS_container{
  margin: 6% auto 0;
  width: 92%;
  font-size: 30px;
}
.cp_TOS_head{
  font-weight: bold;
  font-size: 25px;
}

.cp_TOS_txt{
  font-weight: normal;
  font-size: 25px;
  text-align: justify;
}

@media screen and (max-width: 767px) {
  .cp_TOS_head{
  font-size: 3vw;
}
.cp_TOS_txt{
  font-size: 3vw;
}
}


.cp_TOS_mt7{
  margin-top: 7%;
}
.cp_TOS_mt5{
  margin-top: 5%;
}
.cp_TOS_btn{
  display: block;
  background-color: #000082;
  border-radius: 50px;
  padding: .5%;
  box-shadow: 0 6px #000;
  color: #fff;
  font-weight: bold;
  font-size: 28px;
  text-align: center;
  text-decoration: none;
  margin: 2% 0;
  width: 50%;
}
.cp_TOS_btn:hover{
    transform: translateX(0px) translateY(5px);
    box-shadow: 0 3px #000;
}


.totop-wrap{
  margin-top: 5%;
}
.totop{
  display: block;
  margin: 0 auto;
  width: 67%;
  border-radius: 50px;
  background-color: #000082;
  padding: 2% 5%;
  text-align: center;
  box-shadow: 0 10px #000;
}
.totop:hover{
    transform: translateX(0px) translateY(5px);
    box-shadow: 0 5px #000;
}

.footer{
  margin-top: 10%;
  padding-bottom: 5%;
}
.Copywriter_info{
  margin-top: 5%;
  font-size: 30px;
  text-align: center;
}
.Copywriter{
  margin-top: 5%;
  font-size: 24px;
  text-align: center;
}

@media screen and (max-width: 767px) {
.cp_TOS_btn{
 font-size: 3vw;
}
.Copywriter_info{
  font-size: 3vw;
}
.Copywriter{
  font-size: 3vw;
}
}

