@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css?family=Lato:100,100i,300,300i,400,400i,700,700i,900,900i');
@import url('https://fonts.googleapis.com/css?family=Roboto:100,100i,300,300i,400,400i,500,500i,700,700i,900,900i');
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap');
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 400;
}
.font-roboto {
  font-family: 'Roboto', sans-serif;
  font-weight: bold;
}
.font-lato {
  font-family: 'Lato', sans-serif;
}

.font-zenkaku {
  font-family: 'Zen Kaku Gothic New', sans-serif;
}
html, body {
  height: 100%;
  font-size:62.5%;
}
*, *::after, *::before {
  box-sizing: border-box;
}
* {
  margin: 0;
  padding: 0;
  font-size: inherit;
  line-height: inherit;
}
body {
  color: #000000;
  background:url(../images/bg_blue_pc.webp) repeat left top;
  background-size:3% auto;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Lucida Grande", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, "ＭＳ Ｐゴシック", sans-serif;
  overflow-x: hidden;
  font-size: 1.4em;
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  word-wrap: break-word;
}
p {
  line-height: 1.8;
  text-align: center;
}
main {
  display: block;
  overflow:hidden;
  width:100%;
  margin:0 auto;
}


img{
  max-width:100%;
  height:auto;
  vertical-align:bottom;
}
li {
  list-style-type: none;
}
a {
  text-decoration: none;
  color: #fff;
}
.br-pc {
  display: block;
}
.br-sp {
  display: none;
}
sup, sub {
  font-size: 1.2rem;
}


@media only screen and (max-width: 1024px) {
  body {
    font-size: 1.4rem;
  }
  .inner {
    width: 80%;
  }
}
@media only screen and (max-width:750px) {
  .inner {
    width: 90%;
  }
  body {
    font-size: 1.35rem;
  }
  .br-pc {
    display: none;
  }
  .br-sp {
    display: block;
  }
}
.wrap {
  background-color: rgba(211, 235, 250, 1);
  background-blend-mode: lighten;
  z-index: 20;
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  text-align: center;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.wrap img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  animation: fadeIn 1s;
  animation-fill-mode: backwards;
  -webkit-animation: fadeIn 1s;
  -webkit-animation-fill-mode: backwards;
  max-width: 400px;
  width: 80%;
  height: auto;
}
.wrap.active {
  -webkit-transition: all 3s ease;
  -moz-transition: all 3s ease;
  -o-transition: all 3s ease;
  transition: all 3s ease;
  background-color: rgba(211, 235, 250, 0);
}
.wrap.active img {
  display: none;
}






/*-------------------
animation
-------------------*/
@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    transform: scale(.8,.8);
  }
  to {
    opacity: 1;
    transform: scale(1,1);
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: scale(.8,.8);
  }
  to {
    opacity: 1;
    transform: scale(1,1);
  }
}

@-webkit-keyframes fadeInHk {
  from {
    opacity: 0;
    transform: scale(1.5,1.5);
  }
  to {
    opacity: 1;
    transform: scale(1,1);
  }
}
@keyframes fadeInHk {
  from {
    opacity: 0;
    transform: scale(1.5,1.5);
  }
  to {
    opacity: 1;
    transform: scale(1,1);
  }
}

@-webkit-keyframes fadeOutLeft {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
@keyframes fadeOutLeft {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
@-webkit-keyframes fadeOutRight {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
@keyframes fadeOutRight {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
@-webkit-keyframes fadeInTop {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -10%, 0);
    transform: translate3d(0, -10%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInTop {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -10%, 0);
    transform: translate3d(0, -10%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(50%, 0, 0);
    transform: translate3d(50%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(50%, 0, 0);
    transform: translate3d(50%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes fadeInBottom {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 10%, 0);
    transform: translate3d(0, 10%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInBottom {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 10%, 0);
    transform: translate3d(0, 10%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}


#obbutton{
  bottom:100px;
  display: none;

}

#obbutton .cpbt{
  max-width: 500px;
  margin: 0 auto;
  width: 80%;
  overflow:hidden;
  -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}


#obbutton.fixed{
  position:fixed;
  z-index:15;
  bottom:0;
  left:0;
  right:0;
}

#obbutton .cpbt a {
  width:90%;
  margin:0 auto;
  display:block;
  padding:0;


}


#obbutton .cpbt a:hover {
  
}

#obbutton .cpbt a img{
  
    vertical-align:bottom;
    -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  transform: scale(1,1);
  opacity: .9;
  }

  #obbutton .cpbt a img:hover{
   opacity: 1;
  transform: scale(1.02,1.02);
  }

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


  #obbutton .cpbt a img {
    transform: none;
    opacity:1;

  }

  #obbutton .cpbt a img:hover {
    opacity: .8;
    transform: none;
  }



}



/*-------------------
header
-------------------*/
header {
  width: 100%;
  position: relative;
  text-align:center;
}



header img{
  max-width:100%;
  height:auto;
  vertical-align:bottom;
}


header .head_lg{
  padding:2vw 0;
  display:flex;
  justify-content: center;
  align-items: center;
  background:#000000;
}



header .head_lg a{
-moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  opacity: 1;
}

header .head_lg a:hover{
  opacity: .7;
}

header .head-in{
  width: 100%;
  max-width:1000px;
  margin:0 auto;
  position: relative;
  text-align:center;
  background:url(../images/head_bg_pc.webp) no-repeat center top;
  background-size:100% auto;
}

header h1 {
  padding:8vw 0 0 0;
  position:relative;
}

header h1 .mainimg {
  width:95%;
  margin:0 -5vw 0 auto;
  animation: fadeInTop 1s;
  animation-delay: 2.3s;
  animation-timing-function:cubic-bezier(.71,.16,.32,1.74);
  animation-fill-mode: backwards;
  -webkit-animation: fadeInTop 1s;
  -webkit-animation-timing-function:cubic-bezier(.71,.16,.32,1.74);
  -webkit-animation-delay: 2.3s;
  -webkit-animation-fill-mode: backwards;
}

header h1 .mainimg img{
  width:100%;
  height:auto;
}





header .head-date{
  position:relative;
  padding:5vw 0 5vw 0;
  margin-top:8vw;
}



header .head-date .head-date-main {
  animation: fadeInBottom 1s;
  animation-delay: 2.8s;
  animation-fill-mode: backwards;
  -webkit-animation: fadeInBottom 1s;
  -webkit-animation-delay: 2.8s;
  -webkit-animation-fill-mode: backwards;
  width:70%;
  max-width:450px;
  margin:0 auto;
  position:absolute;
  top:0;
  left:0;
  right:0;
}

header .head-date ul{
  display:flex;
  justify-content: center;
  flex-wrap: wrap;
  width:90%;
  max-width:700px;
  margin:0 auto;
  border:3px solid #3366b1;
  background:#FFFFFF;
  box-shadow:5px 5px 0 0 rgba(51, 102, 177, 1);
  border-radius:2rem;
  padding:5vw 5vw 2vw 5vw;

}

header .head-date ul li{
  padding:1vw 0;
  margin:0 auto;
  text-align:center;
  animation: fadeInBottom 1s;
  animation-delay: 2.8s;
  animation-fill-mode: backwards;
  -webkit-animation: fadeInBottom 1s;
  -webkit-animation-delay: 2.8s;
  -webkit-animation-fill-mode: backwards;
}

header .head-date ul li.disable{
  position:relative;
}

header .head-date ul li.disable:after{
  content:'';
  display:block;
  background:rgba(200,200,200, .9);
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  height:100%;
  width:100%;
  margin:auto;
  z-index:10;
}

header .head-date ul li.disable .disablea{
  position:absolute;
  left:50%;
  top:50%;
  margin:auto;
  z-index:11;
  width:70%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  text-align:center;
}


header .gaiyou{
  padding-bottom:5vw;
}

header .gaiyou .gaiyoup{
  width:65%;
  max-width:500px;
  margin:0 auto;
  padding-bottom:2vw;
}

header .gaiyou .gaiyoubt{
  width:90%;
  max-width:700px;
  margin:0 auto;
  display:flex;
}

header .gaiyou .gaiyoubt a{
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  opacity: 1;
}

header .gaiyou .gaiyoubt a:hover{
  opacity: .7;
}

header .gaiyou .gaiyoubt li:nth-child(1){
  padding-right:1vw;
}

header .gaiyou .gaiyoubt li:nth-child(2){
  padding-left:1vw;
}

header .gaiyou .gaiyoubt li.disable{
  position:relative;
}

header .gaiyou .gaiyoubt li.disable:after{
  content:'';
  display:block;
  background:rgba(200,200,200, .9);
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  right:0;
  height:100%;
  width:100%;
  margin:auto;
  z-index:10;
}

header .gaiyou .gaiyoubt li.disable .disablea{
  position:absolute;
  left:50%;
  top:50%;
  margin:auto;
  z-index:11;
  width:70%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  text-align:center;
}


@media only screen and (min-width:1000px) {
  

  header .head_lg{
    padding:1em 0;
  }


  header h1 {
    padding:6em 0 0 0;
    position:relative;
  }

  header h1 .mainimg {
    width:95%;
    margin:0 -3em 0 auto;
  }

  header .head-date{
    padding:8em 0 2em 0;
    margin-top:5em;
  }

  header .head-date .head-date-main {
    top:4em;
  }

  header .head-date ul{
    padding:3em 3em 1em 3em;

  }

  header .head-date ul li{
    padding:1em 0;
  }

  header .gaiyou{
    padding-bottom:3em;
  }


}

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

  header .head_lg img{
    width:10%;
    margin:0 auto;
  }

  header .head-date{
    position:relative;
    padding:8vw 0 5vw 0;
    margin-top:10vw;
  }


}

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

  header .head_lg img{
    width:15%;
    margin:0 auto;
  }

  header .head-in{
    margin:0 auto;
    position: relative;
    text-align:center;
    background:url(../images/head_bg_sp.webp) no-repeat center top;
    background-size:100% auto;
  }
  header h1 {
    padding:10vw 0 0 0;
    position:relative;
  }

  header h1 .mainimg {
    width:95%;
    margin:0 0 0 auto;
  }

  header .head-date ul{

    border:2px solid #3366b1;
    background:#FFFFFF;
    box-shadow:3px 3px 0 0 rgba(51, 102, 177, 1);
    border-radius:2rem;

  }
  
    
}

.exlink img{
  vertical-align:middle;
}

.exlink{
  border-radius:100px;
  padding:5vw 15vw;
  display:inline-block;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  opacity: 1;
  position:relative;
}

.exlink:after{
  content:'';
  background-size:100% auto;
  background-repeat:no-repeat;
  background-position:center center;
  width:60px;
  height:30px;
  display:block;
  position:absolute;
  top:50%;
  right:5%;
  transform: translatey(-50%);
  -webkit-transform: translatey(-50%);
  -ms-transform: translatey(-50%);
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}


.exlink:hover:after{
  right:4%;
}



footer .exlink{
  color:#1d2183;
  background:#FFFFFF;
  border:2px solid #1d2183;
}

footer .exlink:after{
  background-image:url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 46.53 11.53" style="enable-background:new 0 0 46.53 11.53;" xml:space="preserve"><polygon fill="%231D2183" points="46.53,11.53 0,11.53 0,10.53 44.12,10.53 34.3,0.71 35,0 "/></svg>');
}

footer .exlink:hover{
  background:#bcbee7;
}

@media only screen and (min-width:1200px) {

  .exlink{
    border-radius:100px;
    padding:3em 5em;
    display:inline-block;
  }
}

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

  .exlink:after{
    width:50px;
    height:20px;
  }
}

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

  .exlink:after{
    width:30px;
    height:15px;
  }
}

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

  .exlink:after{
    width:20px;
    height:10px;
  }

  .exlink{
    padding:5vw 12vw 5vw 7vw;
  }
}



/*section02-2
--------------*/
#section02-2{
  padding:0 0 5vw 0;
  position:relative;
  text-align:center;
}

#section02-2 h2{
  width:90%;
  max-width:700px;
  margin:0 auto;
  padding:0;
}

#section02-2 .soon{
  color:#FFFFFF;
  font-size:clamp(2rem, 6vw, 6rem);
  font-weight:800;
  line-height:1.2;
}

#section02-2 .camppr{
  width:90%;
  max-width:700px;
  margin:0 auto;
  padding:2vw 0;
}

#section02-2 a{
  width:70%;
  max-width:500px;
  margin:2vw auto;
  opacity:1;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  display:block;
}

#section02-2 a:hover{
  opacity:.7;
}

@media only screen and (min-width:1000px) {
  #section02-2{
    padding:0 0 3em 0;
  }

  #section02-2 .camppr{
    padding:1rem 0;
  }
}


/*sakuhin
--------------*/
#sakuhin{
  padding:0 0 3vw 0;
  position:realtive;
}

#sakuhin h2{
  padding:3vw 0;
  background:#3366b1;
  color:#FFFFFF;
  text-align:center;
  font-size:clamp(1.2rem, 4.3vw, 4.5rem);
  line-height:1.2;
  font-weight:800;
}



#sakuhin h3{
  padding:.5vw 0;
  color:#3366b1;
  font-size:clamp(1.3rem, 2.2vw, 1.6rem);
  letter-spacing:-.3rem;
  font-weight:900;
}

#sakuhin .sakuhin-list{
  width:90%;
  max-width:1000px;
  margin:0 auto;
  display:flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  padding:3vw 0;
}

#sakuhin .sakuhin-list li{
  width:calc(100% / 4);
  padding:2vw 1.5%;
  text-align:center;
}

#sakuhin .sakuhin-list li a.es{
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  opacity:1;
}

#sakuhin .sakuhin-list li a.es:hover{
  opacity:.7;
}

#sakuhin .sakuhin-list li a.ob{
  background: linear-gradient(180deg,rgba(242, 129, 0, 1) 50%, rgba(242, 105, 0, 1) 51%);
  
  border-radius:20rem;
  border:3px solid #3366b1;
  box-shadow: 3px 3px 0px 0px rgba(51, 102, 177, 1);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  font-size:clamp(1.4rem, 3vw, 2rem);
  font-weight:800;
  padding:.8vw 2vw;
  line-height:1;
  display:block;
  position:relative;
  z-index:0;
}

#sakuhin .sakuhin-list li a.ob:before{
  content:'';
  width:100%;
  height:100%;
  left:0;
  position:absolute;
  top:0;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  background: linear-gradient(180deg,rgba(64, 117, 117, 1) 50%, rgba(51, 102, 177, 1) 51%);
  border-radius:20rem;
  z-index:-1;
  opacity:0;
}

#sakuhin .sakuhin-list li a.ob:hover{
  
  border-radius:20rem;
  border:3px solid #3366b1;
  box-shadow: 3px 3px 0px 0px rgba(51, 102, 177, 1);
}

#sakuhin .sakuhin-list li a.ob:hover:before{
  opacity:1;
}

.es-ex{
  width:100%;
  margin:0 auto;
  position:relative;
  text-align:center;
}

.es-ex .es-ex-img{
  max-width:500px;
  width:80%;
  margin:0 auto;
  position:relative;
}

.es-ex .close-btn{
  background:#3366b1;
  position: absolute;
  top: -5vw;
  right:-5vw;
  z-index: 9999;
  width: 5vw;
  height: 5vw;
  cursor: pointer;
  border-radius:10rem;
}

.es-ex .close-btn:after{
  content:'';
  position: absolute;
  top:50%;
  left:50%;
  z-index: 9999;
  width: 3vw;
  height: 3vw;
  background-image: url(../images/modal_close.webp);
  background-size: 100%;
  background-repeat: no-repeat;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
}

.mfp-container{
  padding:0;
}

.mfp-zoom-out {
}
.mfp-zoom-out .mfp-with-anim {
    opacity: 0;
    transition: all 0.3s ease-in-out;
    transform: scale(1.3);
}
.mfp-zoom-out.mfp-bg {
    opacity: 0;
    transition: all 0.3s ease-out;
}
.mfp-zoom-out.mfp-ready .mfp-with-anim {
    opacity: 1;
    transform: scale(1);
}
.mfp-zoom-out.mfp-ready.mfp-bg {
    opacity: 0.8;
}
.mfp-zoom-out.mfp-removing .mfp-with-anim {
    transform: scale(1.3);
    opacity: 0;
}
.mfp-zoom-out.mfp-removing.mfp-bg {
    opacity: 0;
}

@media only screen and (min-width:1000px) {
  #sakuhin{
    padding:2em 0;
  }

  #sakuhin h2{
    padding:1em 0;
  }

  #sakuhin h3{
    padding:0 0 .3em 0;
  }
  #sakuhin .sakuhin-list li{
    width:200px;
    padding:1em 2%;
    text-align:center;
  }

}


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

  #sakuhin .sakuhin-list li{
    width:calc(100% / 2);
    padding:4vw 3%;
  }

  #sakuhin h3{
    font-size:clamp(1.1rem, 2.6vw, 1.6rem);
    letter-spacing:-.3vw;
  }

  #sakuhin .sakuhin-list li a.ob{
    border:2px solid #3366b1;
    box-shadow: 2px 2px 0px 0px rgba(51, 102, 177, 1);
    padding:2vw 2vw;
  }

  #sakuhin .sakuhin-list li a.ob:hover{
    border:2px solid #3366b1;
    box-shadow: 2px 2px 0px 0px rgba(51, 102, 177, 1);
  }

  .es-ex .close-btn{
    top: -7vw;
    right:-7vw;
    width: 10vw;
    height: 10vw;
  }

  .es-ex .close-btn:after{
    width: 8vw;
    height: 8vw;
  }
}

/*apply
--------------*/
#apply{
  padding:5vw 0;
  position:relative;
  text-align:center;
  background:url(../images/bg_org_pc.webp) repeat left top;
  background-size:3% auto;
}

#apply h2{
  width:90%;
  max-width:700px;
  margin:0 auto;
  padding:0;
}

#apply ol{
  width:80%;
  max-width:600px;
  margin:0 auto;
  padding:0;
}

#apply ol li{
  padding:3vw 0;
}

#apply ol li .step{
  display:flex;
  align-items: center;
}

#apply ol li .step .stepnum{
  width:20%;
  padding-right:3%;
}

#apply ol li .step p{
  color:#3366b1;
  font-weight:900;
  font-size:clamp(1rem, 4vw, 3.5rem);
  text-align:left;
  line-height:1.4;
}

#apply ol li .stepimg{
  width:80%;
  margin:0 auto;
}

#apply ol li a{
  width:70%;
  background:#3366b1;
  border-radius:20rem;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  font-size:clamp(1.2rem, 3.5vw, 3rem);
  font-weight:900;
  padding:2vw 3vw;
  margin:3vw auto;
  display:block;
}

#apply ol li a:hover{
  color:#3366b1;
  background:#FFFFFF;
}

@media only screen and (min-width:1000px) {
  #apply ol li{
    padding:1em 0;
  }

  #apply ol li a{
    padding:.5em 1em;
    margin:1em auto;
  }

}


/*section01
--------------*/
#section01{
  padding:5vw 0;
  position:relative;
  text-align:center;
  background:url(../images/bg_green_pc.webp) repeat left top;
  background-size:3% auto;
}

#section01 h2{
  width:90%;
  max-width:700px;
  margin:0 auto;
  padding:0;
}

#section01 .aboutbx{
  background:#FFFFFF;
  border-radius:3rem;
  width:90%;
  max-width:700px;
  margin:0 auto;
  padding:5vw 5vw calc(100% / 2) 5vw;
  position:relative;
}

#section01 .aboutbx p{
  text-align:left;
  font-size:clamp(1rem, 3.5vw, 2rem);
  font-weight:600;
  color:#3366b1;
  padding:.5em 0;
}

#section01 .aboutbx .sec01img{
  width:90%;
  margin:0 auto;
  position:absolute;
  bottom:5%;
  left:0;
  right:0;
}




@media only screen and (min-width:1000px) {

  #section01{
    padding:3em 0;
  }

  #section01 .aboutbx{
    padding:3em 3em 30em 3em;
  }
}


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

  #section01 .aboutbx{
    border-radius:2rem;
  }

}


/*section02
--------------*/
#section02{
  padding:5vw 0;
  position:relative;
  text-align:center;
  background:url(../images/bg_org_pc.webp) repeat left top;
  background-size:3% auto;
}

#section02 h2{
  width:90%;
  max-width:700px;
  margin:0 auto;
  padding:0;
}

#section02 .appbox{
  background:#FFFFFF;
  border-radius:3rem;
  width:90%;
  max-width:700px;
  margin:2vw auto;
  padding:5vw;
  position:relative;
}

#section02 .appbox p{
  font-size:clamp(1rem, 3.7vw, 3rem);
  font-weight:800;
  color:#3366b1;
}

#section02 .appbox p .txl{
  font-size:140%;
}

#section02 .appbox p .txy{
  background:#fff85c;
  padding:.2em .5em;
}

#section02 p.appltx {
  font-size:clamp(1rem, 3.5vw, 2.2rem);
  font-weight:600;
  color:#3366b1;
  text-align:left;
  width:85%;
  max-width:650px;
  margin:0 auto;
}

#section02 .apppr{
  width:90%;
  max-width:700px;
  margin:0 auto;
  padding:5vw 0;
}


#section02 .how{
  width:90%;
  max-width:700px;
  margin:0 auto;
}

#section02 .how dt{
  padding-bottom:2vw;
}

#section02 .how dd.howin{
  position:relative;
}

#section02 .how dd.howin .howimg{
  position:absolute;
  bottom:-15vw;
  right:-10vw;
  width:45%;
  height:auto;
}

#section02 .how dd.howkk{
  font-size:clamp(2rem, 6.5vw, 6rem);
  font-weight:800;
  color:#3366b1;
  line-height:1.4;
  padding:3vw 0;
}

#section02 .how dd.howkk .sm{
  font-weight:500;
  font-size:70%;
  font-family: 'Roboto', sans-serif;
}

#section02 .how dd.howkk .sm span{
  font-size:80%;
}

#section02 .how dd.howobt p{
  font-size:clamp(1rem, 3.5vw, 3rem);
  font-weight:600;
  color:#3366b1;
  line-height:1.4;
}

#section02 .how dd.howobt a{
  width:80%;
  margin:2vw auto;
  opacity:1;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  display:block;
}

#section02 .how dd.howobt a:hover{
  opacity:.7;
}


#section02 .how dd.disable{
  position:relative;
}

#section02 .how dd.disable:after{
  content:'';
  display:block;
  background:rgba(200,200,200, .9);
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  right:0;
  height:100%;
  width:100%;
  margin:auto;
  z-index:10;
}

#section02 .how dd.disable .disablea{
  position:absolute;
  left:50%;
  top:50%;
  margin:auto;
  z-index:11;
  width:70%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  text-align:center;
}


@media only screen and (min-width:1000px) {
  #section02{
    padding:3em 0;
  }

  #section02 .appbox{
    margin:1em auto;
    padding:3em;
  }

  #section02 .apppr{
    padding:3em 0;
  }

  #section02 .how dt{
    padding-bottom:2em;
  }

  #section02 .how dd.howin .howimg{
    bottom:-10em;
    right:-10em;
  }

  #section02 .how dd.howkk{
    padding:3rem 0;
  }

  #section02 .how dd.howobt a{
    margin:2rem auto;
  }


}

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

  #section02 .appbox{
    border-radius:2rem;
  }

  #section02 .how dd.howin .howimg{
    position:absolute;
    bottom:-15vw;
    right:-5vw;
    width:35%;
    height:auto;
  }
}






/*attention
--------------*/

#attention{
  text-align:center;
  background:#FFFFFF;
  border-top:3px solid #9ed8f5;
  border-bottom:3px solid #9ed8f5;
  padding:5vw 2vw;
  margin-bottom:5vw;
}


#attention .howcmw{
  font-size:1.3em;
  font-weight:500;
  margin:0 auto;
  width:90%;
  max-width:850px;
}

#attention .howcmw dt{
  font-size:180%;
  color:#0077c2;
  font-weight:bold;
}

#attention .howcmw .attlead{
  font-size:140%;
  color:#0077c2;
  font-weight:600;
}

#attention .howcmw .cracount{
  padding:0.5em 0;
}

#attention .howcmw .cracount a{
  color:#0077c2;
  font-weight:600;
  font-size:150%;
  transition: all .3s ease-in;
  -o-transition: all .3s ease-in;
  -moz-transition: all .3s ease-in;
  -webkit-transition: all .3s ease-in;
  padding:0 0.5em;
}

#attention .howcmw .cracount a:hover{
  background: #1d2183;
  color:#FFFFFF;
}


#attention .hcmatten{
  padding:0 0.5em;
  color:#000000;
}


@media only screen and (min-width:1200px) {
  #attention{
    text-align:center;
    background:#FFFFFF;
    border-top:5px solid #9ed8f5;
    border-bottom:5px solid #9ed8f5;
    padding:3em 0;
    margin:0 auto 3em auto;
    width:70%;
  }
}

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

  #attention .howcmw{
    font-size:2.5vw;
  }
}



/*section03
--------------*/
#section03{
  padding:0 0 15vw 0;
  position:relative;
  text-align:center;
}

#section03 .mainimg{
  width:100%;
  max-width:800px;
  margin:0 auto;
}

#section03 .sec03link{
  width:80%;
  max-width:650px;
  margin:0 auto;
  padding:0 0 3vw 0;
}

#section03 .sec03link > a{
  width:80%;
  margin:-5vw auto 0 auto;
  display:block;
  transition: all .3s ease-in;
  -o-transition: all .3s ease-in;
  -moz-transition: all .3s ease-in;
  -webkit-transition: all .3s ease-in;
  opacity:1;
}

#section03 .sec03link > a:hover{
  opacity:.7;
}

#section03  .sns_list{
  padding:8vw 0 2vw 0;
  margin:12vw auto 0 auto;
  position:relative;
  border-bottom:5px solid #3366b1;
  border-left:5px solid #3366b1;
  border-right:5px solid #3366b1;
}


#section03 .sns_list img{
  max-width:100%;
  height:auto;
}

#section03 .sns_list dt{
  position:absolute;
  top:-29.7%;
  left:0;
  right:0;
  display: flex;
  align-items: center;
}

#section03 .sns_list dt img{
  width:75%;
  margin:0 auto;
}

#section03 .sns_list dt:before,
#section03 .sns_list dt:after {
    content: "";
    height: 5px;
    flex-grow: 1;
    background-color: #3366b1;
}

#section03 .sns_list dt:before {
    margin-right: 1rem;
}

#section03 .sns_list dt:after {
    margin-left: 1rem;
}


#section03 .sns_list dd.sl{
  text-align:center;
    width:90%;
    margin:0 auto;
}



#section03 .pr-din .sns_list dd.sl{
  text-align:center;
    width:100%;
    margin:0 auto;
}

#section03 .sns_list dd ul{
  text-align:center;
   display: -webkit-flex;
    display: flex;
   justify-content: center;
}

#section03 .sns_list dd ul li{
  padding:0 3vw;
  width:30%;
}


#section03 .sns_list dd ul li a{
transition: all .3s ease-in;
  -o-transition: all .3s ease-in;
  -moz-transition: all .3s ease-in;
  -webkit-transition: all .3s ease-in;
  opacity:1;
}

#section03 .sns_list dd ul li a:hover{
  opacity:.6;
}

@media only screen and (min-width:1000px) {
  #section03{
    padding:3em 0 15vw 0;
  }

  #section03 .sec03link{
    padding:0 0 2em 0;
  }

  #section03 .sec03link > a{
    margin:-3em auto 0 auto;
  }

  #section03  .sns_list{
    padding:6em 0 2em 0;
    margin:7em auto 0 auto;
  }

  #section03 .sns_list dt{
    top:-4.5em;
  }

  #section03 .sns_list dd ul li{
    padding:0 2em;
    width:30%;
  }

}

@media only screen and (max-width:640px) {
  #section03  .sns_list{
    border-bottom:3px solid #3366b1;
    border-left:3px solid #3366b1;
    border-right:3px solid #3366b1;
  }
  #section03 .sns_list dt:before,
  #section03 .sns_list dt:after {
      height: 3px;
  }

  #section03 .sns_list dt{
    top:-30%;
  }
}

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

  #section03 .sns_list dt{
    top:-29.7%;
  }
}




/*kiyaku
--------------*/
#kiyaku {
  background:#fff85c;
  text-align: center;
  padding:0;
  position: relative;
}
#kiyaku:before{
  content:'';
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%20750%2088.4%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.st0%20%7B%20fill%3A%20%23fff85c%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M750%2C88.4v-8.3C510.5-26.7%2C239.5-26.7%2C0%2C80.1v8.3s750%2C0%2C750%2C0Z%22%2F%3E%3C%2Fsvg%3E');
  background-size:100% auto;
  background-repeat:no-repeat;
  background-position:center bottom;
  width:100%;
  height:15vw;
  position:absolute;
  top:-15vw;
  left:0;
  right:0;
}

#kiyaku h2 {
  padding: 3vw 0;
  margin:0 auto;
  position:relative;
  top:-5vw;
}

#kiyaku h2 img{
  width:30%;
  max-width:307px;
  margin:0 auto;
}

#kiyaku h3 {
  font-size:clamp(1rem, 4vw, 1.8rem);
  padding-top:1em;
  text-align:center;
  line-height:1.4;
}

#kiyaku .kiyaku_wpwp{
  background:#FFFFFF;
  border:1px solid #000;
  width:95%;
  margin:0 auto;
  max-width:1000px;
}
#kiyaku .kiyaku_wp {
  width: 90%;
  max-width: 950px;
  margin: 20px auto;
  text-align: left;
  padding: 0.5em 1.5em;
  overflow: auto;
  height: 40em;
  box-sizing: border-box;
  font-size:clamp(.8rem, 2vw, 1.4rem);
  
}
#kiyaku .kiyaku_wp dt.ky_tl {
  font-size: 110%;
  font-weight: bold;
  padding-top: 1em;
}
#kiyaku .kiyaku_wp dd.ky_mn {
  border-top: 2px solid #000;
  padding: 0.5em 0;
}
#kiyaku .kiyaku_wp dd.ky_mn dl.ky_eac {}
#kiyaku .kiyaku_wp dd.ky_mn dl.ky_eac dt {
  font-weight: bold;
}
#kiyaku .kiyaku_wp dd.ky_mn dl.ky_eac dd {
  padding-bottom: 1em;
}
#kiyaku .kiyaku_wp dd.ky_mn dl.ky_eac dd:last-child {
  padding-bottom: 0;
}
#kiyaku .kiyaku_wp dd.ky_mn dl.ky_eac dd .tx_nl {
  margin: 0.5em 0;
}
#kiyaku .kiyaku_wp dd.ky_mn dl.ky_eac dd .tx_nl.tl {
  display: inline-block;
  background: #000;
  color: #fff;
  padding: 0 1em;
}
#kiyaku .kiyaku_wp dd.ky_mn dl.ky_eac dd .tx_sl {
  padding-left: 1em;
  font-size: 90%;
  line-height: 1.4;
}
#kiyaku .kiyaku_wp ul {}
#kiyaku .kiyaku_wp ul li, #kiyaku .kiyaku_wp ol li {
  text-indent: -1em;
  padding-left: 1em;
}
#kiyaku .kiyaku_wp dd .ky_atten {
  font-size: 90%;
}
#kiyaku .kiyaku_wp a {
  color: #1272e9;
  text-decoration: underline;
}
#kiyaku .kiyaku_wp dd p {
  text-align: left;
}




/*-----------------
footer
-----------------*/
.copyright {
  font-size:clamp(1rem, 2vw, 1.4rem);
  letter-spacing: 0;
  color:#FFFFFF;
  padding:3vw 0 3vw 0;
  background:#000000;
  font-weight:600;
}
footer {
  padding:2vw 0 0 0;
  text-align: center;
  position: relative;
  background:#fff85c;
  
}
footer .footer_wp {
  padding: 1em;
  font-size:clamp(.9rem, 2.5vw, 2rem);
  color: #3366b1;
  font-weight:600;
  letter-spacing: 1px;
  margin-bottom: 2em;
  display:flex;
  flex-wrap: wrap;
  justify-content: center;
  flex-direction: column;
}
footer .footer_wp dt {
  padding-bottom:1em;
  order:2;

}

footer .footer_wp dt{
  width:80%;
  max-width:500px;
  margin:0 auto;
}

footer .footer_wp dt a{
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  opacity: 1;
}

footer .footer_wp dt a:hover{
  opacity: .7;
}

footer .footer_wp dd.ftml {
  padding-bottom:1em;
}

footer .footer_wp dd.ftml a {
  font-size:clamp(2rem, 5vw, 5rem);
  font-weight:800;
  display:block;
  color:#3366b1;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  opacity: 1;
}
footer .footer_wp dd.ftml a:hover {
  opacity: .7;
}
footer .footer_wp dd.ftml img {
  max-width: 100%;
  margin: 0 auto;
  height: auto;
}
footer .footer_wp dd.ftatten {
  font-size: 90%;
  line-height: 1.3;
}
footer .footer_wp dd.ftatten2 {
  width: 95%;
  margin: 0 auto;
  max-width: 700px;
  font-size: 80%;
  line-height: 1.4;
  text-indent: -1em;
  padding:0.5em 0 2em 1em;
  order:1;
}

@media only screen and (min-width:1000px) {
  .copyright {
    padding:2rem 0 2rem 0;
  }
  footer {
    padding:2rem 0 0 0;
  }

  footer .footer_wp {
    margin-bottom: 2rem;
  }

}


/* back to top */
#go-top {
  position: fixed;
  bottom: 10%;
  right: 10%;
  z-index: 10;
  width: 100%;
  text-align: center;
  display: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
#go-top .totop {
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  width: 70px;
  padding: 0;
}

#go-top .totop img{
  max-width:100%;
  height:auto;
}
#go-top .totop a {
  display: block;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
#go-top .totop a:hover {
  opacity: 0.5;
}

@media screen and (min-width:1200px) {

}

@media only screen and (max-width:1380px) {
  #go-top {
    right: 1%;
    bottom: 13%;
  }
}
@media only screen and (max-width:640px) {

  #go-top {
    right: 1%;
    bottom: 10%;
  }

  #go-top .totop {
    width: 40px;

  }

}
@media only screen and (max-width:480px) {


  #go-top .totop {
    width: 40px;
  }

  #go-top {
    right: 1%;
    bottom: 20vw;
  }

  .copyright {
    font-size: 2.5vw;
  }


}
/*------------
animetion
------------*/
.fadein {
  opacity: 0;
  transform: translate(0, 30px);
  -webkit-transform: translate(0, 30px);
  -moz-transform: translate(0, 30px);
  transition: all 1000ms;
}
.fadein.scrollin {
  opacity: 1;
  transform: translate(0, 0);
  -webkit-transform: translate(0, 0);
  -moz-transform: translate(0, 0);
}

.fadeinp {
  opacity: 0;
  transform: scale(1.1);
  -webkit-transform: scale(1.21);
  -moz-transform: scale(1.1);
  transition: all 1000ms;
}
.fadeinp.scrollin {
  opacity: 1;
  transform: scale(1);
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
}

.brc {
  display: block;
}
@media only screen and (max-width:750px) {
  .brc {
    display: none;
  }
}