@charset "UTF-8";
/* CSS Document */

*,
*:before,
*:after {
 -webkit-box-sizing: border-box;
 -moz-box-sizing: border-box;
 box-sizing: border-box;
}
html,
body {
 margin: 0;
 padding: 0;
 color: inherit;
 font-size: 1rem;
 font-family: YakuHanJP, "Zen Maru Gothic", sans-serif;
 font-weight: 500;
 /* font-feature-settings: "palt"; */
 background: #061f64;
 text-align: justify;
}
a {
 color: inherit;
}
a:hover {
 text-decoration: none;
}
a.hover {
 display: block;
 -webkit-transition: opacity 0.3s ease-out;
 -o-transition: opacity 0.3s ease-out;
 transition: opacity 0.3s ease-out;
 cursor: pointer;
}
a.hover:hover {
 opacity: 0.5;
 cursor: pointer;
}
img {
 width: 100%;
 height: auto;
}
p {
 transform: rotate(0.05deg);
}
.zen {
 font-family: "Zen Maru Gothic", serif;
}
#wrap {
 position: relative;
 overflow: hidden;
}
.clearfix:after {
 content: " ";
 display: block;
 clear: both;
}
.only_pc {
 display: block !important;
}
.only_sp {
 display: none !important;
}

@media (max-width: 767px) {
 #wrap {
  min-width: auto;
 }
 .only_pc {
  display: none !important;
 }
 .only_sp {
  display: block !important;
 }
}

/*----------
 cts
----------*/
#cts {
 padding: min(8rem, calc(80vw / 12.8)) 0 0;
}
#cts h2.ttl {
 position: relative;
 font-size: 4rem;
 font-weight: 700;
 text-align: center;
 line-height: 1.375;
 padding: 0 0 0 min(12rem, calc(120vw / 12.8));
 margin: 0 0 min(6.5rem, calc(65vw / 12.8));
}
#cts h2.ttl:before {
 content: "";
 position: absolute;
 top: max(-1.5rem, calc(-15vw / 12.8));
 left: min(12rem, calc(120vw / 12.8));
 width: min(8.5rem, calc(85vw / 12.8));
 height: min(8.5rem, calc(85vw / 12.8));
 background: url(../img/ttl01.png) no-repeat center / cover;
}
#cts h3.ttl {
 font-size: 3.2rem;
 font-weight: 700;
 text-align: center;
 line-height: 1.7;
 margin: 0 0 min(6rem, calc(60vw / 12.8));
}
#cts h4.ttl {
 font-size: 2.3rem;
 font-weight: 700;
 line-height: 2;
 margin: min(15rem, calc(150vw / 12.8)) 0 min(4rem, calc(40vw / 12.8));
}
#cts h4.hd {
 font-size: 2.7rem;
 font-weight: 700;
 text-align: center;
 line-height: 2;
 margin: 0 0 min(6rem, calc(60vw / 12.8));
}
#cts h4.hd span {
 display: block;
 border: min(0.1rem, calc(10vw / 12.8)) solid #fff;
 border-radius: min(6.2rem, calc(62vw / 12.8));
 width: min(75rem, calc(750vw / 12.8));
 padding: min(1rem, calc(10vw / 12.8)) 0;
 margin: auto;
}
#cts .txt {
 font-size: 1.8rem;
 line-height: 2.5;
 margin: 0 0 min(6.5rem, calc(65vw / 12.8));
 text-align: justify;
}
#cts .txt a {
 text-decoration: underline;
}
#cts .ph {
 margin: 0 0 min(8.5rem, calc(85vw / 12.8));
}
#cts .ph figcaption {
 font-size: 1.8rem;
 line-height: 2.5;
 text-align: center;
 padding: min(2rem, calc(20vw / 12.8)) 0 0;
}
#cts .list {
 display: -webkit-flex;
 display: -ms-flexbox;
 display: flex;
 -webkit-flex-wrap: wrap;
 -ms-flex-wrap: wrap;
 flex-wrap: wrap;
 -webkit-justify-content: space-between;
 -ms-flex-pack: justify;
 justify-content: space-between;
}
#cts .list .item {
 width: min(48rem, calc(480vw / 12.8));
}
#cts .list figcaption {
 font-size: 1.8rem;
 line-height: 1.5;
 padding: min(2rem, calc(20vw / 12.8)) 0 0;
}

@media (max-width: 767px) {
 #cts {
  padding: 5.5rem 1.5rem 0;
 }
 #cts h2.ttl {
  font-size: 1.8rem;
  text-align: left;
  line-height: 1.4;
  width: 25rem;
  padding: 0 0 0 6rem;
  margin: 0 auto 2.5rem;
 }
 #cts h2.ttl:before {
  top: 0;
  left: 0;
  width: 5rem;
  height: 5rem;
 }
 #cts h3.ttl {
  font-size: 1.5rem;
  line-height: 1.5;
  margin: 0 0 4rem;
 }
 #cts h4.ttl {
  font-size: 1.3rem;
  line-height: 1.8;
  margin: 3.5rem 0 2.5rem;
 }
 #cts h4.hd {
  font-size: 1.2rem;
  margin: 0 0 2.5rem;
 }
 #cts h4.hd span {
  width: 27.3rem;
  border-radius: 6.2rem;
  padding: 1rem 0;
  margin: auto;
  border: .1rem solid #fff;
 }
 #cts .txt {
  font-size: 1.2rem;
  line-height: 2.2;
  margin: 0 0 3.5rem;
 }
 #cts .ph {
  margin: 0 0 3.5rem;
 }
 #cts .ph figcaption {
  font-size: 1.3rem;
  line-height: 1.8;
  padding: 1.5rem 0 0;
 }
 #cts .list {
  display: block;
 }
 #cts .list .item {
  width: 100%;
 }
}

/*----------
 introduction
----------*/
#introduction {
 color: #fff;
}
#introduction .inner {
 width: min(100rem, calc(1000vw / 12.8));
 padding: min(7rem, calc(70vw / 12.8)) 0 0;
 margin: auto;
}
#introduction .date {
 color: #0e2350;
 font-size: 2.5rem;
 font-weight: 700;
 margin: 0 0 min(4.5rem, calc(45vw / 12.8));
}
#introduction .date span {
 display: -webkit-flex;
 display: -ms-flexbox;
 display: flex;
 -webkit-justify-content: center;
 -ms-flex-pack: center;
 justify-content: center;
 -webkit-align-items: center;
 -ms-flex-align: center;
 align-items: center;
 border-radius: min(4rem, calc(40vw / 12.8));
 width: min(35rem, calc(350vw / 12.8));
 height: min(4rem, calc(40vw / 12.8));
 padding: min(1rem, calc(10vw / 12.8)) 0;
 margin: auto;
 background: #fff;
}
#introduction .ttl_schedule {
 position: relative;
 color: #0e2350;
 font-size: 2.5rem;
 font-weight: 700;
 margin: 0 0 min(4.5rem, calc(45vw / 12.8));
}
#introduction .schedule {
 padding: 0 0 min(4.5rem, calc(45vw / 12.8));
}
#introduction .ttl_schedule:before {
 content: "";
 position: absolute;
 top: 0;
 bottom: 0;
 left: 0;
 width: 100%;
 height: min(0.3rem, calc(3vw / 12.8));
 margin: auto;
 background: #fff;
 z-index: -1;
}
#introduction .ttl_schedule span {
 display: -webkit-flex;
 display: -ms-flexbox;
 display: flex;
 -webkit-justify-content: center;
 -ms-flex-pack: center;
 justify-content: center;
 -webkit-align-items: center;
 -ms-flex-align: center;
 align-items: center;
 border-radius: min(4rem, calc(40vw / 12.8));
 width: min(35rem, calc(350vw / 12.8));
 height: min(4rem, calc(40vw / 12.8));
 padding: min(1rem, calc(10vw / 12.8)) min(4rem, calc(40vw / 12.8));
 margin: auto;
 background: #fff;
}
#introduction .list {
 font-size: 1.8rem;
 font-weight: 700;
 line-height: 2.5;
 width: min(32rem, calc(320vw / 12.8));
 margin: auto;
}

@media (max-width: 767px) {
 #introduction .inner {
  width: 100%;
  padding: 1rem 0 0;
  margin: auto;
 }
 #introduction .date {
  font-size: 1.5rem;
  margin: 0 0 2.5rem;
 }
 #introduction .date span {
  border-radius: 2.5rem;
  width: 19.5rem;
  height: 2.5rem;
  padding: 0.5rem 0;
 }
 #introduction .ttl_schedule {
  font-size: 1.5rem;
  margin: 0 0 2.5rem;
 }
 #introduction .schedule {
  padding: 0 0 4.5rem;
 }
 #introduction .ttl_schedule:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 0.1rem;
  margin: auto;
  background: #fff;
  z-index: -1;
 }
 #introduction .ttl_schedule span {
  border-radius: 2.5rem;
  width: 19.5rem;
  height: 2.5rem;
  padding: 0.5rem 0;
 }
 #introduction .list {
  font-size: 1.2rem;
  line-height: 2.2;
  width: 21rem;
 }
}

/*----------
 sec01
----------*/
#sec01 {
 color: #fff;
}
#sec01 .inner {
 width: min(100rem, calc(1000vw / 12.8));
 padding: min(8.5rem, calc(85vw / 12.8)) 0 0;
 margin: auto;
 border-top: min(0.3rem, calc(3vw / 12.8)) solid #fff;
}

@media (max-width: 767px) {
 #sec01 .inner {
  width: 100%;
  padding: 4rem 0 0;
  border-top: 0.1rem #fff solid;
 }
}

/*----------
 sec02
----------*/
#sec02 {
 color: #fff;
}
#sec02 .inner {
 width: min(100rem, calc(1000vw / 12.8));
 padding: min(8.5rem, calc(85vw / 12.8)) 0;
 margin: auto;
 border-top: min(0.3rem, calc(4vw / 12.8)) solid #fff;
}

@media (max-width: 767px) {
 #sec02 .inner {
  width: 100%;
  padding: 4rem 0;
  border-top: 0.1rem #fff solid;
 }
}

/*----------
 sec03
----------*/
#sec03 {
 color: #fff;
}
#sec03 .inner {
 width: min(100rem, calc(1000vw / 12.8));
 padding: min(8.5rem, calc(85vw / 12.8)) 0 0;
 margin: auto;
 border-top: min(0.3rem, calc(4vw / 12.8)) solid #fff;
}

@media (max-width: 767px) {
 #sec03 .inner {
  width: 100%;
  padding: 4rem 0 0;
  border-top: 0.1rem #fff solid;
 }
}

/*----------
 sec04
----------*/
#sec04 {
 color: #fff;
}
#sec04 .inner {
 width: min(100rem, calc(1000vw / 12.8));
 padding: min(8.5rem, calc(85vw / 12.8)) 0 0;
 margin: auto;
 border-top: min(0.3rem, calc(4vw / 12.8)) solid #fff;
}

@media (max-width: 767px) {
 #sec04 .inner {
  width: 100%;
  padding: 4rem 0 0;
  border-top: 0.1rem #fff solid;
 }
}

/*----------
 sec05
----------*/
#sec05 {
 color: #fff;
}
#sec05 .inner {
 width: min(100rem, calc(1000vw / 12.8));
 padding: min(8.5rem, calc(85vw / 12.8)) 0 0;
 margin: auto;
 border-top: min(0.3rem, calc(4vw / 12.8)) solid #fff;
}
#sec05 h4.ttl {
 text-align: center;
 margin: 0 0 min(2.5rem, calc(25vw / 12.8));
}
#sec05 .bnr {
 width: min(75rem, calc(750vw / 12.8));
 margin: 0 auto min(11rem, calc(110vw / 12.8));
}
#sec05 .to_top a {
 display: -webkit-flex;
 display: -ms-flexbox;
 display: flex;
 -webkit-justify-content: center;
 -ms-flex-pack: center;
 justify-content: center;
 -webkit-align-items: center;
 -ms-flex-align: center;
 align-items: center;
 position: relative;
 font-size: 2rem;
 font-weight: 500;
 text-decoration: none;
 border: min(0.3rem, calc(3vw / 12.8)) solid #fff;
 border-radius: min(7rem, calc(70vw / 12.8));
 width: min(40rem, calc(400vw / 12.8));
 height: min(7rem, calc(70vw / 12.8));
 margin: auto;
}
#sec05 .to_top a:after {
 content: "";
 width: min(1rem, calc(10vw / 12.8));
 height: min(1rem, calc(10vw / 12.8));
 border-top: solid #fff min(0.2rem, calc(2vw / 12.8));
 border-right: solid #fff min(0.2rem, calc(2vw / 12.8));
 position: absolute;
 right: min(2.5rem, calc(25vw / 12.8));
 top: 0;
 bottom: 0;
 margin: auto;
 transform: rotate(45deg);
}

@media (max-width: 767px) {
 #sec05 .inner {
  width: 100%;
  padding: 4rem 0 0;
  border-top: 0.1rem #fff solid;
 }
 #sec05 h4.ttl {
  text-align: center;
  margin: 0 0 2.5rem;
 }
 #sec05 .bnr {
  width: 26.2rem;
  margin: 0 auto 3.5rem;
 }
 #sec05 .to_top a {
  font-size: 1.3rem;
  border: 0.1rem #fff solid;
  border-radius: 5rem;
  width: 26.2rem;
  height: 5rem;
 }
 #sec05 .to_top a:after {
  width: 1rem;
  height: 1rem;
  border-top: solid 0.1rem #fff;
  border-right: solid 0.1rem #fff;
  right: 2.5rem;
 }
}

.sns_inner {
 background: transparent;
}
footer {
 text-align: center;
}


.nav_inner {
 text-align: center;
}
