@charset "UTF-8";
@import url(http://fonts.googleapis.com/css?family=Montserrat:400,700);
/* Base Setting
---------------------------------------------------------*/
* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; -o-box-sizing: border-box; box-sizing: border-box; -webkit-font-smoothing: antialiased; }

html { width: 100%; height: 100%; }

body { width: 100%; height: 100%; margin: 0; font-family: Montserrat, -apple-system, "Helvetica Neue", "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "メイリオ", meiryo, Helvetica, arial, clean, sans-serif; font-style: normal; font-weight: normal; -webkit-font-smoothing: antialiased; }

p { font-size: 14px; line-height: 1.75; margin-top: 0; margin-bottom: 0; }

span { font-size: 13px; }

small { font-size: 11px; }

img { vertical-align: top; display: inline-block; }

img.auto-image { max-width: auto; width: 100%; height: auto; }

a { outline: none; border: none; }

a img { border: none; outline: none; }

a.zoom-image { cursor: -webkit-zoom-in; cursor: -moz-zoom-in; cursor: zoom-in; }

ul { margin: 0; padding: 0; list-style: none; }

h1, h2, h3, h4, h5, h6 { color: #121212; margin-top: 0; margin-bottom: 0; }

h1 { font-size: 72px; font-weight: 700; line-height: 1.4; text-align: center; }

h2 { font-size: 52px; font-weight: 700; line-height: 1.2; }

h3 { font-size: 24px; font-weight: 700; line-height: 1.2; }

h4 { font-size: 20px; font-weight: 700; line-height: 1.2; }

h5 { font-size: 18px; font-weight: 700; line-height: 1.2; }

h5.sub { font-size: 16px; }

h6 { font-size: 16px; font-weight: 700; line-height: 1.2; }

@media (min-width: 280px) { h1 { font-size: 36px; }
  h2 { font-size: 32px; }
  h3 { font-size: 18px; }
  h4 { font-size: 15px; }
  h5 { font-size: 16px; }
  h5.sub { font-size: 13px; }
  h6 { font-size: 15px; }
  p { font-size: 13px; } }

@media (min-width: 768px) { h1 { font-size: 68px; }
  h2 { font-size: 48px; }
  h3 { font-size: 24px; }
  h4 { font-size: 20px; }
  h5 { font-size: 18px; }
  h5.sub { font-size: 16px; }
  h6 { font-size: 16px; }
  p { font-size: 14px; } }

@media (min-width: 940px) { h1 { font-size: 72px; }
  h2 { font-size: 52px; }
  h3 { font-size: 24px; }
  h4 { font-size: 20px; }
  h5 { font-size: 18px; }
  h5.sub { font-size: 16px; }
  h6 { font-size: 16px; }
  p { font-size: 14px; } }

section { padding-top: 60px; padding-bottom: 70px; }

section.bg-image { background-position: center center; background-repeat: no-repeat; background-size: cover; }

section.underline { border-bottom: 1px solid #979797; }

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

.section-title h2 { margin-bottom: 10px; }

.section-content { margin-top: 50px; }

.section-block { margin-top: 40px; }

.section-block-title { margin-bottom: 10px; }

.section-block-title .title-read { font-size: 16px; vertical-align: middle; }

.section-block-content p { text-align: justify; }

.block-item { margin: 10px 0px; }

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

.section-description p { font-size: 17px; line-height: 2.0; }

.container { width: 940px; margin-left: auto; margin-right: auto; position: relative; }

footer { padding-bottom: 50px; }

footer .copyright { text-align: center; }

@media (min-width: 280px) { section { padding-top: 40px; padding-bottom: 50px; }
  .section-content { margin-top: 30px; }
  .section-block { margin-top: 20px; }
  .section-block-title .title-read { font-size: 13px; }
  .section-description p { font-size: 14px; line-height: 2.0; }
  .container { width: 100%; padding-left: 10px; padding-right: 10px; } }

@media (min-width: 768px) { section { padding-top: 60px; padding-bottom: 70px; }
  .section-content { margin-top: 50px; }
  .section-block { margin-top: 40px; }
  .section-block-title .title-read { font-size: 15px; }
  .section-description p { font-size: 17px; line-height: 2.0; }
  .container { width: 768px; padding-left: 0px; padding-right: 0px; } }

@media (min-width: 940px) { section { padding-top: 60px; padding-bottom: 70px; }
  .section-content { margin-top: 50px; }
  .section-block { margin-top: 40px; }
  .section-block-title .title-read { font-size: 16px; }
  .section-description p { font-size: 17px; line-height: 2.0; }
  .container { width: 940px; padding-left: 0px; padding-right: 0px; } }

/* Page Layout
---------------------------------------------------------*/
.page-top { padding-top: 0; padding-bottom: 0; background-image: url(../imgs/bg_top_fuji.jpg); }

.top-image-container { height: 760px; position: relative; }

.page-title { padding-top: 250px; }

.page-title h1 { color: #FFFFFF; text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.5); }

.content-nav { position: absolute; width: 100%; bottom: 30px; z-index: 5; }

.content-nav ul { text-align: center; }

.content-nav li { display: inline-block; margin-left: 5px; margin-right: 5px; }

.content-nav li a { text-transform: uppercase; }

.content-nav li.menu-head { display: none; width: 100%; height: 40px; color: #808080; font-weight: 700; line-height: 40px; background-color: #FFFFFF; }

.content-nav .mobile-nav { display: none; position: absolute; top: 0px; right: 0px; z-index: 10; }

.content-nav .mobile-menu-button { text-decoration: none; display: block; width: 40px; height: 40px; line-height: 40px; text-align: center; }

.content-nav .mobile-menu-button:before { font-family: "icon-set"; font-style: normal; font-weight: normal; speak: none; font-variant: normal; text-transform: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; content: '\E80C'; color: #FFFFFF; font-size: 24px; font-weight: 300; }

@media (min-width: 280px) { .top-image-container { height: 360px; position: relative; }
  .page-title { padding-top: 120px; }
  .content-nav { bottom: auto; }
  .content-nav ul { display: none; }
  .content-nav li { margin-left: 0px; margin-right: 0px; width: 100%; border-bottom: 1px solid #979797; }
  .content-nav li.menu-head { display: inline-block; }
  .content-nav .mobile-nav { display: block; }
  .content-nav.show ul { display: block; }
  .content-nav.show .mobile-menu-button:before { content: '\E80D'; color: #121212; } }

@media (min-width: 768px) { .top-image-container { height: 600px; position: relative; }
  .page-title { padding-top: 180px; }
  .content-nav { bottom: 30px; }
  .content-nav ul { display: block; }
  .content-nav li { margin-left: 5px; margin-right: 5px; width: auto; border-bottom: none; }
  .content-nav li.menu-head { display: none; }
  .content-nav .mobile-nav { display: none; }
  .content-nav.show ul { display: block; }
  .content-nav.show .mobile-menu-button:before { content: '\E80C'; } }

@media (min-width: 940px) { .top-image-container { height: 760px; position: relative; }
  .page-title { padding-top: 250px; }
  .content-nav { bottom: 30px; }
  .content-nav ul { display: block; }
  .content-nav li { margin-left: 5px; margin-right: 5px; width: auto; border-bottom: none; }
  .content-nav li.menu-head { display: none; }
  .content-nav .mobile-nav { display: none; }
  .content-nav.show ul { display: block; }
  .content-nav.show .mobile-menu-button:before { content: '\E80C'; } }

.intro { background-image: url(../imgs/bg_intro_course.jpg); }

.intro h2, .intro h4 { text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.5); }

.intro h2, .intro h4, .intro p { color: #FFFFFF; }

.about-content { display: inline-block; width: auto; max-width: 800px; padding: 50px 40px; background-color: rgba(255, 255, 255, 0.75); border-radius: 4px; -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); backdrop-filter: blur(3px); backdrop-filter: blur(3px); }

.about-content p { color: #121212; line-height: 2.2; }

@media (min-width: 280px) { .about-content { width: 100%; padding: 15px 15px; } }

@media (min-width: 768px) { .about-content { width: 100%; padding: 30px 30px; } }

@media (min-width: 940px) { .about-content { width: auto; padding: 40px 40px; } }

.race-outline h5, .race-outline h6 { margin-bottom: 8px; }

.race-outline h5 span, .race-outline h6 span { font-size: 12px; vertical-align: middle; }

.sponsered-images { height: 60px; }

.sponsered-images img { vertical-align: middle; margin-right: 10px; }

@media (min-width: 280px) { .race-outline .region { margin-top: 15px; } }

@media (min-width: 768px) { .race-outline .region { margin-top: 0px; } }

@media (min-width: 940px) { .race-outline .region { margin-top: 0px; } }

.pickup-items-upper .product-meta { padding-left: 20px; }

.pickup-items-under .product-meta-vertical.upper-item { margin-bottom: 40px; }

.product-image, .product-meta-image { border: 1px solid #979797; padding: 5px; }

.product-meta-category p { display: inline-block; padding: 1px 10px; color: white; background-color: #AEAEAE; }

.product-meta-title { margin-top: 20px; }

.product-meta-data { margin-top: 20px; }

.product-meta-description { margin-top: 20px; }

.product-meta-button { margin-top: 20px; }

.product-meta-vertical.size-thumb { width: 300px; margin-right: 20px; }

.product-meta-vertical.size-thumb:nth-child(3n) { margin-right: 0px; }

.product-meta-vertical .product-meta-image { margin-top: 10px; }

.product-meta-vertical .product-meta-title { margin-top: 10px; }

.product-meta-vertical .product-meta-data { margin-top: 10px; }

.product-meta-vertical .product-meta-description { margin-top: 10px; }

.product-meta-vertical .product-meta-button { margin-top: 15px; }

@media (min-width: 280px) { .pickup-items-upper { padding-top: 45px; }
  .pickup-items-upper .product-meta { padding-left: 0px; }
  .pickup-items-upper .product-meta-category { position: absolute; top: 0; }
  .pickup-items-under .product-meta-vertical { margin-bottom: 20px; }
  .pickup-items-under .product-meta-vertical.upper-item { margin-bottom: 20px; }
  .pickup-items-under .product-meta-vertical:last-child { margin-bottom: 0px; }
  .product-meta-category { margin-top: 10px; }
  .product-meta-title, .product-meta-data, .product-meta-description, .product-meta-button { margin-top: 10px; }
  .product-meta-vertical.size-thumb { width: 100%; margin-right: 0px; } }

@media (min-width: 768px) { .pickup-items-upper { padding-top: 0px; }
  .pickup-items-upper .product-meta { padding-left: 20px; }
  .pickup-items-upper .product-meta-category { position: static; top: auto; }
  .pickup-items-under .product-meta-vertical { margin-bottom: 0px; }
  .pickup-items-under .product-meta-vertical.upper-item { margin-bottom: 40px; }
  .pickup-items-under .product-meta-vertical:last-child { margin-bottom: 0px; }
  .product-meta-category { margin-top: 0px; }
  .product-meta-title, .product-meta-data, .product-meta-description, .product-meta-button { margin-top: 20px; }
  .product-meta-vertical.size-thumb { width: 250px; margin-right: 9px; } }

@media (min-width: 940px) { .pickup-items-upper { padding-top: 0px; }
  .pickup-items-upper .product-meta { padding-left: 20px; }
  .pickup-items-upper .product-meta-category { position: static; top: auto; }
  .pickup-items-under .product-meta-vertical { margin-bottom: 0px; }
  .pickup-items-under .product-meta-vertical.upper-item { margin-bottom: 40px; }
  .pickup-items-under .product-meta-vertical:last-child { margin-bottom: 0px; }
  .product-meta-category { margin-top: 0px; }
  .product-meta-title, .product-meta-data, .product-meta-description, .product-meta-button { margin-top: 20px; }
  .product-meta-vertical.size-thumb { width: 300px; margin-right: 20px; } }

.interview-movie { width: 100%; height: auto; margin-top: 10px; padding-top: 56.25%; position: relative; overflow: hidden; }

.interview-movie iframe { width: 100%; height: 100%; position: absolute; top: 0; }

.finisher-voice-content .region { padding-left: 0px; padding-right: 15px; }

.finisher-voice-content .region:last-child { padding-left: 15px; padding-right: 0px; }

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

.finisher-data { margin-top: 10px; text-align: center; }

.finisher-body { margin-top: 20px; }

@media (min-width: 280px) { .finisher-voice-content .region { padding-left: 0px; padding-right: 0px; }
  .finisher-voice-content .region:last-child { padding-left: 0px; padding-right: 0px; }
  .finisher-image { text-align: center; padding-left: 50px; padding-right: 50px; } }

@media (min-width: 768px) { .finisher-voice-content .region { padding-left: 0px; padding-right: 15px; }
  .finisher-voice-content .region:last-child { padding-left: 15px; padding-right: 0px; }
  .finisher-image { text-align: center; padding-left: 0px; padding-right: 0px; } }

@media (min-width: 940px) { .finisher-voice-content .region { padding-left: 0px; padding-right: 15px; }
  .finisher-voice-content .region:last-child { padding-left: 15px; padding-right: 0px; }
  .finisher-image { text-align: center; padding-left: 0px; padding-right: 0px; } }

/* layout modules -------------------------------------- */
.button { text-align: center; text-decoration: none; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; display: block; padding: 0 20px; margin: 0; outline: 0; border-width: 1px; border-style: solid; height: 36px; line-height: 34px; vertical-align: middle; -webkit-user-select: none; -moz-user-select: none; user-select: none; -webkit-touch-callout: none; cursor: pointer; }

.button.untouch { cursor: auto; }

.button.size-230 { width: 230px; }

.menu-button { color: #FFFFFF; font-size: 13px; font-weight: 700; padding: 0 25px; border-color: #FFFFFF; background-color: transparent; -webkit-transition: background-color 0.3s ease-out, color 0.3s ease-out; -moz-transition: background-color 0.3s ease-out, color 0.3s ease-out; -ms-transition: background-color 0.3s ease-out, color 0.3s ease-out; -o-transition: background-color 0.3s ease-out, color 0.3s ease-out; transition: background-color 0.3s ease-out, color 0.3s ease-out; }

.menu-button:hover { color: #121212; background-color: #FFFFFF; }

.available-button { color: #808080; font-size: 15px; font-weight: 700; border-color: #808080; }

.shop-button { color: #FFFFFF; font-size: 15px; font-weight: 700; text-align: left; border-color: #E72D18; background-color: #E72D18; position: relative; -webkit-transition: background-color 0.3s ease-out, color 0.3s ease-out; -moz-transition: background-color 0.3s ease-out, color 0.3s ease-out; -ms-transition: background-color 0.3s ease-out, color 0.3s ease-out; -o-transition: background-color 0.3s ease-out, color 0.3s ease-out; transition: background-color 0.3s ease-out, color 0.3s ease-out; }

.shop-button:before { display: block; position: absolute; top: 1px; right: 10px; font-family: "icon-set"; font-style: normal; font-weight: normal; speak: none; font-variant: normal; text-transform: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; content: '\E807'; color: #FFFFFF; font-size: 20px; font-weight: 700; }

.shop-button:hover { color: #E72D18; background-color: #FFFFFF; }

.shop-button:hover:before { color: #E72D18; }

@media (min-width: 280px) { .button { padding: 0 20px; }
  .menu-button { color: #121212; border-color: #FFFFFF; background-color: #FFFFFF; height: 40px; line-height: 36px; } }

@media (min-width: 768px) { .button { padding: 0 20px; }
  .menu-button { color: #FFFFFF; border-color: #FFFFFF; background-color: transparent; height: 36px; line-height: 32px; } }

@media (min-width: 940px) { .button { padding: 0 20px; }
  .menu-button { color: #FFFFFF; border-color: #FFFFFF; background-color: transparent; height: 36px; line-height: 32px; } }

/* grid modules ---------------------------------------- */
.col { position: relative; }

.col:after { content: ''; display: block; clear: both; }

.col.inline { letter-spacing: -.4em; }

.col.inline .region { float: none; display: inline-block; letter-spacing: normal; vertical-align: top; }

.region { position: relative; float: left; }

.region.static-pos { position: static; }

.size1 { width: 100%; }

.size2 { width: 50%; }

.size3 { width: 33.333333%; }

.size2of3 { width: 66.666666%; }

.size4 { width: 25%; }

.size3of4 { width: 75%; }

.size5 { width: 20%; }

.size2of5 { width: 40%; }

.size3of5 { width: 60%; }

.size4of5 { width: 80%; }

.protect { position: relative; }

.protect > span { width: 100%; height: 100%; display: block; position: absolute; top: 0; left: 0; background-color: transparent; }

.pc { display: inline; }

.tb { display: none; }

.pc-tb { display: inline; }

.sp { display: none; }

.tb-sp { display: none; }

@media (min-width: 280px) { .col.inline .region { float: none; }
  .region.clear { float: none; }
  .region.clear.size2, .region.clear.size3, .region.clear.size2of3, .region.clear.size4, .region.clear.size3of4, .region.clear.size5, .region.clear.size2of5, .region.clear.size3of5, .region.clear.size4of5 { width: 100%; }
  .pc { display: none; }
  .tb { display: none; }
  .pc-tb { display: none; }
  .sp { display: inline; }
  .tb-sp { display: inline; } }

@media (min-width: 768px) { .col.inline .region { float: none; }
  .region.clear { float: left; }
  .region.clear.size2 { width: 50%; }
  .region.clear.size3 { width: 33.333333%; }
  .region.clear.size2of3 { width: 66.666666%; }
  .region.clear.size4 { width: 25%; }
  .region.clear.size3of4 { width: 75%; }
  .region.clear.size5 { width: 20%; }
  .region.clear.size2of5 { width: 40%; }
  .region.clear.size3of5 { width: 60%; }
  .region.clear.size4of5 { width: 80%; }
  .pc { display: none; }
  .tb { display: inline; }
  .pc-tb { display: inline; }
  .sp { display: none; }
  .tb-sp { display: inline; } }

@media (min-width: 940px) { .col.inline .region { float: none; }
  .region.clear { float: left; }
  .region.clear.size2 { width: 50%; }
  .region.clear.size3 { width: 33.333333%; }
  .region.clear.size2of3 { width: 66.666666%; }
  .region.clear.size4 { width: 25%; }
  .region.clear.size3of4 { width: 75%; }
  .region.clear.size5 { width: 20%; }
  .region.clear.size2of5 { width: 40%; }
  .region.clear.size3of5 { width: 60%; }
  .region.clear.size4of5 { width: 80%; }
  .pc { display: inline; }
  .tb { display: none; }
  .pc-tb { display: inline; }
  .sp { display: none; }
  .tb-sp { display: none; } }
