@charset "utf-8";


/* initialize */
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,br,blockquote,th,td {margin:0;padding:0;}th,td {}fieldset,table,img {border:0;}address,caption,cite,code,dfn,em,th,var {font-style: normal;font-weight: normal;}ol,ul {list-style: none;}caption,th {text-align: left;}h1,h2,h3,h4,h5,h6 {font-size: 100%;font-weight: normal;}q:before,q:after {content: '';}abbr,acronym {border: 0;}hr {display:none;}object {outline: none;}

/* html5doctor.com Reset Stylesheet v1.6.1 Last Updated: 2010-09-17 Author: Richard Clark - http://richclarkdesign.com Twitter: @rich_clark */
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;}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;vertical-align:baseline;background:transparent;}ins {background-color:#ff9;color:#000;text-decoration:none;}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;}hr {display:block;height:1px;border:0;border-top:1px solid #cccccc;margin:1em 0;padding:0;}input, select {vertical-align:middle;}

/*!
*  - v1.4.0
* Homepage: http://bqworks.com/slider-pro/
* Author: bqworks
* Author URL: http://bqworks.com/
*/.slider-pro{position:relative;margin:0 auto;-moz-box-sizing:content-box;box-sizing:content-box}.sp-slides-container{position:relative}.sp-mask{position:relative;overflow:hidden}.sp-slides{position:relative;-webkit-backface-visibility:hidden;-webkit-perspective:1000}.sp-slide{position:absolute}.sp-image-container{overflow:hidden}.sp-image{position:relative;display:block;border:none}.sp-no-js{overflow:hidden;max-width:100%}.sp-thumbnails-container{position:relative;overflow:hidden;direction:ltr}.sp-bottom-thumbnails,.sp-top-thumbnails{left:0;margin:0 auto}.sp-top-thumbnails{position:absolute;top:0;margin-bottom:4px}.sp-bottom-thumbnails{margin-top:4px}.sp-left-thumbnails,.sp-right-thumbnails{position:absolute;top:0}.sp-right-thumbnails{right:0;margin-left:4px}.sp-left-thumbnails{left:0;margin-right:4px}.sp-thumbnails{position:relative}.sp-thumbnail{border:none}.sp-thumbnail-container{position:relative;display:block;overflow:hidden;float:left;-moz-box-sizing:border-box;box-sizing:border-box}.sp-rtl .sp-thumbnail-container{float:right}.sp-bottom-thumbnails .sp-thumbnail-container,.sp-top-thumbnails .sp-thumbnail-container{margin-left:2px;margin-right:2px}.sp-bottom-thumbnails .sp-thumbnail-container:first-child,.sp-top-thumbnails .sp-thumbnail-container:first-child{margin-left:0}.sp-bottom-thumbnails .sp-thumbnail-container:last-child,.sp-top-thumbnails .sp-thumbnail-container:last-child{margin-right:0}.sp-left-thumbnails .sp-thumbnail-container,.sp-right-thumbnails .sp-thumbnail-container{margin-top:2px;margin-bottom:2px}.sp-left-thumbnails .sp-thumbnail-container:first-child,.sp-right-thumbnails .sp-thumbnail-container:first-child{margin-top:0}.sp-left-thumbnails .sp-thumbnail-container:last-child,.sp-right-thumbnails .sp-thumbnail-container:last-child{margin-bottom:0}.sp-right-thumbnails.sp-has-pointer{margin-left:-13px}.sp-right-thumbnails.sp-has-pointer .sp-thumbnail{position:absolute;left:18px;margin-left:0!important}.sp-right-thumbnails.sp-has-pointer .sp-selected-thumbnail:before{content:'';position:absolute;height:100%;border-left:5px solid red;left:0;top:0;margin-left:13px}.sp-right-thumbnails.sp-has-pointer .sp-selected-thumbnail:after{content:'';position:absolute;width:0;height:0;left:0;top:50%;margin-top:-8px;border-right:13px solid red;border-top:8px solid transparent;border-bottom:8px solid transparent}.sp-left-thumbnails.sp-has-pointer{margin-right:-13px}.sp-left-thumbnails.sp-has-pointer .sp-thumbnail{position:absolute;right:18px}.sp-left-thumbnails.sp-has-pointer .sp-selected-thumbnail:before{content:'';position:absolute;height:100%;border-left:5px solid red;right:0;top:0;margin-right:13px}.sp-left-thumbnails.sp-has-pointer .sp-selected-thumbnail:after{content:'';position:absolute;width:0;height:0;right:0;top:50%;margin-top:-8px;border-left:13px solid red;border-top:8px solid transparent;border-bottom:8px solid transparent}.sp-bottom-thumbnails.sp-has-pointer{margin-top:-13px}.sp-bottom-thumbnails.sp-has-pointer .sp-thumbnail{position:absolute;top:18px;margin-top:0!important}.sp-bottom-thumbnails.sp-has-pointer .sp-selected-thumbnail:before{content:'';position:absolute;width:100%;border-bottom:5px solid red;top:0;margin-top:13px}.sp-bottom-thumbnails.sp-has-pointer .sp-selected-thumbnail:after{content:'';position:absolute;width:0;height:0;left:50%;top:0;margin-left:-8px;border-bottom:13px solid red;border-left:8px solid transparent;border-right:8px solid transparent}.sp-top-thumbnails.sp-has-pointer{margin-bottom:-13px}.sp-top-thumbnails.sp-has-pointer .sp-thumbnail{position:absolute;bottom:18px}.sp-top-thumbnails.sp-has-pointer .sp-selected-thumbnail:before{content:'';position:absolute;width:100%;border-bottom:5px solid red;bottom:0;margin-bottom:13px}.sp-top-thumbnails.sp-has-pointer .sp-selected-thumbnail:after{content:'';position:absolute;width:0;height:0;left:50%;bottom:0;margin-left:-8px;border-top:13px solid red;border-left:8px solid transparent;border-right:8px solid transparent}.sp-layer{position:absolute;margin:0;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-webkit-font-smoothing:subpixel-antialiased;-webkit-backface-visibility:hidden}.sp-black{color:#FFF;background:#000;background:rgba(0,0,0,.7)}.sp-white{color:#000;background:#fff;background:rgba(255,255,255,.7)}.sp-rounded{border-radius:10px}.sp-padding{padding:10px}.sp-grab{cursor:url(images/openhand.cur),move}.sp-grabbing{cursor:url(images/closedhand.cur),move}.sp-selectable{cursor:default}.sp-caption-container{text-align:center;margin-top:10px}.sp-full-screen{margin:0!important;background-color:#000}.sp-full-screen-button{position:absolute;top:5px;right:10px;font-size:30px;line-height:1;cursor:pointer;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.sp-full-screen-button:before{content:'\2195'}.sp-fade-full-screen{opacity:0;-webkit-transition:opacity .5s;transition:opacity .5s}.slider-pro:hover .sp-fade-full-screen{opacity:1}.sp-buttons{position:relative;width:100%;text-align:center;padding-top:10px}.sp-rtl .sp-buttons{direction:rtl}.sp-full-screen .sp-buttons{display:none}.sp-button{width:10px;height:10px;border:2px solid #000;border-radius:50%;margin:4px;display:inline-block;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.sp-selected-button{background-color:#000}@media only screen and (min-width:768px) and (max-width:1024px){.sp-button{width:14px;height:14px}}@media only screen and (min-width:568px) and (max-width:768px){.sp-button{width:16px;height:16px}}@media only screen and (min-width:320px) and (max-width:568px){.sp-button{width:18px;height:18px}}.sp-arrows{position:absolute}.sp-fade-arrows{opacity:0;-webkit-transition:opacity .5s;transition:opacity .5s}.sp-slides-container:hover .sp-fade-arrows{opacity:1}.sp-horizontal .sp-arrows{width:100%;left:0;top:50%;margin-top:-15px}.sp-vertical .sp-arrows{height:100%;left:50%;top:0;margin-left:-10px}.sp-arrow{position:absolute;display:block;width:20px;height:30px;cursor:pointer}.sp-vertical .sp-arrow{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.sp-horizontal .sp-previous-arrow{left:20px;right:auto}.sp-horizontal .sp-next-arrow,.sp-horizontal.sp-rtl .sp-previous-arrow{right:20px;left:auto}.sp-horizontal.sp-rtl .sp-next-arrow{left:20px;right:auto}.sp-vertical .sp-previous-arrow{top:20px}.sp-vertical .sp-next-arrow{bottom:20px;-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.sp-next-arrow:after,.sp-next-arrow:before,.sp-previous-arrow:after,.sp-previous-arrow:before{content:'';position:absolute;width:50%;height:50%;background-color:#FFF}.sp-arrow:before{left:30%;top:0;-webkit-transform:skew(145deg,0deg);-ms-transform:skew(145deg,0deg);transform:skew(145deg,0deg)}.sp-arrow:after{left:30%;top:50%;-webkit-transform:skew(-145deg,0deg);-ms-transform:skew(-145deg,0deg);transform:skew(-145deg,0deg)}.sp-horizontal.sp-rtl .sp-previous-arrow,.sp-next-arrow{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.sp-horizontal.sp-rtl .sp-next-arrow{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}.ie7 .sp-arrow,.ie8 .sp-arrow{width:0;height:0}.ie7 .sp-arrow:after,.ie7 .sp-arrow:before,.ie8 .sp-arrow:after,.ie8 .sp-arrow:before{content:none}.ie7.sp-horizontal .sp-previous-arrow,.ie8.sp-horizontal .sp-previous-arrow{border-right:20px solid #FFF;border-top:20px solid transparent;border-bottom:20px solid transparent}.ie7.sp-horizontal .sp-next-arrow,.ie8.sp-horizontal .sp-next-arrow{border-left:20px solid #FFF;border-top:20px solid transparent;border-bottom:20px solid transparent}.ie7.sp-vertical .sp-previous-arrow,.ie8.sp-vertical .sp-previous-arrow{border-bottom:20px solid #FFF;border-left:20px solid transparent;border-right:20px solid transparent}.ie7.sp-vertical .sp-next-arrow,.ie8.sp-vertical .sp-next-arrow{border-top:20px solid #FFF;border-left:20px solid transparent;border-right:20px solid transparent}.sp-thumbnail-arrows{position:absolute}.sp-fade-thumbnail-arrows{opacity:0;-webkit-transition:opacity .5s;transition:opacity .5s}.sp-thumbnails-container:hover .sp-fade-thumbnail-arrows{opacity:1}.sp-bottom-thumbnails .sp-thumbnail-arrows,.sp-top-thumbnails .sp-thumbnail-arrows{width:100%;top:50%;left:0;margin-top:-12px}.sp-left-thumbnails .sp-thumbnail-arrows,.sp-right-thumbnails .sp-thumbnail-arrows{height:100%;top:0;left:50%;margin-left:-7px}.sp-thumbnail-arrow{position:absolute;display:block;width:15px;height:25px;cursor:pointer}.sp-left-thumbnails .sp-thumbnail-arrows .sp-thumbnail-arrow,.sp-right-thumbnails .sp-thumbnail-arrows .sp-thumbnail-arrow{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.sp-bottom-thumbnails .sp-previous-thumbnail-arrow,.sp-top-thumbnails .sp-previous-thumbnail-arrow{left:0}.sp-bottom-thumbnails .sp-next-thumbnail-arrow,.sp-top-thumbnails .sp-next-thumbnail-arrow{right:0}.sp-left-thumbnails .sp-previous-thumbnail-arrow,.sp-right-thumbnails .sp-previous-thumbnail-arrow{top:0}.sp-left-thumbnails .sp-next-thumbnail-arrow,.sp-right-thumbnails .sp-next-thumbnail-arrow{bottom:0}.sp-next-thumbnail-arrow:after,.sp-next-thumbnail-arrow:before,.sp-previous-thumbnail-arrow:after,.sp-previous-thumbnail-arrow:before{content:'';position:absolute;width:50%;height:50%;background-color:#FFF}.sp-previous-thumbnail-arrow:before{left:30%;top:0;-webkit-transform:skew(145deg,0deg);-ms-transform:skew(145deg,0deg);transform:skew(145deg,0deg)}.sp-previous-thumbnail-arrow:after{left:30%;top:50%;-webkit-transform:skew(-145deg,0deg);-ms-transform:skew(-145deg,0deg);transform:skew(-145deg,0deg)}.sp-next-thumbnail-arrow:before{right:30%;top:0;-webkit-transform:skew(35deg,0deg);-ms-transform:skew(35deg,0deg);transform:skew(35deg,0deg)}.sp-next-thumbnail-arrow:after{right:30%;top:50%;-webkit-transform:skew(-35deg,0deg);-ms-transform:skew(-35deg,0deg);transform:skew(-35deg,0deg)}.ie7 .sp-thumbnail-arrow,.ie8 .sp-thumbnail-arrow{width:0;height:0}.ie7 .sp-thumbnail-arrow:after,.ie7 .sp-thumbnail-arrow:before,.ie8 .sp-thumbnail-arrow:after,.ie8 .sp-thumbnail-arrow:before{content:none}.ie7 .sp-bottom-thumbnails .sp-previous-thumbnail-arrow,.ie7 .sp-top-thumbnails .sp-previous-thumbnail-arrow,.ie8 .sp-bottom-thumbnails .sp-previous-thumbnail-arrow,.ie8 .sp-top-thumbnails .sp-previous-thumbnail-arrow{border-right:12px solid #FFF;border-top:12px solid transparent;border-bottom:12px solid transparent}.ie7 .sp-bottom-thumbnails .sp-next-thumbnail-arrow,.ie7 .sp-top-thumbnails .sp-next-thumbnail-arrow,.ie8 .sp-bottom-thumbnails .sp-next-thumbnail-arrow,.ie8 .sp-top-thumbnails .sp-next-thumbnail-arrow{border-left:12px solid #FFF;border-top:12px solid transparent;border-bottom:12px solid transparent}.ie7 .sp-left-thumbnails .sp-previous-thumbnail-arrow,.ie7 .sp-right-thumbnails .sp-previous-thumbnail-arrow,.ie8 .sp-left-thumbnails .sp-previous-thumbnail-arrow,.ie8 .sp-right-thumbnails .sp-previous-thumbnail-arrow{border-bottom:12px solid #FFF;border-left:12px solid transparent;border-right:12px solid transparent}.ie7 .sp-left-thumbnails .sp-next-thumbnail-arrow,.ie7 .sp-right-thumbnails .sp-next-thumbnail-arrow,.ie8 .sp-left-thumbnails .sp-next-thumbnail-arrow,.ie8 .sp-right-thumbnails .sp-next-thumbnail-arrow{border-top:12px solid #FFF;border-left:12px solid transparent;border-right:12px solid transparent}a.sp-video{text-decoration:none}a.sp-video img{-webkit-backface-visibility:hidden;border:none}a.sp-video:after{content:'\25B6';position:absolute;width:45px;padding-left:5px;height:50px;border:2px solid #FFF;text-align:center;font-size:30px;border-radius:30px;top:0;color:#FFF;bottom:0;left:0;right:0;background-color:rgba(0,0,0,.2);margin:auto;line-height:52px}.slider-pro img.sp-image,.slider-pro img.sp-thumbnail{max-width:none;max-height:none;border:none!important;border-radius:0!important;padding:0!important;-webkit-box-shadow:none!important;-mox-box-shadow:none!important;box-shadow:none!important;transition:none;-moz-transition:none;-webkit-transition:none;-o-transition:none}.slider-pro a{position:static;transition:none!important;-moz-transition:none!important;-webkit-transition:none!important;-o-transition:none!important}.slider-pro canvas,.slider-pro embed,.slider-pro iframe,.slider-pro object,.slider-pro video{max-width:none;max-height:none}.slider-pro p.sp-layer{font-size:14px;line-height:1.4;margin:0}.slider-pro h1.sp-layer{font-size:32px;line-height:1.4;margin:0}.slider-pro h2.sp-layer{font-size:24px;line-height:1.4;margin:0}.slider-pro h3.sp-layer{font-size:19px;line-height:1.4;margin:0}.slider-pro h4.sp-layer{font-size:16px;line-height:1.4;margin:0}.slider-pro h5.sp-layer{font-size:13px;line-height:1.4;margin:0}.slider-pro h6.sp-layer{font-size:11px;line-height:1.4;margin:0}.slider-pro img.sp-layer{border:none}

/*
 * Global
 *  - Text align
 *  - Break
 * Letter, glyph
 * Icon
 *  - SVG icon
 *  - image icon
 * Layout / sidebar
 * Layout / inner-container
 * Layout / global-header
 *  - gnav
 *  - menu-button
 *  - Gnav Show-hide enent
 * Layout / part-header
 * Layout / main-wrapper
 * Layout / global-footer
 * Transition / container
 * Indicator
 * Progress
 * Scroll indicator
 * Animation
 */
 

/* ============================================================================================== */
/* Global                                                                                         */
/* ============================================================================================== */


:root {
	--main-color: #555;
	--main-bg-color: #fff; /*#e4abb9;*/
}


html {
	font-size: 62.5%;
	height: 100%;
}

body {
	height: 100%;
	margin: 0;
	padding: 0;
	font-family: "Granjon LT W01 Roman", "Yu Mincho", "YuMincho", "游明朝", "MS PMincho", "Shippori Mincho B1", serif;
	font-size: 1.4rem;
	font-style: normal;
	font-weight: 300;
	line-height: 1;
	color: rgba(0,0,0,1);
	
	-webkit-text-size-adjust: 100%;
	/*-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-feature-settings: "halt" 1;*/
	
} 

.windows body {
	color: #000;
}

main {
	width: 100%;
	height: 100%;
	min-height: calc(100vh - 170px);
	font-size: 1.3rem;
	line-height: 1.9;
}

h1,h2,h3,h4,h5,h6 {
	font-family: inherit;
	font-weight: 500;
	color: #000;
}

p,
td,
th,
blockquote {
	font-family: inherit;
}

rtc, rt {
	font-size: 0.8rem;
	transform: scale(0.7);
}

strong {
	color: inherit;
	font-weight: 600;
}

em {
	color: inherit;
	font-style: italic;
}

a {
	color: inherit;
	transition: all 0.25s ease;
	text-decoration-color: rgba(0,0,0,0.15);
	-webkit-tap-highlight-color: rgba(0,0,0,0.15);
	        tap-highlight-color: rgba(0,0,0,0.15);
}

main a {
	color: grey;
	transition: all 0.25s ease;
	text-decoration: none;
	border-bottom: 1px solid rgba(0,0,0,0.1);
	box-sizing: border-box;
}

main a:hover {
	color: #000;
	border-bottom-color: rgba(0,0,0,0.5);
}

.no-deco {
	text-decoration: none;
}

.no-deco:hover {
	text-decoration: none;
}

main a[href^="tel"] {
	/*text-decoration: underline;*/
}

input {
	color: inherit;
	font: inherit;
}

button {
	border: 1px solid rgba(0,0,0,0.3);
	background-color: transparent;
	cursor: pointer;
	padding: 10px 20px;
	box-sizing: border-box;
	letter-spacing: 0.1em;
	color: inherit;
	font: inherit;
	transition: all 0.2s ease-out;
}

button:hover {
	border: 1px solid rgba(0,0,0,0.75);
	color: #000;
}

::-moz-selection {
	background-color: rgba(50,50,50,0.9);
	color: #fff;
}

::selection {
	background-color: rgba(50,50,50,0.9);
	color: #fff;
}

hr {
	border-top: 1px solid rgba(0,0,0,0.1);
	margin: 0;
	height: 0;
}

label {
	cursor: inherit;
}

abbr[title], acronym[title] {
		text-decoration: none;
		border-bottom: none;
}

.windows h1,
.windows h2,
.windows h3,
.windows h4,
.windows h5,
.windows h6,
.windows p,
.windows td,
.windows th,
.windows blockquote,
.windows li {
	transform: rotate(0.029deg);
}


/* ------------------------------------------------------------- */


.inline-decoration--underline {
	position: relative;
	padding-bottom: 10px;
	margin-bottom: 10px;
}

.inline-decoration--underline:before {
	position: absolute;
	display: block;
	content: "";
	bottom: 0;
	left: 0;
	right: 0;
	width: 15px;
	height: 1px;
	background: currentColor;
	border-radius: 5px;
	margin: auto;
}


/* ------------------------------------------------------------- */

.global--bg-color {
	background-color: #f1f1f1;
}

.ib {
	display: inline-block;
}


/* ----------------------------------------------------------------------- */
/* Break */

.tbbr {
	display: none;
}

.pcbr {
	display: none;
}

.spbr {
	display: inline-block;
}

/* ----------------------------------------------------------------------- */
/* Text align */

.spcenter {
	text-align: center;
}

.tbcenter {
	
}

.pccenter {
	
}

.spvertical {
	-webkit-writing-mode: vertical-rl;
	        writing-mode: vertical-rl;
}

.tbvertical {
	-webkit-writing-mode: inherit;
	        writing-mode: inherit;
}

.pcvertical {
	-webkit-writing-mode: inherit;
	        writing-mode: inherit;
}

.text--center {
	text-align: center;
}

.text--right {
	text-align: right;
}

.text--left {
	text-align: left;
}

.text--justify {
	text-align: justify;
}


/* ----------------------------------------------------------------------- */
/* Clearfix */


.cf:before,
.cf:after {
	content: " ";
	display: table;
}

.cf:after {
	clear: both;
}

.cf {
	*zoom: 1;
}

/* ============================================================================================== */
/* Letter, glyph                                                                                  */
/* ============================================================================================== */

.uppercase {
	text-transform: uppercase;
}

.en-f-weight-200,
.en-f-weight-300,
.en-f-weight-400,
.en-f-weight-500,
.en-f-weight-600,
.en-f-weight-700,
.en-f-weight-800 {
	font-family: 'Granjon LT W01 Roman', 'Rotis Serif W01', "HGKyokashotai", 'Yu Mincho', 'YuMincho', '游明朝', 'ＭＳ Ｐ明朝', 'MS PMincho', 'MS 明朝', serif;
	letter-spacing: 0.02em;
}

.en-f-weight-200 { font-weight: 200; }
.en-f-weight-300 { font-weight: 300; }
.en-f-weight-400 { font-weight: 400; }
.en-f-weight-500 { font-weight: 500; }
.en-f-weight-600 { font-weight: 600; }
.en-f-weight-700 { font-weight: 700; }
.en-f-weight-800 { font-weight: 800; }

.italic,
.en-f-weight-200.italic,
.en-f-weight-300.italic,
.en-f-weight-400.italic,
.en-f-weight-500.italic,
.en-f-weight-600.italic,
.en-f-weight-700.italic,
.en-f-weight-800.italic {
	font-family: 'Granjon LT W01 Italic', 'Rotis Serif W01', "HGKyokashotai", 'Yu Mincho', 'YuMincho', '游明朝', 'ＭＳ Ｐ明朝', 'MS PMincho', 'MS 明朝', serif;
}

.letter--gothic,
.letter--gothic-200,
.letter--gothic-300,
.letter--gothic-400,
.letter--gothic-500,
.letter--gothic-600,
.letter--gothic-700,
.letter--gothic-800 {
	font-family: "游ゴシック", 'Yu Gothic', 'YuGothic', "ヒラギノ角ゴ ProN W9", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", sans-serif;
	font-weight: 500;
}

.letter--gothic-200 { font-weight: 200; }
.letter--gothic-300 { font-weight: 300; }
.letter--gothic-400 { font-weight: 400; }
.letter--gothic-500 { font-weight: 500; }
.letter--gothic-600 { font-weight: 600; }
.letter--gothic-700 { font-weight: 700; }
.letter--gothic-800 { font-weight: 800; }


.en-f-weight-600,
.en-f-weight-700,
.en-f-weight-800 {
	font-family: "游ゴシック", 'Yu Gothic', 'YuGothic', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", sans-serif;
}

.font-kyokasho {
	font-family: "Granjon LT W01 Roman", "HGKyokashotai", serif;
}

.windows .font-kyokasho {
	/*-webkit-text-stroke: 0.15px currentColor;*/
}

.font-SIM {
	font-family: Nanum Gothic, "Helvetica Neue LT W01_71488914", Helvetica, Arial, sans-serif;
	letter-spacing: 0.15em;
}

.overflow-ellipsis {
	white-space: nowrap;
	text-overflow: ellipsis;
	display: inline-block;
	overflow: hidden;
	overflow-y: visible;
	width: 100%;
}


/* ============================================================================================== */
/* Icon                                                                                           */
/* ============================================================================================== */


/* ----------------------------------------------------------------------- */
/* SVG icon */

svg.defaults {
	display: none;
}

.svg-icon {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	letter-spacing: 0;
	line-height: 0;
	fill: currentColor;
}

.svg-icon svg {
	transition: all 0.25s ease;
}

.button-default-state {
	display: inline-block;
	letter-spacing: 0;
	line-height: 0;
}

.svg-icon--color-themacolor {
	fill: #555;
}

.svg-icon--arrow {
	left: 0px;
	top: -0.2em;
}

.svg-icon--arrow:first-of-type {
	margin-right: 5px;
}

.svg-icon--arrow:last-of-type {
	margin-left: 5px;
}


a:hover .svg-icon--arrow {
	/*animation: iconScaleWt 0.25s ease-out 0s 1 normal;*/
}

.gradient-svg-wrapper {
	position: relative;
	display: block;
	width: 40px;
	height: 40px;
	background: -webkit-linear-gradient(45deg, rgb(50,160,225), rgb(77,194,190) 60%);
	background:         linear-gradient(45deg, rgb(50,160,225), rgb(77,194,190) 60%);
}

.gradient-svg-wrapper:before {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	border: 0.6px solid #fff;
	box-sizing: border-box;
}

.gradient-svg-wrapper svg {
	fill: #fff;
	width: 100%;
	height: 100%;
}


.useSVG {
	height: 0;
	width: 0;
	position: absolute;
	top: 0;
}


/* ============================================================================================== */
/* Layout / inner-container                                                                       */
/* ============================================================================================== */

.inner-container {
	position: relative;
	margin-right: auto;
	margin-left: auto;
}

.width-state--regular {
	width: 90%;
}

.width-state--max {
	width: 100%;
}


/* ============================================================================================== */
/* Layout / global-header                                                                         */
/* ============================================================================================== */


.global-header {
	position: relative;
	box-shadow: none;
	overflow: visible;
	z-index: 210;
	width: 100%;
	transition: all 0.5s ease;
	margin: auto;
}

.gnav {
	margin-top: 0;
}

.gnav.drower-nav {
	position: fixed;
	z-index: 200;
	top: 0;
}

.gnav-logo {
	display: flex;
	align-items: center;
	height: 60px;
	padding: 10px 20px;
	box-sizing: border-box;
	font-size: 1.3rem;
}

.gnav-logo .logo-anchor {
	margin: 0;
	display: inline-block;
	font-family: "Meiryo, Helvetica Neue LT W01_71488914", Helvetica, Arial, sans-serif;
}

.gnav-logo .logo-anchor .txt-anm {
	letter-spacing: 0.15em;
}

.gnav a {
	position: relative;
	transition: all 0.25s ease;
	outline: none;
	text-decoration: none;
}

.gnav-anchor {
	display: inline-flex;
	flex-direction: row;
	padding: 5px 0;
	margin: 0;
	text-decoration: none;
	line-height: 1.5;
	font-size: 1.7rem;
	padding: 12px 0;
}

.gnav-anchor.-soon {
	cursor: default;
	pointer-events: none;
}

.gnav-main-outer {
	display: block;
	width: 100%;
	min-height: 100vh;
}

.gnav-main-outer {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100vh;
	min-height: 100%;
}

.gnav-main {
	padding: 20px 30px;
	color: rgb(0, 0, 0);
	align-self: center;
	text-align: center;
}

.gnav-main a {
	
}

.gnav-main a:hover {
	color: rgb(0, 0, 0);
}

.gnav-main .current a .txt-anm {
	opacity: 1;
}

/* ----------------------------------------------------------------------- */

.gnav-sub {
	position: absolute;
	bottom: 20px;
	display: flex;
	align-items: center;
	flex-direction: column;
	width: 100%;
	height: 100px;
	padding: 20px;
	box-sizing: border-box;
}

.gnav-sub li {
	margin-top: 1px;
	font-size: 1.2rem;
	width: auto;
	margin-right: 10px;
}

.gnav-sub img {
	width: auto;
	height: 16px;
}

/* ----------------------------------------------------------------------- */

.gnav-lang {
	display: flex;
	font-size: 1.3rem;
	margin: 1.2em 10px;
}

.gnav-lang li {
	margin: 0 1em;
}

/* ----------------------------------------------------------------------- */

.gnav .small {
	font-size: 1.1rem;
}

.gnav small {
	font-size: inherit;
	color: rgba(0,0,0,0.5);
}

/* ----------------------------------------------------------------------- */

.menu {
	position: absolute;
	top: 0;
	right: 0;
	padding: 10px 0;
	min-width: 50px;
	z-index: 201;
	color: #000;
}

.menu__list {
	display: flex;
	margin: auto;
}

.menu__item {
	position: relative;
	display: flex;
	align-items: center;
	margin-right: 10px;
	order: 1;
}

.menu__item a {
	position: relative;
	display: block;
	width: 24px;
	margin: auto;
	padding: 0;
	box-sizing: border-box;
	transition: all 0.5s ease;
}

.menu__item__count {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	margin: auto;
	padding-top: 7px;
	box-sizing: border-box;
	font-size: 1.1rem;
}

.menu .button--menu {
	order: 3;
}

.menu__item.buy--sidebar-list {
	display: none;
}

.drower-nav--switch {
	
}

.drower-nav--switch a {
	width: 60px;
	height: 40px;
	padding: 10px;
	box-sizing: border-box;
}

.drower-nav--switch a .i,
.drower-nav--switch a .i:before,
.drower-nav--switch a .i:after {
	position: absolute;
	display: block;
	height: 1px;
	width: 20px;
	padding: 0;
	background: currentColor;
	text-indent: -200px;
	border-radius: 2px;
	transition: all 0.25s ease;
}

.drower-nav--switch a .i {
	top: 20px;
	left: 10px;
	transform-origin: center 0;
}

.drower-nav--switch a .i:before {
	top: -7px;
	content: "";
	transform-origin: center center;
}

.drower-nav--switch a .i:after {
	top: 7px;
	content: "";
	transform-origin: center center;
}

.drower-nav--switch a:hover {
	color: currentColor;
}

.-show .drower-nav--switch a {
	
}

.-show .drower-nav--switch a .i,
.-show .drower-nav--switch a .i:before,
.-show .drower-nav--switch a .i:after {
	background: rgba(0,0,0,1);
	left: 0px;
}

.-show .drower-nav--switch a:hover .i:before,
.-show .drower-nav--switch a:hover .i:after {
	/*background: rgba(0,0,0,1);*/
}

.-show .drower-nav--switch a .i {
	/*background: rgba(0,0,0,0) !important;*/
	width: 0;
	left: 10px;
	transition: all 0.2s ease;
}

.-show .drower-nav--switch a .i:before {
	transition: all 0.2s ease 0s;
	transform: rotate(45deg) translate(5px, 5px);
}

.-show .drower-nav--switch a .i:after {
	transition: all 0.2s ease;
	transform: rotate(-45deg) translate(5px, -5px);
}


/* ------------------------------------------------ */

.drower-nav--switch.small a .i,
.drower-nav--switch.small a .i:before,
.drower-nav--switch.small a .i:after {
	height: 1px;
	width: 20px;
}

.drower-nav--switch.small a .i {
	top: 20px;
	left: 10px;
}

.drower-nav--switch.small a .i:before {
	top: -7px;
}

.drower-nav--switch.small a .i:after {
	top: 7px;
}

.-show .drower-nav--switch a .i {
	width: 0;
}
.-show .drower-nav--switch.small a .i:before {
	transform: rotate(45deg) translate(5px, 5px);
}

.-show .drower-nav--switch.small a .i:after {
	transform: rotate(-45deg) translate(5px, -5px);
}

.drower-nav--switch a .t {
	display: block;
	text-align: center;
}


@media screen and (min-width: 768px) {
	
	.gnav-logo {
		height: 100px;
		padding: 20px 40px;
		font-size: 1.8rem;
	}
	
	.gnav-main {
		display: inline-block;
		padding: 20px 60px;
	}
	
	.gnav-anchor {
		font-size: 2.2rem;
	}
	
	.gnav-sub {
		
	}
	
}

@media screen and (min-width: 1024px) {
	
	.menu {
		right: 40px;
		width: auto;
		min-width: initial;
		padding: 30px 0;
	}
	
	.menu__list {
		display: block;
	}
	
	.menu__item {
		margin-right: 0;
		transition: all 0.5s cubic-bezier(.17,.84,.44,1);
		transform: translateY(40%);
	}
	
	.onload .menu__item {
		opacity: 1;
		transform: translateY(0);
	}
	
	.gnav-anchor {
		font-size: 2.4rem;
	}
	
	.drower-nav--switch a {
		width: 60px;
		height: 40px;
	}
	
	.drower-nav--switch a .i,
	.drower-nav--switch a .i:before,
	.drower-nav--switch a .i:after {
		width: 30px;
	}
	
	.drower-nav--switch a .i {
		top: 5px;
		left: 5px;
	}
	
	.drower-nav--switch a .i:before {
		top: -10px;
	}
	
	.drower-nav--switch a .i:after {
		top: 10px;
	}
	
	.-show .drower-nav--switch a .i {
		left: 5px;
	}
	
	.-show .drower-nav--switch a .i:before {
		transform: rotate(45deg) translate(7px, 7px);
	}
	
	.-show .drower-nav--switch a .i:after {
		transform: rotate(-45deg) translate(7px, -7px);
	}
	
	.drower-nav .drower-nav--inner {
		
	}
	
	.subheader,
	.menu {
		transform: translateY(0px) !important;
		transition: none !important;
	}
	
}






/* ============================================================================================== */
/* Layout / part-header                                                                           */
/* ============================================================================================== */

.subheader {
	position: fixed;
	display: flex;
	align-items: center;
	width: 100%;
	height: 60px;
	/*! background-color: #fff; */
	z-index: 210;
	top: 0;
	padding: 18px 20px;
	box-sizing: border-box;
	pointer-events: none;
}

.subheader-logo {
	box-sizing: border-box;
	margin-right: 0.5em;
	pointer-events: auto;
}

.subheader-logo a {
	display: inline-block;
	border-bottom: none;
}

.subheader-logo a,
.subheader-logo a * {
	letter-spacing: 0.05em;
}

.subheader-part-ttl {
	position: relative;
	overflow: hidden;
}

.subheader-part-inner-next {
	position: relative;
	display: block;
}

.subheader-part-inner-prev {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	
}

.onloadstart .subheader-part-inner-next {
	/*transform: translateY(-1em);*/
	opacity: 0;
	transition: all 0.5s ease;
}

.onloadstart .subheader-part-inner-next {
	/*transform: translateY(1em);*/
}
.onloadcomplete .subheader-part-inner-next {
	opacity: 1;
	/*transform: translateY(0em);*/
}


/* ----------------------------------------------------------------------- */

.part-header {
	
}

.part-header__title {
	
}

.part-header__title a {
	
}

/* ----------------------------------------------------------------------- */

.DOMContentLoaded .subheader__logo,
.DOMContentLoaded .part-header__title,
.DOMContentLoaded .layout {
	opacity: 0;
}

.onload .subheader__logo,
.onload .part-header__title,
.onload .layout {
	opacity: 1;
	transition: opacity 0.4s ease;
}

.onload .subheader__logo { transition-delay: 0.1s }
.onload .part-header__title { transition-delay: 0.2s }
.onload .layout { transition-delay: 0.3s }


/* ============================================================================================== */
/* Layout / main-wrapper                                                                          */
/* ============================================================================================== */

.main-wrapper {
	margin: 0 auto;
}

.main-wrapper .txt-anm {
	transition-duration: 1.0s, 1.0s;
	transition-timing-function: ease, cubic-bezier(.17,.84,.44,1);
	transition-property: color, left, top, right, bottom;
	
	opacity: 1;
	color: inherit;
}

.main-wrapper .txt-anm[data-content="　"] {
	display: none;
}

.part-container {
	padding: 60px 0 0;
	min-height: calc(100vh - 60px);
	display: flex;
	width: 100%;
	flex-direction: column;
	box-sizing: border-box;
}

.part-container__inner {
	/*background-color: #f7f7f7;*/
	width: 100%;
	min-height: calc(100vh - 60px);
	padding: 60px 0;
	box-sizing: border-box;
}

/* ============================================================================================== */
/* Article elements                                                                               */
/* ============================================================================================== */

.js body {
	
}

.js body.onload {
	
}

.js body.eraseStart {
	
}

/* ----------------------------------------------------------------------- */

.page-section-wrapper {
	padding: 20px 0;
}

.page-section {
	margin: 100px auto;
}

.page-section:first-child {
	margin-top: 0px;
}

/* ------------------------------ */

.section-title {
	position: relative;
	padding: 0.8em 0;
	font-size: 1.7rem;
	font-weight: 200;
	line-height: 1.4;
	color: rgb(0,0,0);
	box-sizing: border-box;
	color: rgb(0,0,0);
}

.section-subtitle {
	font-size: 1.4rem;
	line-height: 1.5;
	margin: 30px auto 10px;
	color: rgb(0,0,0);
}

.section-subtitle:first-child {
	margin-top: 0;
}

.page-section p {
	margin: 20px auto;
}

.page-section p:first-child {
	margin-top: 0;
}

.page-section .notes {
	display: inline-block;
	font-size: 1.1rem;
	line-height: 1.6;
}


/* 見出しの装飾（中央揃え） */
.h-underline {
	position: relative;
	margin-bottom: 1.2em;
	padding-bottom: 1em;
	text-align: center;
}

.h-underline:before {
	position: absolute;
	top: auto;
	bottom: 0;
	left: 0;
	right: 0;
	display: block;
	width: 0;
	height: 1px;
	margin: auto;
	background: currentColor;
	content: "";
	opacity: 0.3;
	transition: all 0.5s ease 0.4s;
}

.text-wraped .h-underline:before {
	width: 150px;
}

.h-underline.-sub:before {
	width: 50px;
}

.h-underline.-left:before {
	left: 0;
	right: auto;
}

.h-underline.-right:before {
	left: auto;
	right: 0;
}




/* ============================================================================================== */
/* Layout / global-footer                                                                         */
/* ============================================================================================== */

.global-footer {
	
}


/* ============================================================================================== */
/* UI / Drower                                                                                    */
/* ============================================================================================== */

.drower-nav {
	position: relative;
	width: 100%;
}

.drower-nav--inner {
	position: absolute;
}

.drower-nav--switch {
	z-index: 200;
	transform: translate3d(0,0,0);
}

.drower-nav .drower-nav--inner {
	position: fixed;
	width: 100%;
	height: 100%;
	margin: 0 auto;
	padding: 0;
	box-sizing: border-box;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	        overflow-scrolling: touch;
	
	top: 0;
	right: 0;
	opacity: 0;
	transition: opacity 0.5s cubic-bezier(.65,.05,.36,1);
	z-index: 200;
}

.-show.drower-nav,
.-show .drower-nav {
	height: 100%;
	z-index: 200;
}


/* Show enent */

.drower-nav .anm {
	opacity: 0;
	transform: translateY(20px);
	transition: all 0.5s cubic-bezier(.17,.84,.44,1);
}

.-show.drower-nav .drower-nav--inner,
.-show .drower-nav .drower-nav--inner {
	visibility: visible;
	opacity: 1;
}

.-show.drower-nav .anm,
.-show .drower-nav .anm {
	opacity: 1;
	transform: translateY(0);
	transition-duration: 0.4s;
	transition-delay: 0.2s;
}

.-show + .main-wrapper {
	pointer-events: none;
}

.-closing.drower-nav .drower-nav--inner,
.-closing .drower-nav .drower-nav--inner {
	opacity: 0;
}

.-closing.drower-nav .anm,
.-closing .drower-nav .anm {
	opacity: 1;
	transform: translateX(0);
}


.-hide.drower-nav,
.-hide .drower-nav {
	
}

.-hide.drower-nav .drower-nav--inner,
.-hide .drower-nav .drower-nav--inner {
	visibility: hidden;
	height: 0;
}


/* overlay */

/* RIGHT - LEFT */
.drower-nav .overlay {
	position: fixed;
	display: block;
	height: 100vh;
	width: 100%;
	top: 0;
	opacity: 0;
}

.drower-nav .overlay {
	opacity: 1;
}

.drower-nav .overlay,
.drower-nav.rl .overlay {
	right: 0;
	left: auto;
	/*! transform: translateX(100%); */
	opacity: 1;
}

.drower-nav .overlay {
	background-color: rgba(255,255,255,0.95);
	transition: opacity 0.25s cubic-bezier(.65,.05,.36,1); /* ease-in */
	z-index: 191;
	opacity: 0;
}

.-show.drower-nav .overlay,
.-show .drower-nav .overlay {
	opacity: 1;
	transform: translateX(0);
}

.-hide.drower-nav .overlay,
.-hide .drower-nav .overlay {
	visibility: hidden;
}


/* LEFT - RIGHT */
.drower-nav.lr {
	
}

.drower-nav.lr .drower-nav--inner {
	left: 0;
	right: auto;
	transform: translateX(-100%);
}

.-show.drower-nav.lr .drower-nav--inner,
.-show .drower-nav.lr .drower-nav--inner {
	transform: translateX(0);
}

.drower-nav.lr .overlay {
	left: 0;
	right: auto;
}




/* ============================================================================================== */
/* UI / Navigate Button                                                                           */
/* ============================================================================================== */

.navigate-btn {
	position: relative;
	display: flex;
	padding-left: calc(50px + 1.5em);
	text-decoration: none;
}

.navigate-btn:before,
.navigate-btn:after {
	position: absolute;
	right: auto;
	left: 0;
	top: 0;
	bottom: 0;
	content: "";
	width: 30px;
	height: 1px;
	margin: auto;
	background-color: currentColor;
}

.navigate-btn:before {
	opacity: 0.2;
	transition: 0.25s ease;
}

.navigate-btn:hover {
	text-decoration: none;
}

.navigate-btn--inner {
	position: relative;
}

.navigate-btn--inner:before {
	position: absolute;
	left: 0;
	right: auto;
	top: auto;
	bottom: 0.3em;
	display: block;
	width: 0%;
	height: 25%;
	content: "";
	opacity: 0.5;
	background-color: currentColor;
}

.navigate-btn:hover .navigate-btn--inner:before {
	animation: navigateBaseBg 0.5s 1 ease;
}

@keyframes navigateBaseBg {
	0% {
		width: 0;
	}
	45% {
		width: 100%;
	}
	55% {
		width: 100%;
		left: 0;
	}
	100% {
		width: 0%;
		left: 100%;
	}
}

@keyframes navigateBaseBgReverse {
	0% {
		width: 0;
	}
	45% {
		width: 100%;
	}
	55% {
		width: 100%;
		right: 0;
	}
	100% {
		width: 0%;
		right: 100%;
	}
}

/* -------------------------------------- */

.navigate-btn--back:after {
	animation: navigateHorizonBack 2s infinite cubic-bezier(0.77, 0, 0.18, 1);
}

.navigate-btn--back:hover:before,
.navigate-btn--back:hover:after {
	height: 1px;
}

.navigate-btn--back:hover .navigate-btn--inner:before {
	left: auto;
	right: 0;
	animation-name: navigateBaseBgReverse;
}

@keyframes navigateHorizonBack {
	0% {
		width: 0;
		left: 30px;
	}
	45% {
		width: 30px;
		left: 0;
	}
	55% {
		width: 30px;
	}
	100% {
		width: 0;
	}
}
/* -------------------------------------- */
.navigate-btn--forward {
	padding-left: 0;
	padding-right: calc(30px + 1.5em);
}

.navigate-btn--forward:before,
.navigate-btn--forward:after {
	right: 0;
	left: auto;
}

.navigate-btn--forward:after {
	animation: navigateHorizonForward 2s infinite cubic-bezier(0.77, 0, 0.18, 1);
}

.navigate-btn--forward:hover:before,
.navigate-btn--forward:hover:after {
	height: 1px;
}

@keyframes navigateHorizonForward {
	0% {
		width: 0;
		right: 30px;
	}
	45% {
		width: 30px;
		right: 0;
	}
	55% {
		width: 30px;
	}
	100% {
		width: 0;
	}
}

/* -------------------------------------- */
.navigate-btn--up {
	padding-left: 0;
	padding-right: 1.5em;
}

.navigate-btn--up:before,
.navigate-btn--up:after {
	top: auto;
	bottom: 0.5em;
	right: 0;
	left: auto;
	height: 25px;
	width: 1px;
}

.navigate-btn--up:after {
	animation: navigateVirticalUp 2s infinite cubic-bezier(0.77, 0, 0.18, 1);
}

.navigate-btn--up:hover:before,
.navigate-btn--up:hover:after {
	width: 1px;
}

@keyframes navigateVirticalUp {
	0% {
		height: 0;
	}
	45% {
		height: 25px;
	}
	55% {
		height: 25px;
		bottom: 0.5em;
	}
	100% {
		height: 0;
		bottom: calc(25px + 0.5em);
	}
}

/* -------------------------------------- */

.navigate-btn--down {
	padding-left: 0;
	padding-right: 1.5em;
}

.navigate-btn--down:before,
.navigate-btn--down:after {
	top: 0.5em;
	bottom: auto;
	right: 0;
	left: auto;
	height: 25px;
	width: 1px;
}

.navigate-btn--down:after {
	animation: navigateVirticalDown 2s infinite cubic-bezier(0.77, 0, 0.18, 1);
}

.navigate-btn--down:hover:before,
.navigate-btn--down:hover:after {
	width: 1px;
}

@keyframes navigateVirticalDown {
	0% {
		height: 0;
	}
	45% {
		height: 25px;
	}
	55% {
		height: 25px;
		top: 0.5em;
	}
	100% {
		height: 0;
		top: calc(25px + 0.5em);
	}
}





/* ============================================================================================== */
/* Transition / container                                                                         */
/* ============================================================================================== */

.paging-cover {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #fff;
	transition-duration: 0s;
	transition-timing-function: cubic-bezier(.17,.84,.44,1);
	transition-property: opacity;
	z-index: 190;
	pointer-events: none;
	
	/* default style */
	opacity: 1;
}

.onloadstart       .paging-cover {
	opacity: 1;
	transition-duration: 0s;
}

.onloadajaxcontent .paging-cover {
	
}

.onready           .paging-cover {
	opacity: 1;
	transition-duration: 2s;
}

.onloadcomplete    .paging-cover {
	opacity: 0;
}

.eraseStart        .paging-cover {
	transition-duration: 0.5s;
	opacity: 1 !important;
}



.onloadstart       #pushstate-target {
	
}
.onloadajaxcontent #pushstate-target {
	
}
.onready           #pushstate-target {
	
}
.onloadcomplete    #pushstate-target {
	
}

/* ============================================================================================== */
/* Indicator                                                                                      */
/* ============================================================================================== */

.indicator {
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	line-height: 0;
	z-index: 1000;
	background: rgba(255,255,255,0);
	opacity: 1;
	pointer-events: none;
	-webkit-transition: opacity 1.0s ease;
	        transition: opacity 1.0s ease;
}

.indicator.show {
	opacity: 1;
	pointer-events: auto;
}

.indicator.hide {
	opacity: 0;
}

.onloadstart .indicator {
	opacity: 1;
}

.onloadcomplete .indicator {
	opacity: 0;
	pointer-events: none;
	/*display: none;*/
}


.indicator img {
	position: absolute;
	top: 0%;
	vertical-align: middle;
}

.indicator span {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 25px;
	height: 25px;
	display: block;
	margin: auto;
	z-index: 9999;
	background-image: url(../img/global/indicator_k.png);
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 25px 300px;
	animation: indicatorAnimation 0.5s steps(12) infinite;
}

.indicator.show span {
	
}

.indicator.hide span {
	
}



@keyframes indicatorAnimation {
	from { background-position: 0px 0px; }
	to   { background-position: 0px -300px; }
}


@only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (-webkit-min-device-pixel-ratio: 3) {
	@keyframes indicatorAnimation2 {
		from { background-position: 0px 0px; }
		to   { background-position: 0px -150px; }
	}
}


/* ============================================================================================== */
/* Progress bar                                                                                   */
/* ============================================================================================== */
.progress {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	transition: all .25s ease-out 0.5s;
	z-index: 10000;
}

.progress--inner {
	display: block;
	width: 0;
	height: 3px;
	transition: all 3s cubic-bezier(0.22, 0.61, 0.36, 1);
	background-color: #000;
}

.progress.progress-complete {
	top: -3px;
}

.progress.progress-complete .progress--inner {
	transition-duration: .5s;
}

.progress.progress-complete + .indicator span {
	opacity: 0;
}

/* ---------------------------------------------------------------------------------------------- */
/* SmartPhone                                                                                     */

/* iPhone 6 over */
@media screen and (min-width: 374px) {
	
	.pcbr {display: none;}
	.tbbr {display: none;}
	.spbr {display: block;}
	
	.spcenter {text-align: center;}
	.tbcenter {}
	.pccenter {}
	
	.spleft {text-align: left;}
	.tbleft {}
	.pcleft {}
	
	.spright {text-align: right;}
	.tbright {}
	.pcright {}
	
	.spvertical {-webkit-writing-mode: vertical-rl; writing-mode: vertical-rl;}
	.tbvertical {}
	.pcvertical {}
	
}



/* ---------------------------------------------------------------------------------------------- */
/* Tablet                                                                                         */

@media screen and (min-width: 541px) {
	
	.pcbr {}
	.spbr {display: none;}
	.tbbr {display: block;}
	
	.spcenter {}
	.tbcenter {text-align: center;}
	.pccenter {}
	
	.spleft {}
	.tbleft {text-align: left;}
	.pcleft {}
	
	.spright {}
	.tbright {text-align: right;}
	.pcright {}
	
	.spvertical {}
	.tbvertical {-webkit-writing-mode: vertical-rl; writing-mode: vertical-rl;}
	.pcvertical {}
	
}

/* iPad (768px) */

@media screen and (min-width: 768px) {
	
	main {
		font-size: 1.25rem;
	}
	
	.spbr {display: none;}
	.pcbr {display: none;}
	.tbbr {display: block;}
	
	
	.spcenter {}
	.tbcenter {text-align: center;}
	.pccenter {}
	
	.spleft {}
	.tbleft {text-align: left;}
	.pcleft {}
	
	.spright {}
	.tbright {text-align: right;}
	.pcright {}
	
	
	.spvertical {}
	.tbvertical {-webkit-writing-mode: vertical-rl; writing-mode: vertical-rl;}
	.pcvertical {}
	
}

/* ---------------------------------------------------------------------------------------------- */
/* Desktop                                                                                        */


@media screen and (min-width: 1280px) {
	
	main {
		font-size: 3.4rem;
		min-height: calc(70vh - 235px);
	}
	
	.spbr {display: none;}
	.tbbr {display: none;}
	.pcbr {display: block;}
	
	.spcenter {}
	.tbcenter {}
	.pccenter {text-align: center;}
	
	.spleft {}
	.tbleft {}
	.pcleft {text-align: left;}
	
	.spright {}
	.tbright {}
	.pcright {text-align: right;}
	
	.spvertical {}
	.tbvertical {}
	.pcvertical {-webkit-writing-mode: vertical-rl; writing-mode: vertical-rl;}
	
	
	/* ----------------------------------------------------- */
	
	.layout {
		
	}
	
	/* ----------------------------------------------------- */
	
	.content-wrapper {
		width: calc(100% - 10vw);
	}
	
	/* ----------------------------------------------------- */
	
	.subheader {
		height: 100px;
		padding: 10px 40px;
	}
	
	.subheader-logo {
		
	}
	
	/* ----------------------------------------------------- */
	
	.part-header {
		
	}
	
	.part-header__title {
		
	}
	
	.part-container {
		padding: 100px 0 0;
		min-height: calc(100vh - 100px);
	}
	
	.part-container__inner {
		display: flex;
		justify-content: space-between;
		min-height: calc(100vh - 100px);
	}
	
	/* ----------------------------------------------------- */
	
	.txt-anm {
		display: inline-block;
		position: relative;
		transition: all 0.15s ease-in-out;
		opacity: 0.4;
	}
	
	.wrap-span {
		
	}
	
	a:hover .txt-anm,
	.wrap-span:hover .txt-anm {
		opacity: 1;
		/*! font-weight: 600; */
		/*! letter-spacing: 0em; */
	}
	
}


