@charset 'utf-8';
@media screen and (min-width: 769px) {
  .sp-only {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .pc-only {
    display: none;
  }
}
#main a:hover, .mainWrapper .hoverBtn:hover {
  opacity: .7;
}

@media screen and (max-width: 769px) {
  #contents {
    padding-bottom: 18vw;
  }
  section img {
    width: 100%;
    max-width: none;
  }
}

/*======================================
  main
======================================*/
.wrapper {
  max-width: 1200px;
  margin: auto;
}

.kv-section {
  padding-top: 10px;
  background-image: url("../images/kv-bg_pc.png");
  background-repeat: no-repeat;
  background-position: top center;
}
.kv-ttl {
  text-align: center;
}
.kv-lead {
  position: relative;
  max-width: 980px;
  min-height: 123px;
  margin: 87px auto 0;
  padding: 0 20px;
}
.kv-lead p {
  text-align: center;
}
.kv-lead a {
  position: absolute;
  top: 0;
  right: 20px;
}
@media screen and (min-width: 980px) {
  .sp-lead {
    display: none;
  }
}
@media screen and (max-width: 979px) {
  .pc-lead {
    display: none;
  }
  .kv-lead a {
    width: 101px;
  }
}
.kv-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 30px;
}
.kv-links a {
  max-width: 30.6%;
  margin: 14px 5px 0;
}

/* kv SP */
@media screen and (max-width: 769px) {
  .kv-section {
    padding-top: 3.73%;
    background-image: url("../images/kv-bg_sp.png");
    background-size: 100% auto;
  }
  .kv-ttl {
    width: 80.8%;
    margin: auto;
  }
  .kv-lead {
    width: 81.6%;
    min-height: 0;
    margin: 9.15% auto 0;
    padding: 0;
  }
  .kv-lead p {
    width: 76.8%;
  }
  .kv-lead a {
    right: 0;
    width: 20%;
  }
  .kv-links {
    margin-top: 8.25%;
  }
  .kv-links a {
    width: 75.2%;
    max-width: none;
    margin: 2.15% auto 0;
  }
}

.special-section {
  position: relative;
  max-width: 1447px;
  margin: auto;
  background-position: top center;
  background-repeat: no-repeat, repeat;
}
.special-section .kakure-acurekun {
  pointer-events: none;
}
.special-ttl,
.special-gift,
.special-txt {
  position: relative;
  text-align: center;
}
.special-btn {
  display: flex;
  justify-content: center;
}
.special-btn a {
  margin: 0 10px;
}
.special-link {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.special-acd {
  display: none;
  padding: 0 20px;
}
.special-acd p {
  max-width: 800px;
  margin: auto;
  padding: 60px;
  background-color: #FFFFFF;
  font-size: 13px;
  line-height: 1.9;
}
.special-acd .acd-close {
  margin-top: 58px;
  text-align: center;
}
.special-acd .acd-close a {
  display: inline-block;
  cursor: pointer;
}

#special01 {
  margin-top: 64px;
  padding: 108px 0 129px;
  background-color: #E24A78;
  background-image: url("../images/special01-kv_pc.png"), url("../images/special01-bg.png");
}
#special01 .special-gift {
  display: flex;
  justify-content: center;
  margin-top: 52px;
  padding: 0 36px;
}
#special01 .special-gift figure {
  margin: 0 -21px;
}
#special01 .special-txt {
  margin-top: 62px;
  z-index: 1;
}
#special01 .special-btn {
  position: relative;
  margin-top: 54px;
}
#special01 .special-btn .kakure-acurekun {
  position: absolute;
  top: -92px;
  left: 50%;
  transform: translate(245px);
}
#special01 .special-link {
  margin-top: 62px;
  padding-bottom: 53px;
}
#special01 .special-link .acd-link {
  margin-top: 12px;
  cursor: pointer;
}
#special01 .special-link .acd-link.open img:nth-of-type(1) {
  display: none;
}
#special01 .special-link .acd-link:not(.open) img:nth-of-type(1) {
  padding-top: 13px;
}
#special01 .special-link .acd-link:not(.open) img:nth-of-type(2) {
  display: none;
}

#special02 {
  padding: 96px 0 140px;
  background-color: #FAA402;
  background-image: url("../images/special02-kv_pc.png"), url("../images/special02-bg.png");
  overflow: hidden;
}
#special02 .kakure-acurekun {
  position: absolute;
  top: 305px;
  left: 50%;
  transform: translate(360px);
}
#special02 .special-ttl img {
  margin-left: -43px;
}
#special02 .special-gift {
  margin-top: 26px;
}
#special02 .special-txt {
  margin-top: 38px;
}
#special02 .special-btn {
  margin-top: 56px;
}

#special03 {
  padding: 150px 0 140px;
  background-color: #FFEE02;
  background-image: url("../images/special03-kv_pc.png"), url("../images/special03-bg.png");
}
#special03 .special-gift {
  margin-top: 56px;
}
#special03 .special-gift .kakure-acurekun {
  position: absolute;
  left: 50%;
  bottom: 45px;
  transform: translate(75px);
  z-index: -1;
}
#special03 .special-txt {
  margin-top: 58px;
}
#special03 .special-btn {
  margin-top: 50px;
}
#special03 .special-link {
  margin-top: 62px;
}

#special04 {
  padding: 214px 0 140px;
  background-color: #02AFEE;
  background-image: url("../images/special04-kv_pc.png"), url("../images/special04-bg.png");
}
#special04 .special-ttl .kakure-acurekun {
  position: absolute;
  top: -29px;
  right: 50%;
  transform: translate(-72px);
  z-index: -1;
}
#special04 .special-gift {
  margin-top: 52px;
}
#special04 .special-gift img {
  margin-right: -60px;
}
#special04 .special-txt {
  margin-top: 66px;
}
#special04 .special-btn {
  margin-top: 56px;
}

#special05 {
  padding: 168px 0 140px;
  background-color: #3B9F28;
  background-image: url("../images/special05-kv_pc.png"), url("../images/special05-bg.png");
}
#special05 .special-gift {
  margin-top: 58px;
}
#special05 .special-txt {
  margin-top: 64px;
}
#special05 .special-btn {
  margin-top: 54px;
}
#special05 .special-link {
  margin-top: 68px;
}
#special05 .kakure-acurekun {
  position: absolute;
  right: 50%;
  bottom: 20px;
  transform: translate(-235px);
}

/* special SP */
@media screen and (max-width: 769px) {
  .special-section {
    background-size: 100% auto, auto;
  }
  .special-ttl,
  .special-gift,
  .special-txt {
    margin: auto;
  }
  .special-btn,
  .special-link {
    flex-direction: column;
  }
  .special-btn a {
    margin: auto;
  }
  .special-acd {
    padding: 0 4.26%;
  }
  .special-acd p {
    padding: 12.2% 9.33%;
    font-size: 2.66vw;
  }
  .special-acd .acd-close {
    margin-top: 10%;
  }
  .special-acd .acd-close a {
    width: 48.1%;
  }

  #special01 {
    margin-top: 8.53%;
    padding: 8.8% 0 17.33%;
    background-image: url("../images/special01-kv_sp.png"), url("../images/special01-bg.png");
  }
  #special01 .special-ttl {
    width: 78.15%;
  }
  #special01 .special-gift {
    display: block;
    margin-top: 4.8%;
    padding: 0;
  }
  #special01 .special-gift figure {
    width: 92%;
    margin: auto;
  }
  #special01 .special-gift figure:nth-of-type(2) {
    margin-top: -3.2%;
  }
  #special01 .special-gift figure:nth-of-type(2) img {
    width: 101.6%;
  }
  #special01 .special-txt {
    width: 73.6%;
    margin-top: 12.3%;
  }
  #special01 .special-btn {
    margin-top: 13.9%;
  }
  #special01 .special-btn a {
    width: 65.9%;
  }
  #special01 .special-btn a + a {
    margin-top: 4%;
  }
  #special01 .special-btn .kakure-acurekun {
    top: -14.6vw;
    left: 70%;
    width: 8.8%;
    transform: translate(0);
  }
  #special01 .special-link {
    margin-top: 8.8%;
    padding-bottom: 8.27%;
  }
  #special01 .special-link a {
    width: 53.6%;
  }
  #special01 .special-link .acd-link {
    margin-top: 1.6%;
  }
  #special01 .special-link .acd-link:not(.open) img:nth-of-type(1) {
    padding-top: 6%;
  }

  #special02 {
    padding: 9.1% 0 25.6%;
    background-image: url("../images/special02-kv_sp.png"), url("../images/special02-bg.png");
  }
  #special02 .kakure-acurekun {
    width: 10.9%;
    top: 69vw;
    left: 86%;
    transform: translate(0);
  }
  #special02 .special-ttl {
    width: 88%;
  }
  #special02 .special-ttl img {
    margin-left: -6.66%;
  }
  #special02 .special-gift {
    width: 91.2%;
    margin-top: 4.5%;
  }
  #special02 .special-txt {
    width: 72.3%;
    margin-top: 3.77%;
  }
  #special02 .special-btn {
    margin-top: 11.2%;
  }
  #special02 .special-btn a {
    width: 66.6%;
    margin-top: 3.73%;
  }

  #special03 {
    padding: 17.35% 0 25.8%;
    background-image: url("../images/special03-kv_sp.png"), url("../images/special03-bg.png");
  }
  #special03 .special-ttl {
    width: 89.9%;
  }
  #special03 .special-gift {
    width: 91.2%;
    margin-top: 4.8%;
  }
  #special03 .special-gift .kakure-acurekun {
    left: 67%;
    bottom: 11%;
    width: 31.3%;
    transform: translate(0);
  }
  #special03 .special-txt {
    width: 68.25%;
    margin-top: 12.55%;
  }
  #special03 .special-btn {
    margin-top: 11.7%;
  }
  #special03 .special-btn a {
    width: 64.27%;
  }
  #special03 .special-link {
    margin-top: 9.05%;
  }
  #special03 .special-link a {
    width: 53.6%;
  }

  #special04 {
    padding: 23.47% 0 25.6%;
    background-image: url("../images/special04-kv_sp.png"), url("../images/special04-bg.png");
    overflow: hidden;
  }
  #special04 .special-ttl {
    width: 82.4%;
  }
  #special04 .special-ttl .kakure-acurekun {
    top: -4.3vw;
    right: 64.1%;
    width: 11%;
    transform: translate(0);
  }
  #special04 .special-gift {
    width: 91.2%;
    margin-top: 4.55%;
  }
  #special04 .special-gift figure {
    margin-right: -13.7%;
  }
  #special04 .special-gift img {
    margin-right: auto;
  }
  #special04 .special-txt {
    width: 72%;
    margin-top: 12.5%;
  }
  #special04 .special-btn {
    margin-top: 11.2%;
  }
  #special04 .special-btn a {
    width: 82.4%;
  }

  #special05 {
    padding: 17.5% 0 18.4%;
    background-image: url("../images/special05-kv_sp.png"), url("../images/special05-bg.png");
  }
  #special05 .special-ttl {
    width: 81.6%;
  }
  #special05 .special-gift {
    width: 92.55%;
    margin-top: 1%;
  }
  #special05 .special-txt {
    width: 73.5%;
    margin-top: 12.55%;
  }
  #special05 .special-btn {
    margin-top: 6.93%;
  }
  #special05 .special-btn a {
    width: 63.5%;
  }
  #special05 .special-link {
    margin-top: 9.35%;
  }
  #special05 .special-link a {
    width: 42.7%;
  }
  #special05 .kakure-acurekun {
    right: 75.9%;
    bottom: 7.8vw;
    width: 15.7%;
    transform: translate(0);
  }
}

.years-section {
  max-width: 1447px;
  margin: auto;
  padding: 84px 0 70px;
}
.years-lead {
  text-align: center;
}
.years-card {
  position: relative;
  display: flex;
  justify-content: center;
  margin-top: 46px;
  overflow: hidden;
}
.years-card li {
  margin: 0 40px;
}
.years-card p {
  text-align: center;
  line-height: 1;
}
.years-acurekun {
  position: relative;
  width: 200px;
  height: 200px;
  margin-top: 20px;
  border: 4px solid #009EBF;
  border-radius: 50%;
}
.years-acurekun::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 4px;
  height: 65px;
  background-image: url("../images/years-dot_pc.png");
  background-size: contain;
  transform: translate(-50%, 120%);
}
.years-acurekun img {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  transform: translate(-50%, -50%);
}
.years-year {
  position: relative;
  margin-top: 116px;
}
.years-year::before {
  content: "";
  position: absolute;
  top: -36px;
  left: 50%;
  width: 27px;
  height: 27px;
  background-color: #009EBF;
  border-radius: 50%;
  transform: translate(-50%);
}

#years01 .years-card::before {
  content: "";
  position: absolute;
  right: 50%;
  bottom: 46px;
  width: 424px;
  height: 4px;
  background-image: url("../images/years-line01_pc.png");
  background-size: cover;
  line-height: 0;
}
#years01 .years-card::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 46px;
  width: 100%;
  height: 4px;
  background-color: #009EBF;
}

#years02 .years-card::before {
  content: "";
  position: absolute;
  right: 50%;
  bottom: 46px;
  width: 100%;
  height: 4px;
  background-color: #009EBF;
}
#years02 .years-card::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 37px;
  width: 441px;
  height: 22px;
  background-image: url("../images/years-line02_pc.png");
  background-size: cover;
  background-position: right;
  line-height: 0;
}
#years02 .years-card li:nth-of-type(2) .years-acurekun img {
  transform: translate(-55%, -50%);
}

/* years SP */
@media screen and (max-width: 769px) {
  .years-section {
    padding: 12.5% 0 11%;
  }
  .years-lead {
    margin: auto;
  }
  .years-card {
    margin-top: 46px;
  }
  .years-card li {
    margin: 0 2.9%;
  }
  .years-old {
    width: 20%;
    margin: auto;
  }
  .years-acurekun {
    width: 25.3vw;
    height: 25.3vw;
    margin-top: 12.7%;
    border-width: 3px;
  }
  .years-acurekun::after {
    width: 3px;
    height: 33.7%;
    background-image: url("../images/years-dot_sp.png");
  }
  .years-year {
    width: 39%;
    margin: 59% auto 0;
  }
  .years-year::before {
    top: -4.53vw;
    width: 3.46vw;
    height: 3.46vw;
  }

  #years01 .years-lead {
    width: 70.6%;
  }
  #years01 .years-card::before {
    bottom: 12%;
    width: 50%;
    height: 3px;
    background-image: url("../images/years-line01_sp.png");
  }
  #years01 .years-card::after {
    bottom: 12%;
    height: 3px;
  }

  #years02 .years-lead {
    width: 73.1%;
  }
  #years02 .years-card::before {
    bottom: 12%;
    height: 3px;
  }
  #years02 .years-card::after {
    bottom: calc(12% - 5px);
    width: 45%;
    height: 13px;
    background-image: url("../images/years-line02_sp.png");
  }
}

.kakure-section {
  max-width: 1447px;
  margin: auto;
  padding: 94px 0 124px;
}
.kakure-lead {
  text-align: center;
}
.kakure-list {
  display: flex;
  justify-content: center;
  margin-top: 38px;
}
.kakure-list li {
  margin: 0 10px;
}

/* kakure SP */
@media screen and (max-width: 769px) {
  .kakure-section {
    padding: 9.3% 0 10.4%;
  }
  .kakure-lead {
    width: 67.2%;
    margin: auto;
  }
  .kakure-list {
    flex-wrap: wrap;
    margin-top: 3.5%;
  }
  .kakure-list li {
    width: 22.1%;
    margin: 2.1% 2.1% 0;
  }
}

.members-section {
  max-width: 1447px;
  margin: auto;
  padding: 90px 0 124px;
  background-color: #FFE400;
  background-image: url("../images/members-bg.png");
  background-position: top center;
}
.members-wrapper {
  max-width: 880px;
  margin: auto;
  padding: 0 20px;
}
.members-card {
  display: flex;
  flex-wrap: wrap;
  margin-top: 114px;
}
.members-card li {
  max-width: 45.5%;
  margin-right: 9%;
}
.members-card li:nth-child(2n) {
  margin-right: 0;
}
.members-card li:nth-child(n+3) {
  margin-top: 62px;
}
.members-card p {
  margin-top: 32px;
}
.members-note {
  font-size: 14px;
  line-height: 1.75;
}
.members-link {
  margin-top: 104px;
}

.members-card li:nth-child(1) figure {
  margin-top: 42px;
}
.members-card li:nth-child(2) figure {
  margin-top: 30px;
}
.members-card li:nth-child(3) figure {
  margin-top: 42px;
}
.members-card li:nth-child(4) figure {
  margin-top: 66px;
}

/* members SP */
@media screen and (max-width: 769px) {
  .members-section {
    padding: 20.55% 0 27.75%;
  }
  .members-wrapper {
    padding: 0 4.5%;
  }
  .members-ttl {
    width: 91%;
  }
  .members-card {
    display: block;
    margin-top: 20.25%;
  }
  .members-card li {
    position: relative;
    max-width: none;
    margin-right: auto;
  }
  .members-card li:nth-child(n+2) {
    margin-top: 27.5%;
  }
  .members-card li figure {
    position: absolute;
    right: 0;
    margin-top: 0 !important;
  }
  .members-card p {
    margin-top: 8.2%;
  }
  .members-note {
    font-size: 2.66vw;
  }
  .members-link {
    width: 94.4%;
    margin-top: 29%;
  }

  .members-card li:nth-child(1) h3 {
    width: 53.4%;
  }
  .members-card li:nth-child(1) .members-txt {
    width: 69%;
  }
  .members-card li:nth-child(1) figure {
    top: 10vw;
    width: 29%;
  }
  .members-card li:nth-child(2) h3 {
    width: 53.66%;
  }
  .members-card li:nth-child(2) .members-txt {
    width: 88.56%;
  }
  .members-card li:nth-child(2) figure {
    top: 1vw;
    width: 37.54%;
  }
  .members-card li:nth-child(3) h3 {
    width: 66%;
  }
  .members-card li:nth-child(3) .members-txt {
    width: 70.4%;
  }
  .members-card li:nth-child(3) figure {
    top: 14vw;
    width: 29%;
  }
  .members-card li:nth-child(4) h3 {
    width: 82.7%;
  }
  .members-card li:nth-child(4) .members-txt {
    width: 66.9%;
  }
  .members-card li:nth-child(4) figure {
    top: 19vw;
    width: 30.5%;
  }
}

/*======================================
  online
======================================*/
.online_store {
  padding-top: 74px;
  text-align: center;
  font-weight: bolder;
  font-size: 16px;
  color: #009EBF;
}
.online_store h2 {
  margin-bottom: .4em;
  font-size: 32px;
  font-weight: bolder;
}
.online_store p {
  max-width: 1200px;
  margin: 8px auto 0;
  font-size: 24px;
  line-height: 1.6;
}
.online_store p img {
  width: 1200px;
}
.online_store p.image-txt {
  max-width: 1200px;
  margin: 0 auto;
  padding-top: 54px;
  text-align: right;
  font-size: 13px;
  font-weight: bolder;
  color: #000;
}

/* online_store SP */
@media screen and (max-width: 769px) {
  .online_store h2 {
    font-size: 16px;
  }
  .online_store p {
    margin: 4px auto 0;
    font-size: 13px;
  }
  .online_store p:nth-child(3) {
    margin-top: 6px;
    line-height: 1.5;
  }
  .online_store p img {
    width: 100%;
  }
  .online_store p.image-txt {
    width: 100%;
    padding-top: 29px;
    font-size: 10px;
  }
}

/*======================================
  apply
======================================*/
.apply-title {
  max-width: 1024px;
  margin: 0 auto;
  padding: 0 10px;
  font-weight: 600;
}
.applyWrap {
  max-width: 1024px;
  margin: 0 auto;
	padding: 1em 10px 0;
}
.applyText {
	height: 300px;
	padding: 20px;
	background-color: #fff;
	border-radius: 15px;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	overflow-scrolling: touch;
	line-height: 1.5;
}
.applyText h4 {
	font-size: 1.143em;
	font-weight: bold;
}
.applyText h4 + h4 {
  margin-top: 20px;
}
.applyText ul + h4,
.applyText h5 {
	margin-top: 1.143em;
}
.applyText h4 + ul {
	margin-top: 1em;
}
.applyText ul ul {
  margin-top: 0!important;
  margin-left: 1em;
}
.applyText a {
  color: #2396B3;
  font-weight: bold;
  text-decoration: underline !important;
  padding-bottom: 1px;
}
.applyText a:visited {
  color: #2396B3;
}
.applyText .fb {
  font-weight: bold;
}
@media screen and (min-width: 770px){
  .apply {
    padding: 10em 0 11em;
  }
  .apply-title {
    font-size: 1.648em;
  }
}
@media screen and (max-width: 769px){
  .apply {
    padding: 40px 0 10px;
  }
  .apply-title {
    font-size: 1.143em;
    padding: 0 30px;
  }
}

/*======================================
  profile
======================================*/
.profile-section {
  position: relative;
  max-width: 1000px;
  margin: auto;
  background-color: #fff;
}
.profile-section .mfp-close {
  top: 22px;
  right: 22px;
}
.profile-ttl {
  padding: 28px 20px;
  background-image: url("../images/profile-bg.png");
  background-position: top center;
  text-align: center;
}
.profile-wrapper {
  display: flex;
  justify-content: space-between;
  padding: 46px 40px 54px 22px;
}
.profile-wrapper .profile-img {
  width: 374px;
}
.profile-wrapper figure {
  background-color: #009EBF;
}
.profile-inner {
  width: calc(100% - 424px);
}
.profile-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.profile-list dt {
  width: 86px;
}
.profile-list dt:nth-of-type(n+2) {
  margin-top: 24px;
}
.profile-list dd {
  width: calc(100% - 120px);
  margin-top: -3px;
  color: #009EBF;
  font-size: 16px;
}
.profile-list dd:nth-of-type(n+2) {
  margin-top: 21px;
}
.profile-txt {
  margin-top: 84px;
  color: #009EBF;
  font-size: 16px;
}

/* profile SP */
@media screen and (max-width: 769px) {
  .profile-section .mfp-close {
    top: 3.2vw;
    right: 4.53%;
    width: 10.13vw;
    height: 10.13vw;
    background-size: cover;
  }
  .profile-ttl {
    padding: 4.8% 3.733%;
    padding-right: 28.53%;
  }
  .profile-wrapper {
    display: block;
    padding: 8% 7.2% 8.3%;
  }
  .profile-wrapper > div {
    width: auto !important;
  }
  .profile-inner {
    margin-top: 6.6%;
  }
  .profile-list dt {
    width: 23%;
  }
  .profile-list dt:nth-of-type(n+2) {
    margin-top: 3.1%;
  }
  .profile-list dd {
    width: 71.7%;
    margin-top: -0.8%;
    font-size: 3.58vw;
  }
  .profile-list dd:nth-of-type(n+2) {
    margin-top: 2.5%;
  }
  .profile-txt {
    margin-top: 15.26%;
    font-size: 3.58vw;
  }
}


/*----------------------------------------------
basic animation
----------------------------------------------*/
/* scrollin */
.fadein{
  opacity: 0;
  transform: translate(0, 50px);
}
.fadein{
  transition: opacity .7s, transform .7s;
}
.fadein.scrollin{
  opacity: 1;
  transform: translate(0);
}


/*----------------------------------------------
終了案内掲載
----------------------------------------------*/
.w900 {
  width:100%;
  max-width: 900px;
  margin:20px auto 15px;}

@media screen and (max-width: 768px) {
  .w900 {
    width:90%;
    max-width: 90%;
    margin:20px auto 15px;
  }
}