@charset "UTF-8";
/************************************************
reset
************************************************/
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,picture,
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, dialog, figure, footer, header,
hgroup, menu, nav, section,
time, mark, audio, video {
  margin:0;
  padding:0;
  border:0;
  outline:0;
  font-size:100%;
  vertical-align:baseline;
  background:transparent;
}
body {
  background: rgb(178,178,178,0.2);
  box-sizing: border-box;
}
article, aside, dialog, figure, footer, header,
hgroup, nav, section {
  display:block;
}
a {
  margin:0;
  padding:0;
  border:0;
  font-size:100%;
  vertical-align:baseline;
  background:transparent;
}
a:active, a:hover {
    outline-width: 0;
}
ul,ol {
  list-style: none;
}
picture {
  display: block;
}
.wrapper {
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
  font-family: 'Noto Sans JP', sans-serif , 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, Arial, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  position: relative;
  background: #fff;
  box-shadow: rgba(100, 100, 111, 0.2) 0px 0px 26px 0px;
}
.wrapper img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  vertical-align: bottom;
  line-height: 1;
}
.wrapper a img {
  transition: 0.3s;
}
.wrapper a:hover img {
  opacity:0.8;
  transition: 0.3s;
}
/************************************************
Q block
************************************************/
.qblock .inner_wrap {
  position: relative;
}
.qblock .inner {
  position: absolute;
  margin: 0 auto;
  top:0;
  left: 0;
  right: 0;
}
.qblock .q_list {
  padding-left: calc(95/750*100%);
  padding-right: calc(95/750*100%);
}
.wrapper .qblock li {
  position: relative;
}
.wrapper .qblock img.btn_on {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
	display: none;
}
/************************************************
qblock01
************************************************/
.qblock01 .q_list {
  display: flex;
  justify-content: center;
}
.qblock01 li {
  width: 50%;
}
.qblock01 li:first-of-type {
  margin-right: calc(20/750*100%);
}
/************************************************
qblock02
************************************************/
.qblock02 .q_list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.qblock02 li {
  max-width: calc(270/560*100%);
  margin-bottom: calc(23/560*100%);
}
.qblock02 li:nth-child(odd) {
  margin-right: calc(20/560*100%);
}
.qblock02 li:last-of-type {
  margin-right: 0;
  margin-bottom: 0;
}
/************************************************
qblock03
************************************************/
.qblock03 li {
  margin-bottom: calc(40/750*100%);
}
.qblock03 li:last-of-type {
  margin-bottom: 0;
}
/************************************************
next
************************************************/
.next {
  padding-top: calc(60/750*100%);
  padding-bottom: calc(80/750*100%);
  background-color: #f6f2ee;
}
.next img {
  margin: 0 auto;
  max-width: calc(640/750*100%);
}
/************************************************
CV
************************************************/
.cv {
  background: #fff;
}
.cv_btn {
  padding-top: calc(60/750*100%);
  padding-bottom: calc(32/750*100%);
  background-color: #fff;
}
.cv_btn img {
  margin: 0 auto;
  max-width: calc(680/750*100%);
}
.camp_btn {
  padding: 1% 0 7%;
  background-color: #fff;
}

.cv_premium {
  background-image: -moz-linear-gradient( -30deg, rgb(253,153,13) 0%, rgb(253,190,15) 100%);
  background-image: -webkit-linear-gradient( -30deg, rgb(253,153,13) 0%, rgb(253,190,15) 100%);
  background-image: -ms-linear-gradient( -30deg, rgb(253,153,13) 0%, rgb(253,190,15) 100%);
  padding-bottom: calc(140/750*100%);
  position: relative;
}
.cv_premium:before {
  content: '';
  background: url("../img/bg_bottom.png") no-repeat;
  background-position: center bottom -2px;
  width: 100%;
  height: 100%;
  aspect-ratio: 750/107;
  position: absolute;
  bottom: 0;
  z-index: 2;
}

.cv_premium .inner {
  background: #fff;
  width: 89.33%;
  margin: 0 auto;
  border-radius: 0 0 12px 12px;
  padding-bottom: 2em;
  position: relative;
  z-index: 2;
}
.cv_preminu01 {
  margin-top: -2em;
}

.cv_preminu01 {
  width: 111.94%;
  margin-left: -5.97%;
}


.cv_acc01, .cv_acc02 {
  width: 89.55%;
  margin: 1.5em auto 0;
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.21);
  cursor: pointer;
}

.acc_contents.area {
  display: none;
  width: 89.55%;
  margin: 0 auto;
}
.acc_contents.area .flex {
  display: flex;
  justify-content: space-between;
}
.acc_contents.area h3 {
  background: #d8e6f1;
  color: #5e8fca;
  font-size: min(calc(25/750*100vw),25px);
  padding: 1% 1% 1% 3%;
}
.cv_acc02 + .acc_contents.area h3 {
  background: #eee6f4;
  color: #602bb3;
}
.acc_contents.area .col2 {
  width: 50%;
  padding: 3%;
  font-size: min(calc(16/750*100vw),16px);
  line-height: 2;
}
.acc_contents.area .notes {
  font-size: min(calc(16/750*100vw),16px);
  text-align: right;
}

.conditions {
  width: 89.55%;
  margin: 0 auto;
}
.conditions_ttl {
  text-align: center;
  border: #333 solid 1px;
  width: 100%;
  margin: 2em auto 0;
  box-sizing: border-box;
  padding: 2% 3%;
  cursor: pointer;
  position: relative;
}
.conditions_ttl::after {
  content: "";
  position: absolute;
  top: 42%;
  right: 25px;
  width: 0;
  height: 0;
  border: 8px solid transparent;
  border-top-color: #333;
}
.conditions_ttl.active::after {
  content: "";
  position: absolute;
  top: 19%;
  border: 8px solid transparent;
  border-bottom-color: #333;
}
.conditions .acc_contents {
  display: none;
  padding: 3%;
  border-right: #333 solid 1px;
  border-left: #333 solid 1px;
  border-bottom: #333 solid 1px;
  box-sizing: border-box;
}
.conditions .acc_contents ul li{
  font-size: min(calc(16/750*100vw),16px);
  padding-left: 1em;
  text-indent: -1em;
  
}

/************************************************
monitar
************************************************/
.monitar {
  width: 100%;
  margin: 0 auto;
  padding: 0 7.335% 15px;
  box-sizing: border-box;
  background: #fff;
}
.monitar .notice{
  width: 100%;
  margin: 20px auto;
}
.notice li{
  font-size: min(max(11px, calc(0.6875rem + ((1vw - 3.75px) * 1.8667))), 18px);
  padding-left:1em;
  text-indent:-1em;
}

.img_monitar {
  width: 89.33%;
  margin: 2em auto;
}
/************************************************
detail
************************************************/
.disp_none {
  display: none;
}
/************************************************
rakuten
************************************************/
#rakuten {
  position: relative;
  margin: 5% 7.335% 8%;
}
.rakutenlink {
  font-size: min(max(12px, calc(0.75rem + ((1vw - 3.75px) * 1.6))), 18px);
  position: absolute;
  width: 100%;
  text-align: center;
  bottom: 6.5%;
}
.remodal img {
  width: 100%;
  max-width: 100%;
}
/************************************************
footer
************************************************/
footer {
  text-align: center;
  background: #fff;
}
footer a:hover {
  opacity: .8;
}
footer .nav {
    padding: calc(60/750*100%) 0;
}
footer ul li, footer ul li a {
    display: inline-block;
}
footer ul li a {
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 0.5em;
    font-size: 9pt;
    line-height: 2.5em;
    color: #403e3e;
}
footer ul li span, .ft-bottom {
    font-size: 10px;
}
.ft-bottom {
  color: #fff;
  background: #de580d;
  font-size: 10px;
}
.ft-copyright {
  padding: calc(40/750*100%) 0;
  display: inline-block;
}







/*240422追加*/
.details {background-color: #f6f2ee;margin: 30px 0;}
			.details-summary { text-align: center; position: relative;display: block;padding: 20px;color: #000;font-size: min(max(16px, calc(0.6875rem + ((1vw - 3.75px) * 1.8667))), 24px);	padding-right: 20%; box-sizing: border-box;
				&:hover {cursor: pointer;opacity: 0.8;}
	.btn {	position: absolute;	top: 50%;transform: translateY(-60%);right: 10%;transform-origin: center center;
		transition-duration: 0.2s;	font-size: 16px;
		&:before{content: "▼";top: 50% - 12px;	left: 0;transform-origin: center center;}
		&:before {top:50%;	left: 7px;}	}
	&.is-active {
		.btn {	-webkit-transform: translateY(-40%); rotate(-180deg);	transform: translateY(-40%) rotate(-180deg);}}}

.details-summary::-webkit-details-marker {display: none;}
.details-content {padding: 20px; font-size: 0;
	p {	margin: 0 0 20px;color: #000;font-size: 18px;text-align: left;	&:last-of-type {margin: 0 0 0;}
	}
			}
/*240820追加*/
.details-content ul{display: inline-block; width:46%; margin: 0 2%; vertical-align: top;}
.details-content ul li{display: block; font-size: min(max(11px, calc(0.6875rem + ((1vw - 3.75px) * 1.8667))), 16px); padding-left: 1em;}
.details-content ul li.program{ font-size: min(max(12px, calc(0.6875rem + ((1vw - 3.75px) * 1.8667))), 20px); font-weight: bold; text-indent: -1em; margin-top: 20px;}
.details-content ul li.area{ font-size: min(max(11px, calc(0.6875rem + ((1vw - 3.75px) * 1.8667))), 18px); font-weight: bold; text-indent: -1em; margin-top: 10px;}
p.addtxt{font-size: min(max(11px, calc(0.6875rem + ((1vw - 3.75px) * 1.8667))), 14px); text-align: left; padding: 20px;}
.noticeblock{background-color: #EEE; width:auto; margin: 0 0 50px; padding: 20px; box-sizing: border-box;}
.noticeblock p{font-size: min(max(11px, calc(0.6875rem + ((1vw - 3.75px) * 1.8667))), 16px); text-align: left; padding-left: 1em; text-indent: -1em;}
.fixed_cv_btn{ width:90%; max-width:680px; margin: 5% auto}
.cv_btn{position: fixed; bottom: -25%; display: none; padding:10px 3%; z-index: 3; width: 100%;  max-width: 750px; box-sizing: border-box; background-color: rgba(255, 255, 255, .8);}
.cv_btn.slideup{ bottom: 0; transition: .7s; display: block; opacity: 1;}
.cv_btn img{ width:100%; max-width: 680px;}
footer {margin-top: 0;}
footer .nav { padding: calc(20/750*100%) 0;}
section.cv{margin-bottom: 30%;}
.rakutenbana img:hover{cursor: pointer;}
.information {padding:1% 5% 5% 5%; box-sizing: border-box; width:90%;  margin: 5% auto;}
.information .label{background-color: #d2d2d2; font-size: min(max(14px, calc(0.6875rem + ((1.2vw - 3.75px) * 1.8667))), 16px); font-weight: bold; text-align: center; margin: 30px 0 10px; width:100%; padding: 2px 0;}
.information p{ font-size: min(max(12px, calc(0.6875rem + ((1vw - 3.75px) * 1.8667))), 14px); line-height: 180%; text-align: left; margin: 0 0 5px;}
.information p.stxt{font-size: 12px; line-height: 150%; text-align: left}
.information p.number{padding-left: 1em; text-indent: -1em;}
/* モーダルの背景 */
.modal { display: none; position: fixed; z-index: 4; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.8); opacity: 0; transition: opacity 0.5s ease; overflow: scroll;}
/* モーダルが表示されるときに適用されるクラス */
.modal.show { display: block; opacity: 1; /* 表示する際にフェードイン */}
/* モーダルのコンテンツ全体 */
.modal-content { margin: auto; display: block; max-width: 90%; max-height: 90%; overflow-y: auto; background-color: #fff; padding: 20px; box-sizing: border-box; border-radius: 8px;}
/* 閉じるボタン */
.closeBtn { position: fixed; top: 0; right: 0; color: #000; font-size: 24px; font-weight: 300; transition: color 0.3s ease; background-color: #FFF; z-index: 4; width: 30px; height: 30px; display: flex; justify-content: center; align-items: center;}
.closeBtn:hover,.closeBtn:focus { color: #bbb; text-decoration: none; cursor: pointer;}




/*240904追加*/
video{width:100%; display: block; height: auto;}



