@charset "UTF-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@100;300;400;500;700;800;900&family=Noto+Sans+JP:wght@100..900&display=swap');
body {
    margin: 0;background-image: url("../img/haikei1.svg")!important;background-size: 600px 600px!important;background-repeat: repeat!important;
}
/* glico共通パーツ用 */
#footer__socials{
    background-color: #FFF;
}
/* glico共通パーツ用 */


.sp {
    display: none;
}

.pc {
    display: inherit;
}

/* ヘッダー */
header {
  width: 100%;
  height: 80px;
  margin: 0 auto;
  position: relative;
  background: #fff;
  overflow: hidden;
}
.fx1 {
  font-family: "M PLUS Rounded 1c", sans-serif;font-optical-sizing: auto;
  font-weight: 800;
  font-style: normal;
}
.logo {
  left: 20px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  max-width: 100px;
}
.box,.box_my {
    width: 100%;
    margin: 0 auto 40px;
    background: #fff;
    text-align: center;
    border-radius: 16px;
    border: 4px solid #0071bc;
}
.box2 {
    width: 100%;
    margin: 0 auto 40px;
    background: #fff;
    text-align: center;
    border-radius: 16px;
    border: 4px solid #e60012;
}
.box_my2 {
    width: 100%;
    margin: 40px auto;
    background: #fff;
    }

.box_t2 {
    border-radius: 10px 10px 0 0;
    background-color: #e60012;
    font-size: 28px;
    text-align: center;
    padding: 14px 16px 16px 16px;
    letter-spacing: 2px;
}
.f_title1{font-size: 30px;}
.box_t {
    border-radius: 10px 10px 0 0;
    background-color: #0071bc;
    font-size: 28px;
    text-align: center;
    padding: 14px 16px 16px 16px;
    letter-spacing: 2px;
}
.time {
  width: 90%;
  max-width: 1300px;
  margin: 64px auto 40px;
}
.txt1 {
  width: 90%;
  max-width: 1200px;
  margin: 16px auto 40px;
    text-align: right;
}
.red {
    color: #e60012;
}
em {
  font-style: normal;
}
.pc_n{display: inline;}
@media screen and (max-width: 600px) {
  .logo {width: 2.75rem;}
  .logo img { width: 100%;}
  header {height: 2.8125rem;}
  .brand {width: 2.75rem;}
}
/* ヘッダー */
/* フッター */
footer{padding: 40px;}
.copy{margin: 0 auto;width: 100%;max-width: 160px;}
/* フッター */

.cbtn{}
.cbtn a{
    background: rgba(230,0,18,1);color: #fff;text-align: center;overflow: hidden;position: relative;z-index: 1;border-radius:160px;;display:block;width:100%;box-sizing: border-box;border:4px solid #000;margin: 0 auto;padding: 18px 48px 20px 48px;}
.cbtn a::after {
 background: rgba(0,0,0,1);
  position: absolute;
    top: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 100%;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: .3s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: -1;
}
.cbtn a:hover {color: #fff;cursor: pointer;}
.cbtn a:hover::after {transform: scale(1, 1);}

.cbtn2{}
.cbtn2 a{background: rgba(35,80,207,1);color: #fff;text-align: center;overflow: hidden;position: relative;z-index: 1;border-radius:160px;padding: 24px 48px;font-size:18px;font-weight: 600;display:block;width:100%;box-sizing: border-box;border:4px solid #000;}
.cbtn2 a::after {
 background: rgba(0,0,0,1);
  position: absolute;
    top: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 100%;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: .3s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: -1;
}
.cbtn2 a:hover {color: #fff;cursor: pointer;}
.cbtn2 a:hover::after {transform: scale(1, 1);}

/**/

#endbox {
    display: none;
}

/*共通*/
section#top {
    width: 100%;
    font-family: "Noto Sans JP", sans-serif; font-optical-sizing: auto;font-style: normal;
    color: #000;
    font-weight:500;
    line-height: 1.8;
    letter-spacing: 1px;
}

.asterisk {
    text-indent: -1em;
    margin-left: 1em;
}

.asterisk::before {
    content: '※';
}

.t-c {text-align: center;}
#top section{box-sizing: border-box;}
/* #top section{} */

#top img {
    margin-top: 0px;
    width: 100%;
    height: auto;
    vertical-align: bottom;
}

/*mv kv*/
#top #kv img {
    padding: 0;
    box-sizing: border-box;
    margin: 0 auto;
    text-align: center;    
}

#nav {
    width: 100%;
    box-sizing: border-box;
    padding: 20px;
}
#nav ul{
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 1300px;
    width: 100%;
    align-items: center;
    flex-wrap: wrap;
}
#nav ul li{
    box-sizing: border-box;
    width: calc(100% / 4);
    display: flex;
    padding: 0px 10px;
    justify-content: center;
    align-items: center;
}

#nav ul li:hover a{
    opacity: 0.8;
}

@media screen and (max-width:768px){
    #nav ul li {width: 48%;padding: 3px 0px;box-sizing: border-box;}
    #nav {padding: 0 20px;
}
}

/*about*/
#gaiyou {
    max-width: 1200px;
    width: 100%;
    padding: 60px 20px;
    box-sizing: border-box;
    margin: 0 auto;
    position: relative;
}
#about {
    max-width: 1200px;
    width: 100%;
    padding: 60px 20px;
    box-sizing: border-box;
    margin: 0 auto;
    position: relative;
}

.title,.title_cp{
    max-width: 500px;
    width: 100%;
    box-sizing: border-box;
    margin: 0 auto;
    padding-bottom: 40px;
}
.title2{
    max-width: 500px;
    width: 100%;
    box-sizing: border-box;
    margin: 0 auto;
    padding-bottom: 40px;
    padding-top:80px;
}
.ct01{position: absolute;width: 15%;top:10%;right:6%;z-index: 10;}
.ct02{position: absolute;width: 20%;top:45%;right:8%;z-index: 10;}
.ct03{position: absolute;top:45%;left:8%;z-index: 10;width: 15%}
.catch{
    max-width: 640px;
    width: 100%;
    box-sizing: border-box;
    margin: 0 auto;
    padding:16px 0px;
}
.catch2{
    max-width: 540px;
    width: 100%;
    box-sizing: border-box;
    margin: 0 auto;
    padding:16px 0px;
}
.cont{
    max-width: 1200px;
    width: 100%;
    box-sizing: border-box;
    margin: 0 auto 24px;
    padding: 48px;
    border-radius: 40px;
    border: 6px solid #000;
    background-color: rgba(255, 255, 255, 0.8);
}
.cont2,.cont2x{
    max-width: 1200px;
    width: 100%;
    box-sizing: border-box;
    margin: 0 auto 0;
    padding: 40px 64px;
    border-radius: 40px;
    border: 6px solid #000;
    background-color: rgba(255, 255, 255, 0.8);
    position: relative;
}

#present {
    width: 100%;
    padding: 40px 20px 60px 20px;
}
.step{position: absolute;width: 200px;top:-30px;left: 64px;z-index: 1;}
.mgbb{margin-bottom: 64px;}
.conf_t1 {
    color: #fff;
    font-size: 22px;
    max-width: 280px;
    width: 100%;
    background-color: #e60012;
    padding: 8px 12px 10px;
    border-radius: 100px;
    text-align: center;
    margin:0px 0px 24px;
}
.conf_t2 {
    font-size: 24px;
    line-height: 1.6;
}

.conf_t3 {
    font-size: 18px;
    line-height: 1.8;
}
.bg1{background-color: rgba(255, 0, 0, 0.1);width: 100%;box-sizing: border-box;padding: 24px;}
.conf_t1b {
    color: #fff;
    font-size: 22px;
    max-width: 280px;
    width: 100%;
    background-color: #0071bc;
    padding: 8px 12px 10px;
    border-radius: 100px;
    text-align: center;
    margin:0px 0px 24px;
}
.cph1{background-image: url("../img/haikei3.jpg");background-size: cover;background-position: center;width: 100%;}
.chaikei {
    box-sizing: border-box;padding: 88px;
    background: 
    url("../img/chaikei1.svg") center left / contain no-repeat,
    url("../img/chaikei2.svg") center right / contain no-repeat,
    url("../img/chaikei3.svg") center center / contain repeat-x;
}
.main_c{
    position: relative;
    max-width: 1000px;
    width: 100%;
    box-sizing: border-box;
    margin: 0 auto;
}
.main_t{
    max-width: 580px;
    width: 100%;
    box-sizing: border-box;
    margin: 0 auto;
}
.ct05{position: absolute;width: 12%;top:10%;left:2%;z-index: 10;}
.ct06{position: absolute;width: 18%;top:10%;right:2%;z-index: 10;}
.ct07{position: absolute;top:8%;left:5%;z-index: 10;width: 10%;}
.ct08{position: absolute;top:5%;right:5%;z-index: 10;width: 16%;}
.ct09{position: absolute;top:-12%;right:15%;z-index: 10;width: 12%;}
.ct10{position: absolute;top:47%;left:4%;z-index: 10;width: 15%;}
.cpt1{width: 100%;max-width: 780px;margin: 8px auto 24px;}
.cpt2{width: 100%;max-width: 680px;margin: 40px auto 24px;}
.gentei1{background-color: #f8cacd;width: 100%;box-sizing: border-box;padding: 48px;}
.gentei2{background-color: #e60012;padding: 10px 17px 12px 18px;color: #fff;display: inline;font-size: 30px;}
.line_b1x{border-bottom: 2px solid #000;}
#entry {
    width: 100%;
    padding: 40px 20px 60px 20px;
    box-sizing: border-box;
}
.entry_c{width: 100%; max-width: 1200px; box-sizing: border-box;border-radius: 40px;border:4px solid #6a3906;background-color: #fff; padding: 60px;margin: 0 auto;}

.sankaku{width: 100%; max-width: 44px; box-sizing: border-box;margin: 30px auto;}
.flex2 {flex-flow: row-reverse;}
.kiyaku{
    height: 380px;
    padding: 20px 30px 20px 20px;
    background-color: #fff;
    width: 100%;
    max-width: 1000px;
    box-sizing: border-box;
    overflow-y:scroll;
    margin: 30px auto;
}

#faq{width: 100%;
    padding: 0px 20px 0px 20px;
    box-sizing: border-box;}
#terms{
     width: 100%;
    padding: 40px 20px 60px 20px;
    box-sizing: border-box;
}
.c_tx1{
     width: 100%;
    max-width: 900px;
    margin: 0 auto 60px;
}
/*====================================================================
.accordion_one
====================================================================*/
.accordion_one a{color: #c0272d;text-decoration: underline;text-underline-offset: 4px;}
.accordion_one {margin: 0 auto 20px;}
.accordion_one .accordion_header {border-radius:16px;padding: 18px 10% 20px 32px;background:#0071bc;margin:16px auto;position:relative;z-index: +1;cursor:pointer;transition-duration: 0.2s; font-size: 22px;text-align: justify;color:#fff;width: 100%;box-sizing: border-box;border: 4px solid #000;}

.accordion_one .accordion_header::before,
.accordion_one .accordion_header::after{position:absolute;content:'';top:1px;right:24px;bottom:0;width:20px;height:2px;margin:auto;background:#fff;}
.accordion_one .accordion_header::after{transform:rotate(-90deg);transition:transform 0.3s;}
.accordion_one .accordion_header.open::after{transform:rotate(0deg);transition:transform 0.3s;}

.accordion_one .accordion_inner {
  display: none;
  box-sizing: border-box;
    margin-top: 20px;
}
.c_cont{
     width: 100%;
    max-width: 1000px;
    margin: 0 auto;
}
.c_cont2{
     width: 100%;
    background-color: #fff;
    border-radius: 16px;
    box-sizing: border-box;
    padding: 40px 40px 30px 40px;
    font-size: 16px;
    border: 4px solid #000;
}
.c_cont2 p.p10{padding-bottom: 10px;}

/* 外側の青いコンテナ */
.campaign-container {
  background-color: #0071bc; /* 画像の鮮やかな青色 */
  width: 100%;
  max-width: 820px;
  padding: 24px 40px;
  border-radius: 16px;
  border: 3px solid #000;
    margin: 80px auto 50px;
box-sizing: border-box;
}

/* ヘッダータイトル */
.campaign-title {
  color: #ffffff;
  text-align: center;
  font-size: 22px;
  line-height: 1.5;
  letter-spacing: 1;
  margin-bottom: 20px;
}

/* 内側の白いコンテンツエリア */
.campaign-content {
  background-color: #ffffff;
  border-radius: 4px;
  padding: 30px;
}

/* 事務局名 */
.office-name {
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  color: #000000;
  margin-bottom: 16px;
  letter-spacing: 1;
}

/* メールアドレス */
.email-address {
  text-align: center;
  font-size: 24px;
  font-weight: 700;
  color: #000000;
  margin-bottom: 20px;
  letter-spacing: 1;
}

.email-address a {
  color: #000000;
  text-decoration: none;
}

.email-address a:hover {
  text-decoration: underline;
}

/* お問い合わせ期間セクション */
.info-section {
  text-align: center;
  margin-bottom: 20px;
  color: #000000;
}

.info-period {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 4px;
}

.info-exclude {
  font-size: 16px;
  font-weight: 700;
}

/* 注意事項リスト */
.notes-list {
  list-style: none;
  max-width: 680px;
  margin: 0 auto;
}


/* レスポンシブ対応（画面が狭い時） */
@media (max-width: 600px) {
  .campaign-container {
      margin: 40px auto 0px;
    padding: 20px 16px;
  }
  .campaign-title {
    font-size: 16px;
  }
    
  .campaign-content {
    padding: 20px;
  }
  .office-name {
    font-size: 14px;
    margin-bottom: 0px;
  }
  .email-address {
    font-size: 14px;
    word-break: break-all;
       margin-bottom: 16px;
  }
  .info-period, .info-exclude {
    font-size: 12px;
  }
}


.note{
    max-width:1000px;
    width: 100%;
    margin: 10px auto;
    box-sizing: border-box;
    height: 340px;
    padding: 40px;
    overflow-y: scroll;
    overflow-x: hidden;
    background: #fff;
    border: 4px solid #000;
    border-radius: 16px;
    word-break: break-all;
}
.notes a {
    text-decoration: underline;
    font-weight: normal;
    color: #0071bc;
    display: inline;
}
.k_logo{max-width: 320px;margin: 0 auto;box-sizing: border-box;}
.khaikei{background-image: url("../img/haikei2.jpg");background-size: cover;background-position: center;width: 100%;padding:100px 32px;box-sizing: border-box;}
.kcont{background: rgba(255,255,255,0.9);box-sizing: border-box;padding: 6% 10%;width: 100%;max-width: 1000px;margin: 0 auto;border-radius: 40px;}
.sns_logo{display: inline-block;padding: 0 16px 0 0;width: 40px;}
@media screen and (max-width:767px) {
    .pc_n{display: none;}
    .pc {display: none !important;}
    .sp {display: inherit;}
    .time {margin: 16px auto 16px;}
    #gaiyou {padding: 20px 20px;}
    #about {padding: 40px 20px;}
    .title{padding-bottom: 20px;width: 90%;}
    .cont{
    margin: 0 auto 24px;
    padding: 30px;
    border-radius: 16px;
    border: 3px solid #000;
    }
    .cont2{
    margin: 0 auto 0;
    padding: 20px 30px 30px 30px;
    border-radius: 16px;
    border: 3px solid #000;
    }
    .cont2x{
    margin: 0 auto 0;
    padding: 20px 30px 20px 30px;
    border-radius: 16px;
    border: 3px solid #000;
    }

    .ct01{width: 18%;top:15%;right:14%;z-index: 10;}
    .ct02{width: 28%;top:70%;right:8%;z-index: 10;}
    .ct03{top:51%;left:11%;z-index: 10;width: 16%}
    
    .ct05{width: 17%;top:-21%;left:5%;z-index: 10;}
    .ct06{width: 30%;top:-21%;right:5%;z-index: 10;}
    
    .ct07,.ct08{display: none;}
    .ct09{top:-12%;right:4%;z-index: 10;width: 20%;}
    .ct10{top:50%;left:4%;z-index: 10;width: 23%;}
    .conf_t2 {font-size: 18px;line-height: 1.6;text-align: center;}
    .conf_t3{font-size: 16px;line-height: 1.6;text-align: center;}
    .main_t{width: 90%;}
    .txt1 {margin: 8px auto 20px;text-align: justify;box-sizing: border-box;}
    .gentei1{background-color: #f8cacd;width: 100%;box-sizing: border-box;padding: 20px;}
    .gentei2{padding: 10px 17px 12px 18px;display:block;font-size:24px;line-height: 1.4;}
    
    .mgbb{margin-bottom: 48px;margin-top: 24px;}
    .step{position: absolute;width: 148px;top:-20px;left: 32px;z-index: 1;}

    .catch,.catch2{padding:0px 0px;}
    .chaikei {
    box-sizing: border-box;padding: 48px 32px 40px 32px;
    background: 
    url("../img/chaikei1m.svg") center left / contain no-repeat,
    url("../img/chaikei2m.svg") center right / contain no-repeat,
    url("../img/chaikei3m.svg") center center / contain repeat-x;
    }
    .cbtn a{margin: 0 auto 16px;padding: 10px 24px 12px 24px;}
    .cbtn2 a{margin: 0 auto 16px;padding: 10px 24px 12px 24px;}
    #present {padding: 20px 20px 20px 20px;}

    
    #entry {padding: 20px 20px 20px 20px;}
    .note{
    height: 260px;
    padding: 20px;
    border: 2px solid #000;
    }
    .entry_c{border-radius: 24px;border:4px solid #6a3906;padding: 30px;}
        
    .flex2 {flex-flow: row-reverse;}
    #contact{padding: 20px 20px 0px 20px;box-sizing: border-box;width:100%;}
    #terms{padding: 20px 20px 20px 20px;}

    .c_tx1{width: 80%;max-width: 900px;margin: 0 auto 40px;}
    .c_cont{width: 100%;}
    .khaikei{padding:64px 32px;box-sizing: border-box;}
    .kcont{padding: 30px;border-radius: 16px;}
    .sns_logo{padding: 0 8px 0 8px;width: 40px;}
    
    .accordion_one {margin: 0 auto 15px;}
    .accordion_one .accordion_header {border-radius:16px;padding: 12px 40px 14px 24px;background:#0071b;margin:12px auto;font-size: 16px;border: 2px solid #000;line-height: 1.5;}
    .accordion_one .accordion_header::before,
    .accordion_one .accordion_header::after{top:0px;right:24px;bottom:0;width:14px;}

    .c_cont2{padding: 20px 20px 10px 20px;font-size: 13px;}
    .con{ width: 90%;}
    
    .banner{width: 90%;padding: 20px 0px;box-sizing: border-box;}
    .banner_t{width: 90%;padding: 20px 0px 0px 0px;box-sizing: border-box;}
    .banner_p{width: 80%;margin: 20px auto;padding-bottom: 40px;}
    
    
    
    .fix_t {bottom:16px;right: 16px; width: 80px;}

}
@media screen and (max-width:600px) {
    .ct01{width: 18%;top:16%;right:14%;z-index: 10;}
    .ct02{width: 28%;top:66%;right:7%;z-index: 10;}
    .ct03{top:47%;left:11%;z-index: 10;width: 18%}
}
@media screen and (max-width:500px) {
    .ct01{width: 18%;top:15%;right:12%;z-index: 10;}
    .ct02{width: 28%;top:60%;right:6%;z-index: 10;}
    .ct03{top:42%;left:11%;z-index: 10;width: 18%}
}
@media screen and (max-width:400px) {
    .ct01{width: 18%;top:14%;right:15%;z-index: 10;}
    .ct02{width: 28%;top:56%;right:8%;z-index: 10;}
    .ct03{top:39%;left:12%;z-index: 10;width: 20%}
}