@charset "utf-8";
sup{
  font-size: 1rem!important;
  vertical-align: top;
}
.font-bold{
  font-weight: bold;
}
.inner{
  padding: 0 15px;
}
._center{
  text-align: center!important;
}
._left{
  text-align: left!important;
}
._black{
  color: #0B0A0A!important;
}
a.textlink{
  text-decoration: underline;
  color: #215DD7;
}
.btn a{
  overflow: visible;
}
.btn a{
  position: relative;
  z-index: 2;
  color: #d00e0e;
  letter-spacing:1px;
  font-weight: bold;
  background:#fff;
  border:solid 2px #D00E31;
  box-sizing: border-box;
  padding-bottom:57px;
  width: 100%;
  max-width: 350px;
}

.btn a:nth-of-type(1){
  background:#D00E31;
  border:solid 2px #D00E31;
  color: #fff;
}
.btn a:nth-of-type(2){
  background:#0C3752;
  border:solid 2px #0C3752;
  color: #ffffff;
}
.btn.detail_btn01 a{
  background: #fff;
  border:solid 2px #B7E0F2;
  color: #0C3752;
}
.btn.detail_btn02 a{
  background: #fff;
  border:solid 2px #70B1E7;
  color: #0C3752;
}

.btn a:hover::before {
  background:#fff;
  -webkit-transform: scale(1);
  transform: scale(1);
}
.btn a:nth-of-type(1):hover {
  color: #D00E31;
}
.btn a:nth-of-type(2):hover{
  background-color: #ffffff;
  color: #0C3752;
}
.section-partition._02 .btn a:nth-of-type(2):hover::before{
  background-color: #ffffff;
}
.section-partition._02 .btn a:nth-of-type(2):hover .btn_icon{
  border-top: 2px solid #0C3752;
  border-right: 2px solid #0C3752;
}
.btn a .btn_icon{
  display: block;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  width: 1.2rem;
  height: 1.2rem;
  position: absolute;
  top: 0;
  right: 1.9rem;
  bottom: 0;
  margin: auto;
}
.btn.detail_btn01 a .btn_icon , .btn.detail_btn02 a .btn_icon{
  border-top: 2px solid #0C3752;
  border-right: 2px solid #0C3752;
}
.btn a:hover .btn_icon{
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
.btn a:hover:nth-of-type(1) .btn_icon{
  border-top: 2px solid #d00e0e;
  border-right: 2px solid #d00e0e;
}
._03 .btn a{
  margin-top: 20px;
  color: #ffffff;
}
.back a{
  color: #d00e0e;
}

.font_bold{
  font-weight: bold;
}
.textback_red{
  font-weight: bold;
  background-color: #FFE3E6;
}
.textback_yellow{
  font-weight: bold;
  background-color: #FFF2B9;
}

.caution-list li{
  font-size: 1.1rem;
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.75;
  color: #777777;
}
.caution-list._mt{
  margin-top: 20px;
}
.caution-list._main > li{
  font-size: 1.2rem;
  color: #0C3752;
  padding-left: 1em;
  text-indent: -1em;
}
.caution-list._main > li a{
  display: inline;
}
.caution-list._num > li{
  padding-left: 2.1em;
  text-indent: -2.1em;
}

.campaign-num-list{
  margin-bottom: 30px;
}
.campaign-num-list li{
  font-size: 1.6rem;
  margin-top: 15px;
  padding-left: 1.4em;
  text-indent: -1.4em;
  line-height: 1.75;
}

.section-partition:first-of-type .btn a:nth-of-type(2){
  background-color: #215DD7;
  border: solid 2px #215DD7;
  color: #fff;
}
.section-partition:first-of-type .btn a:hover:nth-of-type(2){
  color: #215DD7;
}
.section-partition:first-of-type .btn a:hover:nth-of-type(2) .btn_icon{
  border-top: 2px solid #215DD7;
  border-right: 2px solid #215DD7;
}
.section-partition:first-of-type .btn p{
  margin-top: 15px;
}
.section-partition:first-of-type .btn p:first-of-type{
  margin-top: 30px;
}

.blk{
  color:#d00e0e;
  font-weight: bold;
}
.red {
  color:#cc0033 !important;
  font-weight: bold;
}
#Contents{
  background: #d00e0e;
  padding:40px 0 0 0 !important;
}
#Contents p {
  font-size: 1.6rem;
  line-height: 1.75;
  padding: 15px 0 0;
}

#Contents p.red {
  padding: 0 25px 20px 25px ;
}
#Contents p.note {
  font-size: 1rem;
  color: #d00e0e;
}

h2 {
  color: #0C3752;
  line-height: 2.0rem;
  text-align: left;
  font-size: 2.0rem;
  padding: 0;
}
h2::before{
  content: '●';
  color: #FBD019;
  font-size: 2.4rem;
}
._03 h2::before{
  color: #F27286;
}
.btn a{
  margin-bottom: 0;
}
.btn p{
  font-size: 1.6rem!important;
  font-weight: bold;
  line-height: 1.75;
  color: #0C3752;
  padding: 0!important;
  text-align: center;
  width: 100%;
  margin: 15px auto 10px;
}
.section-partition:not(._01) .btn p{
  text-align: left;
  font-weight: normal;
}
.section-partition._02 .btn a:nth-of-type(2) .btn_icon{
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
}
.btn p span{
  font-size: 1.2rem!important;
}
@media all and (min-width: 767px) {
  #Contents{
    padding:117px 0 0 0 !important;
  }
  h2 {
    line-height: 48px;
  }
  .btn a{
    width: 100%;
    max-width: 400px;
    height: 60px;
    line-height: 60px;
    margin: 0;
    font-size: 1.8rem !important;
  }
  .btn p{
    max-width: 400px;
  }
}
@media all and (max-width: 767px) {
  .btn a{
    padding-bottom:36px;
    margin-bottom:0;
    height: 60px;
    line-height: 60px;
    font-size: 2.0rem!important;
  }
  .btn.detail_btn01 a , .btn.detail_btn02 a , #accordion .btn a{
    font-size: 1.5rem!important;
    height: 50px;
    line-height: 50px;
  }
  #Outline .section-inner .red+p.caution.list {
    padding-top: 0px;
    margin-top: -20px;
    padding-left: 38px;
  }
}
/*----------------------------
Keyvisual
-----------------------------*/
#Keyvisual{
  width: 100%;
  position: relative;
}
#Keyvisual .logo{
  position: absolute;
  top: 20px;
  right: 20px;
}
#Keyvisual .logo img {
  width: 50px;
  height: 50px;
}
#Keyvisual img{
  width: 100%;
}
#Keyvisual .label {
  position: absolute;
  bottom:10px;
  right: 10px;
  text-align: right;
}
#Keyvisual .label img {
  width: 100%;
}

@media all and (min-width: 767px) {
  #Keyvisual .label {
    position: absolute;
    bottom:20px;
    right: 20px;
    text-align: right;
  }
  #Keyvisual .label img {
    width: 100%;
  }
  .infomation{
    position: relative;
    height: 72px;
  }
  .infomation .inner{
    max-width: 750px;
    position: relative;
    margin-left: auto;
    margin-right: auto;
  }
  .infomation .date{
    font-size:2.2rem;
    height:72px;
    line-height: 72px;
  }
  .infomation .image{
    position: absolute;
    bottom: 0;
    right: 7px;
  }
  .infomation .image img{
    width:200px;
    height: auto;
  }
  .infomation .balloon{
    padding: 4px 30px;
    font-size: 2.0rem;
    position: absolute;
    top: -45px;
    left: 0;
  }
  .infomation .balloon:after{
    position: absolute;
    z-index: 1;
    bottom: -13px;
    left: 60px;
    border-width: 0 20px 14px 0;
  }
  div.title{
    max-width: 750px;
    padding: 40px 0;
    margin-left: auto;
    margin-right: auto;
  }
  div.title .inner{
    padding: 0;
  }
  div.title p{
    color: #242629;
    font-size: 2.8rem !important;
    padding: 40px 0 !important;
    padding: 0;
  }
  div.title p:before{
    width: 130px;
    height: 130px;
    background-size:130px;
    position: absolute;
    top: -30px;
    right: -30px;
  }
  div.title p:after{
    width: 96px;
    height: 96px;
    background-size: 96px;
    position: absolute;
    bottom: -5px;
    left: -6px;
  }
  div.title p span.yellow{
    background:linear-gradient(transparent 50%, #fffeac 0%);
  }

}

/*----------------------------
About
-----------------------------*/
#Outline{
  background: #EBEFF6;
  padding: 0;
}
#Contents .section-partition{
  padding: 15px 20px 20px;
}
#Contents .section-partition._02{
  background-color: #EDEED0;
}
#Contents .section-partition._03{
  background-color: #7ABBEB;
}
#Contents .section-radius{
  background-color: #fff;
  border-radius: 6px;
  padding: 0 20px;
}
#Contents .section-partition:first-of-type .section-inner{
  padding: 0;
}
#Contents .section-title{
  text-align: center;
}
#Contents .section-title._01{
  background-color: #FBD019;
}
#Contents .section-title._02{
  background-color: #F27286;
}
#Contents .section-title img{
  max-width: 750px;
  width: 100%;
}
#Outline .section-inner {
  max-width: 750px;
  padding-top: 45px;
  padding-bottom: 45px;
  border-bottom: solid 1px #eeeeee;
}
#Outline .section-inner:last-of-type{
  padding-bottom: 60px;
  border-bottom: 0;
}
#Outline h2.caution{
  font-size: 1.6rem!important;
}
#Outline h2.caution::before,#carousel h2::before{
  content: '';
}
@media all and (min-width: 767px) {
  #Outline .section-inner {
    margin-left:auto;
    margin-right:auto;
  }
  #Outline .section-inner p.note:last-child {
    padding: 0 5% 40px 5%;
  }
  #Contents .section-partition{
    padding: 0 40px 40px;
  }
  #Contents .section-partition._01{
    padding: 30px 40px 40px;
  }
}

/* ===============================
PC共通
===============================*/
@media all and (min-width: 767px) {
  p {
    font-size: 1.5rem !important;
  }
  h2,h3 {
    font-size: 2rem !important;
  }
}

@media screen and (max-width: 767px){
  .carousel_box{
    padding: 20px 15px 0;
  }
}

#carousel h2{
  text-align: center;
}

#carousel {
  padding: 40px 0;
}
.slick-dots{
  display: none;
}

.detail-table{
  max-width: 750px;
  width: 100%;
  margin: 15px auto 0;
}
.detail-table tr td{
  font-weight: bold;
  font-size: 1.6rem;
  padding: 10px 0;
  text-align: center;
  background-color: #FFE5E5;
  border-right: solid 1px #ffffff;
  border-bottom: solid 1px #ffffff;
  box-sizing: border-box;
  line-height: 1.5;
  width: 50%;
}
.detail-table tr td:nth-of-type(2){
  background-color: #FFF4F4;
  border-right: 0;
}
.detail-table tr:last-of-type td{
  border-bottom: 0;
}

/* nocpページ用 */
#Contents .section-title.title_detail{
  max-width: 750px;
  margin: auto;
  width: 90%;
}
#Contents .section-title.title_detail img{
  max-width: 490px;
  margin: 20px auto;
}
#Contents .section-title.title_detail p{
  padding-top: 0;
  text-align: right;
}
#Contents .section-partition._nocp{
  padding-top: 0;
  padding-bottom: 0;
}
#Contents .section-partition._btn{
  padding-top: 30px;
  padding-bottom: 30px;
}
#Contents .section-partition._nocp .section-radius{
  border: solid 2px #D00E31;
}
#Outline ._nocp .section-inner{
  padding-top: 20px;
  padding-bottom: 20px;
}
#Outline ._nocp .section-inner p{
  padding: 0;
}
#Outline ._nocp .section-inner p a{
  display: inline;
  text-decoration: underline;
  color: #215DD7;
}
#Outline ._btn .section-inner{
  padding: 0;
}
._btn .btn a{
  background-color: #215DD7;
  border: solid 2px #215DD7;
}
._btn .btn a:hover{
  color: #215DD7;
}
#Contents p.padding_under{
  padding: 0 0 15px;
}
/* 2021.10追加 */
.method {
  margin-top: 1.5em;
  margin-bottom: 2em;
  text-align: center;
}
.method .method-in{
  width: 100%;
  height: 161px;
  border-radius: 12px;
  padding: 60px;
}

.section-partition._02 .method .method-in{
  background-color: #FFF2B9;
}
.section-partition._03 .method .method-in{
  background-color: #FFE5E5;
}

.section-partition._02 .method .method-in:last-child , .section-partition._03 .method .method-in:first-child{
  padding: 70px;
}
 .section-partition._03 .method .method-in:nth-of-type(2){
  padding: 46px;
}
 .section-partition._03 .method .method-in:last-child{
  padding: 70px;
}
#Contents .method .method-in p{
  padding: 0;
}
.method .method-in + img{
  width: 64px;
  margin: 20px auto;
}

@media all and (max-width: 767px) {
  .method .method-in{
    height: 24vw;
    border-radius: 1.79vw;
    padding: 5vw;
  }
  .section-partition._02 .method .method-in:last-child , .section-partition._03 .method .method-in:first-child{
    padding: 8.5vw;
  }
 .section-partition._03 .method .method-in:nth-of-type(2){
  padding: 2.5vw;
  }
 .section-partition._03 .method .method-in:last-child{
  padding: 4vw;
  }
  .method .method-in + img{
    width: 9.55vw;
    margin: 2.99vw auto;
  }

}

#accordion .btn a:nth-of-type(1) {
  background: #fff;
  border: solid 2px #AAAAAA;
  color: #777777;
  }
  #accordion .btn a img{
    display: block;
    width: 2.2rem;
    height: 2.2rem;
    position: absolute;
    top: 0;
    right: 1.9rem;
    bottom: 0;
    margin: auto;
  }
  #accordion ._in p{
    text-decoration: underline;
    font-weight: bold;
    text-align: center;
  }
  #accordion ._in a{
    text-decoration: underline;
    color: #D00F31;
  }
  .caution-list + .caution-list{
    padding-top: 1.5em;
    border-top: solid 1px #eeeeee;
  }
  #accordion .caution-list li + li{
    margin-top: 1em;
  }
