@charset "UTF-8";
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; }
html { scroll-behavior: smooth;}
body { line-height: 1; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }

nav ul { list-style: none; }

blockquote, q { quotes: none; }

blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }

a { margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent; }

/* change colours to suit your needs */
ins { background-color: #ff9; color: #000; text-decoration: none; }

/* change colours to suit your needs */
mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }

del { text-decoration: line-through; }

abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }

table { border-collapse: collapse; border-spacing: 0; }

/* change border colour to suit your needs */
hr { display: block; height: 1px; border: 0; border-top: 1px solid #cccccc; margin: 1em 0; padding: 0; }

input, select { vertical-align: middle; }

/* add */
*, *::before, *::after { box-sizing: border-box; }

/* mixin */
/* setting */
/* layout */
.hide-pc { display: none; }

@media screen and (max-width: 768px) { .hide-pc { display: block; }
  .hide-sp { display: none; } }
.wrap { color: #000; font-family: "Avenir Next", Verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, Osaka, sans-serif; font-size: 15px; line-height: 1.5; text-align: center; -webkit-text-size-adjust: 100%; repeat-x fixed top;}
@media screen and (max-width: 840px) { .wrap { min-width: 320px; } }
/* 
.wrap a { color: #00c; text-decoration: underline; }
.wrap a:hover { text-decoration: none; }
*/
.wrap img { max-width: 100%; }

.note { font-size: 13px; text-align: center; color: #fff; }
@media screen and (max-width: 840px) { .note { padding-left: 1em; text-indent: -1em; font-size: 11px; text-align: left; } }

/* mv */
.mv {background: #000; width: 100%; height: 100%;}
.mv img {margin: 0 auto; display: block; width: 100%;}
@media screen and (max-width: 840px) { .mv img { width:100%; } }

.toplink{
display: flex;
flex-wrap: wrap;
width: 50%;
margin: 0 auto;
list-style:none;
}

.toplink-bg{
width: 100%;
background-color: #000;
padding: 3vh;
}

.toplink li{
width: calc(100%/4);
box-sizing: border-box;
text-align: center;
}

.toplink li a{
color: #FFF;
text-decoration: none;
font-weight: bold;
}

@media screen and (max-width: 840px) { .toplink { width:98%; margin: 1.5vh auto;} .toplink-bg{ padding: 5px;} .toplink li{ padding: 0 2px;}.toplink li { font-size:0.6em;}}

/* cta */
.cta { margin: 0 auto; padding: 10px 0 10px 0; background-color:#e5e5e5;}
@media screen and (max-width: 840px) {.cta { padding: 0;}}

.cta2 { margin: 0 auto; padding: 10px 0 10px 0; background-color:#FFF;}
@media screen and (max-width: 840px) {.cta2 { padding: 0;}}

.cta3 { margin: 0 auto; padding: 10px 0 10px 0; background-color:#e5e5e5;
background-image: url(../img/bk.png);
background-position: left center;
background-size: cover;
background-repeat: no-repeat;}
@media screen and (max-width: 840px) {.cta3 { padding: 0;}}

.cta img { max-width: 840px; margin: 0 auto;}
@media screen and (max-width: 840px) {.cta img{ width:100%;}}

.cta2 img { max-width: 840px; margin: 0 auto;}
@media screen and (max-width: 840px) {.cta2 .title-img{ width:100%;}}

.cta3 img { max-width: 840px; margin: 0 auto;}
@media screen and (max-width: 840px) {.cta3 img{ width:100%;}}

.cta-container { width: 100%; max-width: 1000px; margin: 0 auto;}
@media screen and (max-width: 840px) { .cta-container { padding: 1%; } }

.cta-headline { margin-bottom: 20px; margin-top: 20px;  font-size: 20px; font-weight: bold; color: #fff; }
@media screen and (max-width: 840px) { .cta-headline { margin-bottom: 10px; margin-top: 10px; font-size: 16px; } }
.cta-headline .large { font-size: 30px; color: #fffd51; }
@media screen and (max-width: 840px) { .cta-headline .large { font-size: 20px; } }

.cta-headline img {vertical-align: top; font-size: 0}
@media screen and (max-width: 840px) { .cta-headline img  { vertical-align: top; font-size: 0} }

a.btn { transition: opacity .2s ease-out; display: inline-block; background: #000; border: 2px solid #fff; color: #fff; padding: 14px 45px 8px 33px; text-decoration: none; font-weight: bold; border-radius: 8px; font-size: 30px; vertical-align: middle; line-height: 1.2; }
@media screen and (max-width: 840px) { a.btn { font-size: 20px; padding: 12px 35px 8px 25px; } }
a.btn:hover { opacity: .8; }

.btn-icon { position: relative; top: -2px; width: 45px; height: auto; vertical-align: middle; }


/* rule */
.rule { max-width: 800px; margin: 0 auto ; padding: 20px ; }
@media screen and (max-width: 800px) { .rule { padding: 20px; } }

.rule-headline { margin-bottom: 10px; font-size: 30px; font-weight: bold; color: #fff; margin-top:50px;}
@media screen and (max-width: 800px) { .rule-headline { font-size: 20px; margin-top:20px;} }

.rule-contents { background: #fff; border: 1px solid #ccc; padding: 30px 30px 20px; text-align: left; line-height: 1.3; height: 350px; overflow-y: auto; }
@media screen and (max-width: 840px) { .rule-contents { padding: 15px 15px 5px; height: 200px; } }
.rule-contents p { font-size: 14px; line-height: 1.5; }
@media screen and (max-width: 840px) { .rule-contents p { font-size: 12px; } }

.rule-headline3 { margin-bottom: 8px; font-size: 24px; font-weight: bold; }
@media screen and (max-width: 840px) { .rule-headline3 { font-size: 18px; } }

.rule-headline4 { margin-bottom: 8px; font-size: 20px; font-weight: bold; }
@media screen and (max-width: 840px) { .rule-headline4 { font-size: 16px; } }

.rule-text-wrap + .rule-text-wrap { margin-top: 20px; }

.rule-title { margin-bottom: 10px; }

.rule-list { margin-bottom: 20px; }
.rule-list > div { margin-bottom: 0.5em; padding-left: 1em; text-indent: -1em; font-size: 14px; }

.banner { max-width: 800px; width: 100%; margin: 0 auto 50px auto; }
@media screen and (max-width: 959px) { .banner { max-width: 100%; width: 80%; } }
@media screen and (min-width: 960px) { .banner a:hover { opacity: .8; } }

.banner_2 { max-width: 800px; width: 100%; margin: 0 auto; margin-top: 30px; }
@media screen and (max-width: 959px) { .banner_2 { max-width: 100%; width: 80%; } }
@media screen and (min-width: 960px) { .banner_2 a:hover { opacity: .8; } }

.copyright {background: #000; width: 100%; height: 100%;}
@media screen and (max-width: 840px) { .copyright img { width:100%; } }

.copyright ul { display: flex; justify-content: center; }
.copyright ul li { list-style: none; }
.copyright ul li:nth-of-type(1) { margin-right: 20px; margin-bottom: 10px;}
.copyright p { padding-top: 30px;}
@media screen and (max-width: 959px) { .copyright p { width: 80%; margin: 10px auto 0; } }

.copyright2 {background: #000; width: 100%; height: 100%;}
.copyright2 img {margin: 0 auto; display: block; width: 100%;}
@media screen and (max-width: 840px) { .copyright2 img { width:100%; } }

/* footer */
.footer { padding: 10px; line-height: 1.2; color: #fff; }
@media screen and (max-width: 959px) { .footer { padding: 20px 10px; font-size: 11px; } }

/* black */
.black { background: black;}

/* pink */
.pink { background: #b165e3;}
					
.img_wrap{
margin: 5vh auto;
width: 50%;
}

@media screen and (max-width: 840px) { .img_wrap { width: 80%;; } }
					
.img_wrap img{
  width: 100%;
  cursor: pointer;
  transition-duration: 0.3s;
}
.img_wrap:hover img{
  opacity: 0.6;
  transition-duration: 0.3s;
					}
					
					.mar{
					margin-bottom:5vh;	
					}
@media screen and (max-width: 840px) { .mar { margin-bottom: 2vh;} }

					.pad{
					padding-top:2em;	
					padding-bottom:2em;	
					}

					.pad2{
					padding-top:2em;	
					}



.concept-box{
display: flex;
align-items:center;
padding: 0 3%;

}

.concept-item{
padding: 3%;
width: 50%;
color: #000;
}
.concept-item-full{
padding: 3%;
width: 100%;
color: #000;
}

.concept-title{
color: #000;
font-weight: bold;
font-size: 1.3em;
border-bottom: 2px solid;
border-image: linear-gradient(to right, #2b2bd5 0%,#ff0080 100%);
border-image-slice: 1;

}

.concept-text{
color: #FFF;
font-weight: bold;
text-align: left;
}

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

.concept{
padding: 30px 0;
}

.concept-box{
display: flex;
align-items:center;
flex-direction:column;
}
.concept-item{
padding: 1%;
width: 90%;
}

.concept-item-full{
padding: 1%;
width: 90%;
margin-bottom: 30px;
}

}

.mar5{
margin-bottom: 3vh;
}
@media screen and (max-width: 840px) {.mar5 { margin-bottom: 1.5vh;} }

.mar10{
margin-bottom: 10vh;
}
@media screen and (max-width: 840px) {.mar10 { margin-bottom: 4vh;} }

.title10{
margin-top: 5vh;
margin-bottom: 5vh;
}

@media screen and (max-width: 840px) {.title10 { margin-top: 2vh; margin-bottom: 2vh;} }

.link-eva{
display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
}
@media screen and (max-width: 840px) {
.link-eva { 
grid-template-columns: 1fr;
gap: 5px;
padding: 5px;
}
.banner {
margin: 0 auto 5px auto; 
}

}

.banner {
	max-width: 800px; width: 100%; margin: 0 auto 30px auto; 
    text-align: center;
}

.banner { max-width: 800px; width: 100%; margin: 0 auto 30px auto; }
@media screen and (max-width: 959px) { .banner { max-width: 100%; width: 90%; } }
@media screen and (min-width: 960px) { .banner a:hover { opacity: .8; } }


.banner img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}

.banner p {
    margin-top: 10px;
    font-size: 14px;
    color: #fff;
text-align: left;
}



.select_days{
max-width: 1200px;
display: flex;
flex-wrap: wrap;
width: 65%;
margin: 0 auto 2em auto;
}
@media screen and (max-width: 840px) {.select_days { width: 90%;} }

.kikan{
color: #000;
text-align: left;
}

.accordion {
  width: 100%;
  max-width: 1200px;
  margin: 1em auto;
  border: 1px solid #ccc;
  overflow: hidden;
}
.accordion-header {
width: 100%;
  display: flex;
  align-items: center;
  max-width: 100%;
  background: #FFF;
  border: none;
  outline: none;
  cursor: pointer;
  padding: 0.8em;
  font-size: 1em;
}
@media screen and (max-width: 840px) {.accordion-header  { font-size: 0.8em;} }

.accordion-main-img {
  width: 20%;
  height: auto; 
  margin-right: 1em;
  max-width: 130px;
  min-width: 100px;
}
.accordion-title {
  flex: 1;
  font-weight: bold;
  text-align: left;
  margin-left: 0.5em;
}
.accordion-icon {
  font-size: 1.5em;
  margin-left: auto;
  transition: transform 0.3s;
}
.accordion-body {
  display: none;
  flex-direction: column;
  background: #fff;
  align-items: flex-start;
}
.accordion.open .accordion-body {
  display: flex;
}
.accordion-section {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 1em;
  padding: 0.6em;
  border-top: 1px solid #eee;
}
.section-img {
  width: 100px;
  height: auto;
  object-fit: cover;
}
.section-content {
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  justify-content: flex-start;
  text-align: left;
}
.section-content strong {
  color: #000;
  font-size: 0.7em;
}
.x-link {
  display: inline-block;
  border: 1px solid #878787;
  background: #fff;
  color: #878787;
  padding: 0.3em 0.3em;
  text-decoration: none;
  border-radius: 20px;
  font-size: 0.6em;
  font-weight: bold;
  text-align: center;
  transition: background 0.2s, color 0.2s;
}
.x-link:hover {
  background: #f0f0f0;
  color: #444;
  border-color: #444;
}
.x-link a { color: #878787; }

/*# sourceMappingURL=style.css.map */