@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,
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;
}

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;
}

img {
vertical-align: top;
}

ul, li {
list-style: none;
}

/*========================== 基本設定 ============================*/

html,body {
width:100%;
margin:0;
padding:0;
}

body {
	font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', 'HiraKakuPro-W3', 'ＭＳ Ｐゴシック', 'MS PGothic',sans-serif;
	color: #333333;	
	margin: 0px; 
	padding: 0px; 
	text-align: left;
	font-size: 18px;
	line-height: 2.0rem;
}

a:link { color: #966f32; }
a:visited { color: #966f32; }
a:hover { color: #966f32; }
a:active { color: #966f32; }

.pc {display: flex !important;}
.sp {display: none !important;}
.w100 {width: 100%;}
.w50 {width: 50%;}
.bdr { border:1px solid #000; }
.resp_img {width: 100%!important; height:auto!important;}

.m60 {margin:60px 0;}

.red{color:#D74800;}
.blue{color:#0086CC;}
.yellow{color:#FBBF06;}
.l-blue{color:#8BCCED;}

/*
* clearfix
*/
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
	font-size: 1px;
	line-height: 0;
}
.clearfix { display: inline-block; }
.clearfix { display: block; }
/*
* onmouse
*/
a.onmouse:hover img{
	opacity:0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
#page-top {
	position: fixed;
	opacity: 0;
	z-index:1000;
	cursor: pointer;
	right: 0px;
	bottom: 50px;
	height: 35px;
	text-decoration: none;
	font-weight: bold;
	font-size: 1em;
	line-height: 1.5rem;
	color: #fff;
	padding: 10px 10px 0 20px;
	display: block;
	background-color:#00af99;
	border-radius: 20px 0px 0px 20px ;
}

#page-top::before {
    content: "";
    display: block;
    position: absolute;
    top: -1px;
    left: 0px;
    width: 15px;

}

#page-top.fade-in {
	color: #fff;
	font-size: auto;
	opacity: 1.0;
	transition: opacity 1s;
}
/*========================== layout styles ============================*/

	.wrap {
	width: 100%;
	min-width:1280px;
	box-sizing: border-box;
	}

	.conteiner {
	width:1280px;
	margin: 0 auto;
	box-sizing: border-box;
	border:0px solid #000;
	padding:0 10px;
}

	.flexbox {
	display:flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding:0;
	margin-left: auto;
	}

	.btn {
	text-align: center;
	background-image: linear-gradient(90deg, rgba(215, 72, 0, 1), rgba(251, 193, 3, 1));
	border-radius:20px;
	}

	.btn a{
	color:#fff;
	font-size:1.1em;
	text-decoration:none;
	display:block;
	padding:20px 0;
	}

	.box {
	text-align: center;
	background-color:#ffffff;
	border-radius:20px;
	border:2px solid #0086CC;
	}

/*== FV ==*/

section.fv {
	background: url(img/fv-bg01.png) no-repeat #EDF6FF bottom;
	margin:0;
	padding: 60px 0 0 0;
	box-sizing: border-box;
}

	section.fv img{
	width:100%;
}

	section.fv .catch {
	position: relative;
	display: inline-block;
	padding: 0 42px;
	font-size:2.6em;/*48px*/
	font-weight:700;
	color:#D74800;
	left:50%;
	transform:translateX(-50%);
}
	section.fv .catch::before,
	section.fv .catch::after {
	content: '';
	position: absolute;
	top: 50%;
	display: inline-block;
	width: 40px; /* 斜線の長さ */
	height: 2px; /* 斜線の幅 */
	background: #D74800; /* 斜線の色 */
}
	section.fv .catch::before {
	left:0;
	transform: rotate(60deg); /* 斜線の角度 */
}
	section.fv .catch::after {
	right: 0;
	transform: rotate(-60deg); /* 斜線の角度 */
}

	section.fv .period {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2.22em;/*40px*/
	font-weight: 700;
	line-height:2em;
	padding:0 0 0 0;
}

	section.fv .period span{
	font-size: 1.6em;/*64px*/
	color:#0086CC;
}

	section.fv .period::before,
	section.fv .period::after {
  content: '';/*何も入れない*/
  display: inline-block;
  width: 43px;/*画像の幅*/
  height: 58px;/*画像の高さ*/
  background-image: url(img/fv-day.png);
  background-size: contain;
  vertical-align: middle;
}

	section.fv .period::before {
	margin-right: 0.9em;
}
	section.fv .period::after {
	margin-left: 0.5em;
	transform: rotate(180deg);
}

	section.fv div.item-bg {
	background: url(img/fv-bg02.png) repeat-x bottom;
	margin:0;
}

	section.fv div.item-bg ul.fv-img {
	display:flex;
	flex-direction: row;
	justify-content:space-evenly;
}

	section.fv div.item-bg ul.fv-img li{
	width:20%;
	height:auto;
}

	section.fv div.item-bg ul.fv-img li.item01{
	padding-bottom:80px;
}

	section.fv div.item-bg ul.fv-img li.item03{
	padding-top:80px;
}

	section.fv div.item-bg ul.fv-img li:nth-child(even){
	padding-top:40px;
}

	section.fv div.item-bg ul.fv-img img{
	border-radius: 50%;
}

/*== overview ==*/

section.overview {
	background-color: #fff;
	line-height: 1.5rem;
	margin:0;
	padding:30px 0 30px 0;
	text-align:center;
	box-sizing: border-box;
}

	section.overview .box{
	position:relative;
	margin:100px 0 0 0;
	padding:60px 0 30px 0;
	border:none;
	border-radius:0;
	background: url('img/camp-midashi.png') repeat-x top;
	background-size: auto 10px;
}

	section.overview .box h2{
	position:absolute;
	font-size: 1.77em;/*32px*/
	font-weight:normal;
	color:#0086CC;
	top:-25px;
	left:50%;
	transform:translateX(-50%);
	background: #fff;
	border-radius:0;
	padding:10px 20px;
}

	section.overview .box div{
	width:1000px;
	margin:0 auto;
}

	section.overview .box div ul{
	text-align:left;
	margin:30px 0;
}

	section.overview .box div ul li{
	font-size: 1.3em;/*24px*/
	font-weight: 700;
	line-height:2.0em;
	list-style-type: disc;
	margin-left: 30px;
	color:#0086CC;
}

/*== detail ==*/

section.detail {
	padding:0 0 20px 0;
	box-sizing: border-box;
}

	section.detail h2 {
	dixplay:block;
	text-align:center;
	font-size: 1.77em;/*32px*/
	color:#fff;
	padding:10px 0 ;
	background-color:#0086CC;
}

	section.detail div.conteiner{
	text-align:center;
}

	section.detail div.conteiner div{
	font-size: 1.3em;/*24px*/
	line-height:2.6em;
	margin: 60px auto;
}

	section.detail div.conteiner div.day span{
	font-size: 2.2em;/*40px*/
	font-weight:700;
	color:#0086CC;
}

	section.detail div.conteiner div.day img{
	margin:15px 10px 0 0;
}

/*== present ==*/

	section.detail div.present-bg{
	background: url(img/item-bg.png) no-repeat #EDF6FF bottom;
	background-size:100% auto;
	margin:0;
	padding: 20px 0 0 0;
	box-sizing: border-box;
}

	section.detail div.present-bg div.item-box{
	position:relative;
	display:flex;
	justify-content:space-evenly;
	align-items: flex-end;
	background-color:#fff;
	padding:0!important;
}

	section.detail div.present-bg div.area-a{
	background: url(img/item01-flag.png) no-repeat #ffffff left top;
	background-size:470px;
	flex-direction: row;
}

	section.detail div.present-bg div.area-b{
	background: url(img/item02-flag.png) no-repeat #ffffff right top;
	background-size:470px;
	flex-direction: row-reverse;
}

	section.detail div.present-bg div.area-c{
	background: url(img/item03-flag.png) no-repeat #ffffff left top;
	background-size:470px;
	flex-direction: row;
}

	section.detail div.present-bg div.area-d{
	background: url(img/item04-flag.png) no-repeat #ffffff right top;
	background-size:470px;
	flex-direction: row-reverse;
}

	section.detail div.present-bg p.award{
	font-size: 2.2em;/*48px*/
	font-weight:700;
	color:#FFFFFF;
	position:absolute;
	top:40px;
}

	section.detail div.present-bg p.award span{
	font-size: 1.6em;/*48px-80px*/
	font-weight:700;
}

	section.detail div.present-bg div.area-a p.award,
	section.detail div.present-bg div.area-c p.award{
	left:40px;
	transform: rotate(-20deg);
}

	section.detail div.present-bg div.area-b p.award,
	section.detail div.present-bg div.area-d p.award{
	right:40px;
	transform: rotate(20deg);
}

	section.detail div.present-bg div.item-box div{
	width:50%;
	margin:0;
}

	section.detail div.present-bg div.item-box div span{
	display:block;
	font-weight:700;
}

	section.detail div.present-bg div.item-box div h3{
	font-size: 1.8em;/*36px*/
	line-height:1em;
	font-weight:700;
	margin-bottom:30px;
}

	section.detail div.present-bg div.item-box div p{
	font-size: 2.2em;/*40px*/
	font-weight:700;
	margin:30px 0 30px 0;
}

	section.detail div.present-bg div.item-box div p span{
	display:inline;
	font-size: 0.6em;/*24px*/
	color:#000;
}


	section.detail div.present-bg div.item-box div.img-area{
	position:relative;
	height:400px;
	width:500px;
	overflow:hidden;
}
	section.detail div.present-bg div.item-box div.img-area img{
	position:absolute;
	height:110%;
	width:auto;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
}

	section.detail div.present-bg ol{
	position: relative;
	margin: 0;
	text-align:left;
	padding:0 0 60px 0;
}

	section.detail div.present-bg ol li{
	line-height:2.0em;
	list-style: none;
	list-style-position: outside;
	margin: 0;
	padding-left: 1.25em
}

	section.detail div.present-bg ol li span {
	position: absolute;
	left: 0;
	margin: 0
}

	section.detail div.conteiner div.present span{
	font-size: 2.2em;/*40px*/
	font-weight:700;
	color:#0086CC;
}


	section.detail div.conteiner div p.notes{
	font-size: 0.8em;
}



	section.detail div.box {
	position: relative;
	margin:100px 120px!important;
	padding:80px 80px 40px 80px;
}

	section.detail div.arrow::after {
	content: "";
	display: block;
	width: 70px;
	height: 50px;
	background-image: url('img/arrow.png');
	background-position: center;
	background-size: contain;
	position: absolute;
	bottom:-50px;
	left:50%;
	transform: translate(-50%, 0);
}

	section.detail div.box .number {
	position: absolute;
	font-size:1.77em;
	line-height:1em;
	color:#ffffff;
	width: 56px;
	height: 56px;
	padding-top: 13px;
	background-color:#0086CC;
	border-radius: 50%;
	text-align: center;
	box-sizing: border-box;
	top:-28px;
	left:-28px;
}
	section.detail div.box h3{
	font-size: 1.3em;/*24px*/
	line-height:2em;
}

	section.detail div.box dl.box-inside {
	text-align: center;
	background-color:#ffffff;
	border:1px solid #0086CC;
	margin-top:20px;
}

	section.detail div.box dl.box-inside dt{
	text-align: center;
	background-color:#0086CC;
	color:#ffffff;
}

	section.detail div.box dl.box-inside dd{
	padding:50px;
}

	section.detail div.box dl.box-inside dd img{
	width:100%;
}

	section.detail div.box p.btn{
	font-size: 1.3em;/*24px*/
	margin-top:40px;
}

	section.detail div.box ol {
	counter-reset: my-counter;
	list-style: none;
	text-align:left;
	padding: 0;
	margin: 0!important;
}

	section.detail div.box ol li {
	line-height: 1.5;
	padding-left: 50px;
	position: relative;
	margin: 0!important;
}

	section.detail div.box ol li h4{
	position: relative;
	display:block;
	font-weight:700;
	padding-left: 0px;
	margin: 0 0 20px 0!important;
}

	section.detail div.box ol li:before {
	content: counter(my-counter);
	counter-increment: my-counter;
	background-color: #fff;
	border: 1px solid #0086CC;
	border-radius: 50%;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 40px;
	width: 40px;
	color: #0086CC;
	font-size: 1.3em;
	line-height: 1;
	position: absolute;
	top: 0;
	left: 0;
}

	section.detail div.box ol li img{
	width:100%;
	margin: 0 0 60px 0 ;
}

/*--------------------
 accordion
--------------------*/

.js-accordion{
margin:0!important;
}

.accordion__accordionMoreContent {
	display: none;
}

.accordion__button {
	position: relative;
	display: block;
	width: 100%;
	height: auto;
	margin-top: 10px;
	cursor: pointer;
}

.accordion__button::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 25px;
	width: 20px;
	height: 20px;
	border-top: 1px solid #ffffff;
	border-right: 1px solid #ffffff;
	transform: rotate(135deg);
	margin-top:-18px;
}

.accordion__buttonText {
	display: none;
	color: #ffffff;
	text-align: center;
	text-decoration: none;
	padding: 12px 30px;
	box-sizing: border-box;
}

/* is-active時（展開時）の切り替え */
.accordion__button.is-active::before {
	transform: rotate(-45deg);
	margin-top: -2px;
}

.accordion__buttonText.is-active {
	display: block;
}

section.footer {
	background-color:#666666;
	text-align:center;
	color:#ffffff;
	padding:20px 0 ;
	box-sizing: border-box;

}

/*------------------------------------------------------------------------------
  Tablet版調整
------------------------------------------------------------------------------*/

@media screen and (min-width:768px) and (max-width:1280px) {

	.wrap {
	width:100%;
	min-width:100%;
	}
	.conteiner {
	width:100%;
	padding:0 10px;
	}

	section.detail div.box {
	position: relative;
	margin:60px 20px!important;
	padding:30px 40px;
}

	section.insta div.flexbox div.flexbox p img{
	width:90%;
}

	section.insta p{
	width:50%;
	margin:50px auto 0 auto;
}

	section.overview .box div{
	width:100%;
	margin:0 auto;
}

	section.overview .box h2{
	position:absolute;
	font-size: 2em;/*32px*/
	width:450px;
}
	section.detail div.present-bg div.item-box{
	position:relative;
	display:flex;
	justify-content:space-evenly;
	align-items: flex-end;
	background-color:#fff;
	padding:0!important;
}


	section.detail div.present-bg div.item-box div h3{
	font-size: 1.4em;/*36px*/
	line-height:1em;
	font-weight:700;
	margin-bottom:0px;
}

	section.detail div.present-bg div.item-box div p{
	font-size: 2em;/*40px*/
	font-weight:700;
	margin:20px 0 10px 0;
}

	section.detail div.present-bg  div.area-d div p{
	margin:20px 0 30px 0;
}


	section.detail div.present-bg div.item-box div p span{
	display:inline;
	font-size: 0.4em;/*24px*/
	color:#000;
}

}



/*------------------------------------------------------------------------------
  SP版調整
------------------------------------------------------------------------------*/

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

.pc {display: none !important;}
.sp {display: flex !important;}

body {
	font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', 'HiraKakuPro-W3', 'ＭＳ Ｐゴシック', 'MS PGothic',sans-serif;
	color: #333333;	
	margin: 0px; 
	padding: 0px; 
	text-align: left;
	font-size: 14px;
	line-height: 1.8rem;
}

/*========================== layout styles ============================*/

	.wrap {
	width:100%;
	min-width:100%;
	}
	.conteiner {
	width:100%;
	padding:0 10px;
	}

	.flexbox {
	display:inline;
	justify-content: space-between;
	flex-wrap: wrap;
	padding:0;
	margin-left: auto;
	}

	.btn a{
	color:#fff;
	font-size:2em;
	text-decoration:none;
	display:block;
	padding:20px 0;
	}

	section img{
	width:100%;
	}

/*== FV ==*/

section.fv {
	padding: 30px 0 0 0;
	background-size: 150% auto;
	background-position:bottom 20px center;
}

	section.fv .catch {
	padding: 0 20px;
	font-size:1em;/*48px*/
}

	section.fv .catch::before,
	section.fv .catch::after {
	width: 20px; /* 斜線の長さ */
}

	section.fv .period {
	font-size: 1em;/*40px*/
	margin-top:10px;
}

	section.fv .period span{
	font-size: 1.2em;/*64px*/
}

	section.fv .period::before,
	section.fv .period::after {
  width: 23px;/*画像の幅*/
  height: 30px;/*画像の高さ*/
}

	section.fv div.item-bg {
	background-size:200%;
	margin-top:10px;
}

	section.fv div.item-bg ul.fv-img li.item01{
	padding-bottom:40px;
}

	section.fv div.item-bg ul.fv-img li.item03{
	padding-top:40px;
}

	section.fv div.item-bg ul.fv-img li:nth-child(even){
	padding-top:20px;
}


/*== overview ==*/

section.overview {
	padding:30px 0 0 0;
}

	section.overview .box{
	margin:30px 0 0 0;
	padding:30px 0 0 0;
}

	section.overview .box h2{
	font-size: 1.2em;
	padding:15px 5px;
	width:60%;
}

	section.overview .box div{
	width:100%;
}

	section.overview .box div ul li{
	font-size: 1em!important;
}

	section.overview .box div{
	width:100%;
	margin:0 auto;
}


/*== detail ==*/

	section.detail h2 {
	font-size: 1.2em;
}

	section.detail div.conteiner div{
	font-size: 1em;
	line-height:2em;
	margin: 30px auto;
}

	section.detail div.conteiner div.day p{

}

	section.detail div.conteiner div.day span{
	font-size: 1.5em;
}

	section.detail div.conteiner div.day img{
	display:block;
	width:30px;
	height:auto
	text-align:center;
	vertical-align:baseline;
	margin:10px auto;
}

/*== present ==*/

	section.detail div.present-bg{
	background: url(img/item-bg.png) no-repeat #EDF6FF bottom;
	background-size:100% auto;
	margin:0;
	padding: 20px 0 0 0;
	box-sizing: border-box;
}

	section.detail div.present-bg div.item-box{
	position:relative;
	display:flex;
	justify-content:space-evenly;
	align-items: flex-end;
	background-color:#fff;
	padding:60px 0 0 0!important;
	
}

	section.detail div.present-bg div.area-a,
	section.detail div.present-bg div.area-b,
	section.detail div.present-bg div.area-c,
	section.detail div.present-bg div.area-d{
	background-size:180px;
	flex-direction: column;
}

	section.detail div.present-bg p.award{
	font-size: 1.5em;
	top:10px;
}

	section.detail div.present-bg p.award span{
	font-size: 1em;
}

	section.detail div.present-bg div.area-a p.award,
	section.detail div.present-bg div.area-c p.award{
	left:20px;
}

	section.detail div.present-bg div.area-b p.award,
	section.detail div.present-bg div.area-d p.award{
	right:20px;
}

	section.detail div.present-bg div.item-box div{
	width:100%;
	margin:0;
}

	section.detail div.present-bg div.item-box div span{
	margin-bottom:20px;
}

	section.detail div.present-bg div.item-box div.img-area{
	position:static;
	height:auto;
	width:100%;
	overflow:hidden;
}

	section.detail div.present-bg div.item-box div.img-area img{
	position:static;
	height:auto;
	width:100%;
	top: 0;
	left: 0;
	transform: translate(0%, 0%);
	-webkit-transform: translate(0%, 0%);
	-ms-transform: translate(0%, 0%);
}

	section.detail div.conteiner div.present span{
	font-size: 1.5em;
	font-weight:700;
	color:#0086CC;
}


	section.detail div.box {
	position: relative;
	margin:60px 0 0 0!important;
	padding:30px 10px 0 10px;
}
	section.detail div.arrow::after {/**/
	left:50%;
	transform: translate(-50%, 0);
}

	section.detail div.box .number {
	top:-28px;
	left:0;
}

	section.detail div.box h3{
	font-size: 1em;
	line-height:1.8em;
}

	section.detail div.box dl.box-inside dt{
	padding:10px;
}

	section.detail div.box dl.box-inside dd{
	padding:10px;
}

	section.detail div.box p.btn{
	font-size: 1.3em;/*24px*/
	line-height:1em;
	margin-top:20px;
}

section.footer {
	font-size: 0.8em;
}


}
