@charset "utf-8";
/* --------------------------------------------------
	reset
-------------------------------------------------- */
* { margin: 0; padding: 0; box-sizing: border-box;}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
form, fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0; padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
}

img{ vertical-align: bottom;}
ul{ list-style: none;}
ul li{ list-style-type: none;}
figure { margin: 0;}


/* =============================================================================
   Forms
   ========================================================================== */
form { margin: 0;}
fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em;}
legend { border: 0;}
button,
input,
select,
textarea { font-size: 100%; margin: 0; vertical-align: baseline;}
button,
input { line-height: normal;}
button,
input[type="button"], 
input[type="reset"], 
input[type="submit"] { cursor: pointer; -webkit-appearance: button; }
input[type="checkbox"],
input[type="radio"] { box-sizing: border-box; padding: 0;}
input[type="search"] {
  -webkit-appearance: textfield;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none;}

button::-moz-focus-inner,
input::-moz-focus-inner { border: 0; padding: 0; }
textarea { overflow: auto; vertical-align: top;}
input[type="search"]:focus { outline: none;}

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


/*
    Colorbox Core Style:
    The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden; -webkit-transform: translate3d(0,0,0);}
#cboxWrapper { max-width:none;}
#cboxOverlay{position:fixed; width:100%; height:100%;}
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
#cboxContent{ position:relative;}
#cboxLoadedContent{ overflow:auto; -webkit-overflow-scrolling: touch;}
#cboxTitle{margin:0;}
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow { cursor:pointer; text-indent: -9999em;}
.cboxPhoto{ float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;}
.cboxIframe{ width:100%; height:100%; display:block; border:0; padding:0; margin:0;}
#colorbox, #cboxContent, #cboxLoadedContent{ box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}

/* 
    User Style:
    Change the following styles to modify the appearance of Colorbox.  They are
    ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay{background: rgba(84,194,240,0.5);}
#colorbox { outline:0;}
#cboxContent { overflow:hidden;}
#cboxError { padding:50px; border:1px solid #ccc;}
#cboxLoadedContent { padding: 20px;}
#cboxTitle{ position:absolute; bottom:0px; left:0; text-align:center; width:100%; color:#999;}
#cboxCurrent{ position:absolute; bottom:0px; left:100px; color:#999;}
#cboxLoadingOverlay{}

/* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
#cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; }

/* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
#cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active { outline:0;}

#cboxSlideshow{position:absolute; bottom:0px; right:42px; color:#444;}
#cboxPrevious,
#cboxNext,
#cboxClose { position:absolute; top:0px; display:block; width: 30px; height: 30px; color:#444; border: none; opacity: 0.5;}
#cboxPrevious { right: 120px;}
#cboxNext { right: 80px;}

#cboxPrevious:before,
#cboxNext:before { content: ''; display: block; width: 18px; height: 18px; position: absolute; top: 50%;}
#cboxPrevious:before{ left: 8px; border-bottom: solid 2px #fff; border-left: solid 2px #fff; transform: translateY(-50%) rotate(45deg);}
#cboxNext:before { right: 10px; border-top: solid 2px #fff; border-right: solid 2px #fff; transform: translateY(-50%) rotate(45deg);}

#cboxClose { right: 40px;}
#cboxClose:before,
#cboxClose:after { content: ''; display: block; width: 2px; height: 100%; background: #fff; position: absolute; left: 50%; top: 0%;}
#cboxClose:before{ transform: rotate(45deg);}
#cboxClose:after { transform: rotate(-45deg);}

#cboxPrevious:hover,
#cboxNext:hover,
#cboxClose:hover { opacity: 1;}
@media (max-width: 481px) {
	#cboxPrevious { right: 90px;}
	#cboxNext { right: 60px;}
	#cboxClose { right: 20px;}
	#cboxLoadedContent { padding: 15px 8px;}
}



/*		font-style
-------------------------------------------------- */
body { color: #8a483b;
	font-family: "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;
	font-size: 16px;
	*font-size:small;
	*font:x-small;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
input, textarea {font-family: "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;}

.min {font-family: "游明朝", "Yu Mincho", "YuMincho", serif;}

::selection{ background: #feffaf; color: #000;}
::-moz-selection{ background: #feffaf; color: #000;}


a { color:#002159; text-decoration: underline;}
a:link   { color:#002159;}
a:visited{ color:#002159;}
a:hover  { color:#002159;}
a:active { color:#002159;}

em{ font-style: normal;}


/*		utility
-------------------------------------------------- */
.cf{ clear: both;}
.cf:after{ content: ''; display: block; clear: both;}


#container { background: linear-gradient(90deg,#54c2f0,#acddf7,#54c2f0);}
#wrapper { padding-top: 30px;}
@media (max-width: 481px) {
	#wrapper { padding-top: 20px;}
}

#ft { background: #fff;}
#ft .inner-ft { padding: 50px 0 30px;}
#ft h3 { margin-bottom: 30px; text-align: center;}
#ft h3 img { width: 40%; max-width: 160px;}
#ft ul { font-size: 0; text-align: center;}
#ft ul li { display: inline-block; margin: 0 30px; font-size: 14px;}
#ft ul li a { color: #000; text-decoration: none;}
#ft .copyright { padding: 10px 0; background: #000;}
#ft .copyright p { color: #fff; font-size: 12px; text-align: center;}
@media (max-width: 801px) {
	#ft ul li { margin: 0 20px;}
}
@media (max-width: 641px) {
	#ft .inner-ft { padding: 50px 0;}
	#ft h3 { margin-bottom: 20px;}
	#ft ul { width: 92%; margin: 0 auto;}
	#ft ul li { width: 50%; margin: 0; padding: 10px 0;}
	#ft ul li a { display: block; width: 94%; margin: 0 auto; padding: 10px 0; border: solid 1px #000;}
}
@media (max-width: 481px) {
	#ft .inner-ft { padding: 40px 0;}
	#ft h3 { margin-bottom: 10px;}
	#ft ul li { padding: 8px 0; font-size: 11px;}
	#ft ul li a { padding: 8px 0;}
	#ft .copyright p { font-size: 10px; letter-spacing: 0.05rem;}
}


div.note { width: 100%;}
div.note ul { width: 90%; max-width: 960px; margin: 0 auto; padding: 20px 0; color: #fff;}
div.note ul li { font-size: 10px;}
@media (max-width: 1001px) {
	div.note { padding: 0 12px;}
}
@media (max-width: 801px) {
	div.note ul { max-width: 400px;}
}
@media (max-width: 641px) {
	div.note { padding: 0 15px;}
	div.note ul li { font-size: 9px;}
}
@media (max-width: 481px) {
	div.note ul { padding: 12px 0;}
}




#ctn-box { position: relative; width: 92%; max-width: 1000px; margin: 0 auto; padding: 10px 0; border-radius: 50px;
 box-shadow: 0 0 10px 2px rgba(45,152,220,0.6), inset 0 0 3px 5px rgba(45,152,220,0.6), inset 0 0 40px 20px rgba(255,255,255,0.3);
}
#ctn-box:after { content: ''; display: block; width: 100%; height: 350px;
 background: url('./img/illust.png') no-repeat 50% 50% / auto 100%;
}
@media (max-width: 481px) {
	#ctn-box { border-radius: 30px;}
}


#kv { padding: 20px 0 50px;}
#kv h1 { margin-bottom: 40px; text-align: center;}
#kv h1 img { width: 92%; max-width: 780px;}
#kv h1 img.sp { display: none;}
#kv p { text-align: center;}
#kv p img { width: 92%; max-width: 460px;}
@media (max-width: 641px) {
	#kv { padding: 20px;}
	#kv h1 { margin-bottom: 30px;}
}
@media (max-width: 481px) {
	#kv h1 { margin-bottom: 20px;}
	#kv h1 img.pc { display: none;}
	#kv h1 img.sp { display: block; margin: 0 auto;}
}

.ttl { width: 80%; max-width: 660px; margin: 0 auto; padding: 5px; background: #ffdf3f; border-radius: 50px;}
.ttl h2 { display: block; padding: 10px 0; border: dashed 1.5px #fff; text-align: center; border-radius: 50px;}
.ttl h2 img { width: 55%; max-width: 240px; margin: 0 auto; vertical-align: middle;}
@media (max-width: 481px) {
	.ttl { padding: 3px;}
	.ttl h2 { padding: 6px 0 8px;}
}

#present .ctn { position: relative; width: 94%; max-width: 660px; margin: 0 auto; padding: 80px 0;
 background: url('./img/present.png') no-repeat 20px 50% / auto 80%;
}
#present .ctn p { text-align: center;}
#present .ctn p.txt { margin-bottom: 30px; font-size: 18px; font-weight: 700; line-height: 1.85;}
#present .ctn p.txt sub { font-size: 10px; vertical-align: baseline;}
#present .ctn p.note{ font-size: 10px;}


#kikan .ctn { position: relative; width: 94%; margin: 0 auto; padding: 30px 0 50px;}
#kikan .ctn p { text-align: center;}
#kikan .ctn p.txt { margin-bottom: 20px; font-size: 18px; font-weight: 700; line-height: 1.85;}
#kikan .ctn p.note{ font-size: 10px;}


#receipt .ctn { position: relative; width: 94%; margin: 0 auto; padding: 30px 0 50px;}
#receipt .ctn p { font-size: 18px; font-weight: 700; line-height: 1.85; text-align: center;}


#shop .ctn { position: relative; width: 94%; margin: 0 auto; padding: 30px 0 50px;}
#shop .ctn p { font-size: 18px; font-weight: 700; line-height: 1.85; text-align: center;}


#series .inner-sct { padding: 50px 0;}
#series .tit { margin-bottom: 20px;}
#series .tit h2 { margin-bottom: 30px; text-align: center;}
#series .tit h2 img { width: 92%; max-width: 520px;}
#series .tit p { font-size: 10px; text-align: center;}
#series .tit p br.sp { display: none;}
#series .box { width: 86%; max-width: 660px; margin: 0 auto; padding: 25px 10px; background: #fff; border-radius: 45px;}
#series .box ul { font-size: 0px; text-align: center;}
#series .box ul li { display: inline-block; width: 20%; padding: 20px 15px; vertical-align: bottom;}
#series .box ul li:nth-child(6),
#series .box ul li:nth-child(7),
#series .box ul li:nth-child(8),
#series .box ul li:nth-child(9){ width: 25%;}
#series .box ul li dt { margin-bottom: 12px;}
#series .box ul li dt img { width: 80%;}
#series .box ul li:nth-child(8) dl dt img,
#series .box ul li:nth-child(9) dl dt img { width: 58%;}
#series .box ul li:nth-child(12) dl dt img { width: 75%;}
#series .box ul li dd { padding-bottom: 8px; font-size: 13px; font-weight: 700; line-height: 1.2;}
#series .box ul li dd.row { padding-bottom: 0px;}
#series .box ul li dt a:hover img { opacity: 0.8;}
@media (max-width: 641px) {
	#series .tit { margin-bottom: 20px;}
	#series .tit h2 { margin-bottom: 15px;}
	#series .box { padding: 15px 6px; border-radius: 25px;}
	#series .box ul li { padding: 12px;}
	#series .box ul li,
	#series .box ul li:nth-child(8),
	#series .box ul li:nth-child(9) { width: 25%;}
	#series .box ul li:nth-child(5) { width: 28%;}
	#series .box ul li:nth-child(6),
	#series .box ul li:nth-child(7){ width: 35%;}
	#series .box ul li:nth-child(12),
	#series .box ul li:nth-child(13),
	#series .box ul li:nth-child(14){ width: 25%;}

	#series .box ul li:nth-child(5) dl dt img { width: 58%;}
	#series .box ul li:nth-child(8) dl dt img,
	#series .box ul li:nth-child(9) dl dt img { width: 78%;}
	#series .box ul li:nth-child(12) dl dt img { width: 72%;}
}
@media (max-width: 481px) {
	#series .inner-sct { padding: 30px 0;}
	#series .tit p br.sp { display: block;}
	#series .box { padding: 15px 0px; border-radius: 18px;}
	#series .box ul li { padding: 8px 2px;}
	#series .box ul li dt { margin-bottom: 12px;}
	#series .box ul li dd { font-size: 10px;}
}

#apply .ctn { padding: 15px 0 55px;}
#apply .ctn .box { width: 80%; max-width: 660px; margin: 0 auto; padding: 20px 10px 40px; background: #fff; border-radius: 45px;}
#apply .ctn .scrollArea { width: 100%; height: 450px; padding: 0 30px; padding-right: 50px; overflow-y: scroll;}
#apply .ctn .scrollArea::-webkit-scrollbar { width: 8px; height: 100px;}
#apply .ctn .scrollArea::-webkit-scrollbar-thumb { border-radius: 10px; --bg-opacity: 1; background-color: #aaa;}
#apply .ctn .box .tit { margin-bottom: 20px; border-bottom: solid 1px #323232; padding: 18px 0;}
#apply .ctn .box .tit h3 { color: #323232; font-size: 16px; line-height: 1.2;}
#apply .ctn .box p { color: #323232; font-size: 12px; letter-spacing: 0.04rem;}
#apply .ctn .box p a { color: #323232;}
#apply .ctn .box p a:hover { text-decoration: none;}
#apply .ctn .box ul li { color: #323232; font-size: 12px;}
#apply .ctn .box ul.step li { position: relative; padding-left: 72px;}
#apply .ctn .box ul.step li span { position: absolute; left: 0; padding-right: 15px;}
#apply .ctn .box ul.step li span:after { content: ''; display: block; width: 0px; height: 0px;
 border: solid 5px transparent; border-left: solid 10px #333; border-right: 0px;
 position: absolute; right: 0; top: 50%; transform: translateY(-55%);
}
#apply .ctn .box ul.qa li { margin-bottom: 25px;}
#apply .ctn .box ul.qa li:last-child { margin-bottom: 0px;}
#apply .ctn .box hr { width: 100%; height: 1px; border: none; margin: 12px auto;}
@media (max-width: 481px) {
}

#contact .ctn { padding: 15px 0 55px;}
#contact .ctn .box { width: 80%; max-width: 660px; margin: 0 auto; padding: 40px 50px; background: #fff; border-radius: 45px;}
#contact .ctn .box p { margin-bottom: 18px; color: #323232; font-size: 14px; line-height: 1.8;}
#contact .ctn .box p a { color: #036eb8; }
#contact .ctn .box p a:hover { text-decoration: none;}
#contact .ctn .box ul li { color: #323232; font-size: 10px; font-feature-settings: 'palt'}


#sns .ctn { padding: 15px 0 40px;}
#sns .ctn .box { width: 80%; max-width: 660px; margin: 0 auto; padding: 40px 50px 30px; background: #fff; border-radius: 45px;}
#sns .ctn .box p { margin-bottom: 30px; text-align: center;}
#sns .ctn .box p a { display: block; width: 100%; max-width: 400px; margin: 0 auto; border-radius: 20px; overflow: hidden;}
#sns .ctn .box p a img { width: 100%;}
#sns .ctn .box ul { width: 80%; max-width: 240px; margin: 0 auto; font-size: 0; text-align: center;}
#sns .ctn .box ul li { display: inline-block; width: 33%;}
#sns .ctn .box ul li a { display: block; width: 94%; max-width: 40px; margin: 0 auto;}
#sns .ctn .box ul li a img { width: 100%;}
#sns .ctn .box p a:hover,
#sns .ctn .box ul li a:hover { opacity: 0.8;}
@media (max-width: 641px) {
	#present .ctn { padding: 40px 0; background-position: 8% 50%;}
	#present .ctn p.txt span { display: block;}
	
	#kikan .ctn { padding: 20px 0 30px;}
	#kikan .ctn p.txt { margin-bottom: 10px;}

	#receipt .ctn { padding: 20px 0 40px;}

	#shop .ctn { padding: 20px 0 40px;}

	#apply .ctn { padding: 15px 0 40px;}
	#apply .ctn .box { padding: 15px 10px 20px; border-radius: 25px;}

	#contact .ctn { padding: 15px 0 40px;}
	#contact .ctn .box { padding: 20px 30px; border-radius: 25px;}

	#sns .ctn .box { padding: 30px 30px 25px; border-radius: 25px;}
}
@media (max-width: 481px) {
	#present .ctn { padding: 12px 0px 30px;}
	#present .ctn p.txt { margin-bottom: 15px; font-size: 14px;}
	#kikan .ctn { padding: 12px 0px 30px;}
	#kikan .ctn p.txt { font-size: 14px;}

	#receipt .ctn { padding: 12px 0px 30px;}
	#receipt .ctn p { font-size: 14px;}
	#shop .ctn { padding: 12px 0 40px;}
	#shop .ctn p { font-size: 14px;}

	#apply .ctn { padding: 12px 0 30px; }
	#apply .ctn .box { padding: 10px 6px 15px; border-radius: 20px;}
	#apply .ctn .scrollArea { padding: 0 15px; padding-right: 25px;}
	#apply .ctn .box .tit { margin-bottom: 12px; padding: 8px 0;}
	#apply .ctn .box .tit h3 { font-size: 14px;}
	#apply .ctn .box p { font-size: 11px; letter-spacing: 0rem;}
	#apply .ctn .box hr { margin: 5px auto;}
	#apply .ctn .box ul.step li { padding-left: 60px; font-size: 10px;}
	#apply .ctn .box ul.step li span{ padding-right: 12px;}
	#apply .ctn .box ul.step li span:after { border: solid 4px transparent; border-left: solid 8px #333; border-right: 0px;}
	#apply .ctn .box ul.qa li { margin-bottom: 15px; font-size: 10px;}

	#contact .ctn { padding: 12px 0px 30px;}
	#contact .ctn .box { padding: 20px; border-radius: 15px;}
	#contact .ctn .box p { margin-bottom: 10px; font-size: 12px; line-height: 1.65;}

	#sns .ctn { padding: 15px 0px}
	#sns .ctn .box { padding: 20px; border-radius: 15px;}
	#sns .ctn .box p { margin-bottom: 20px;}
	#sns .ctn .box p a { border-radius: 10px;}
}


.win .inner { position: relative; width: 100%; max-width: 900px; margin: 0 auto; padding: 50px 0 30px;
 background: #fff; border-radius: 40px; box-shadow: 0 0 8px rgba(15,84,125,0.55);
}
.win p { margin-bottom: 30px; font-size: 25px; font-weight: 700; text-align: center;}
.win p br { display: none;}
.win p span { display: block; font-size: 15px;}
.win figure { text-align: center;}
.win figure img { width: 92%; margin: 0 auto;}
.win figure img.sp { display: none;}
.win .close { position: absolute; right: -10px; top: -10px; width: 60px; height: 60px;}
.win .close a { position: relative; display: block; width: 100%; height: 100%; background: #8a483b; border-radius: 50%; border: solid 2px #fff;}
.win .close a:before,
.win .close a:after { content: ''; display: block; width: 2px; height: 30px; background: #fff;
 position: absolute; left: 50%; top: 50%;
}
.win .close a:before{ transform: translate(-50%,-50%) rotate(45deg); }
.win .close a:after { transform: translate(-50%,-50%) rotate(-45deg);}
@media (max-width: 641px) {
	.win figure img.pc { display: none;}
	.win figure img.sp { display: block;}
	.win p br { display: block;}
}
@media (max-width: 481px) {
	.win .inner { padding: 30px 0 20px; border-radius: 20px;}
	.win p { margin-bottom: 12px; font-size: 16px;}
	.win p span { font-size: 12px;}

	.win .close { right: -8px; top: -8px; width: 40px; height: 40px; border-width: 1px;}
	.win .close a:before,
	.win .close a:after { height: 20px;}

}