@charset "UTF-8";
/*
Theme Name: 
Author: Ryuji SANAGI - yucca Inc.
Author URI: http://www.yucca.co.jp
Description: 
Version: 1.0
last updated: 2017/07/20
*/
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, 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 {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}

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

/* --- About Webfonts License ---
 *
 * "Noto Serif JP" is licensed under the Apache License, version 2.0.
 * http://www.apache.org/licenses/LICENSE-2.0.html
 * https://www.google.com/get/noto/#serif-jpan
 *
 * "nikumaru" is licensed under the M+(LICENSE_J,LICENSE_E) License.
 * https://mplus-fonts.osdn.jp/about.html
 * http://www.fontna.com/blog/1651/
 *
 */
@font-face {
  font-family: "Noto Serif JP";
  font-weight: 400;
  src: url('lib/webfonts/NotoSerifJP/regular_400/NotoSerifJP_R400.otf?1522232888') format("opentype"), url('lib/webfonts/NotoSerifJP/regular_400/NotoSerifJP_R400.woff2?1522232912') format("woff2"), url('lib/webfonts/NotoSerifJP/regular_400/NotoSerifJP_R400.woff?1522232896') format("woff");
}
@font-face {
  font-family: "Noto Serif JP";
  font-weight: 700;
  src: url('lib/webfonts/NotoSerifJP/bold_700/NotoSerifJP_B700.otf?1522233078') format("opentype"), url('lib/webfonts/NotoSerifJP/bold_700/NotoSerifJP_B700.woff2?1522233102') format("woff2"), url('lib/webfonts/NotoSerifJP/bold_700/NotoSerifJP_B700.woff?1522233080') format("woff");
}
@font-face {
  font-family: "nikumaru";
  font-weight: 700;
  src: url('lib/webfonts/nikumaru/nikumaru.otf?1527179424') format("opentype"), url('lib/webfonts/nikumaru/nikumaru.woff2?1527179448') format("woff2"), url('lib/webfonts/nikumaru/nikumaru.woff?1527179434') format("woff");
}
@font-face {
  font-family: 'icomoon';
  src: url('lib/webfonts/iconfonts/icomoon.eot?kb8hw1&1527256552');
  src: url('lib/webfonts/iconfonts/icomoon.eot?kb8hw1&1527256552#iefix') format("embedded-opentype"), url('lib/webfonts/iconfonts/icomoon.ttf?kb8hw1&1527256552') format("truetype"), url('lib/webfonts/iconfonts/icomoon.woff?kb8hw1&1527256552') format("woff"), url('lib/webfonts/iconfonts/icomoon.svg?kb8hw1&1527256552#icomoon') format("svg");
  font-weight: normal;
  font-style: normal;
}
[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-autumn:before {
  content: "\e900";
}

.icon-mainvisual:before {
  content: "\e901";
}

.icon-scroll:before {
  content: "\e902";
}

.icon-spring:before {
  content: "\e903";
}

@keyframes fadeInToLeft {
  0% {
    opacity: 0;
    transform: translateX(30px);
  }
  100% {
    opacity: 1;
    transform: translateX(0px);
  }
}
@keyframes fadeInToRight {
  0% {
    opacity: 0;
    transform: translateX(-30px);
  }
  100% {
    opacity: 1;
    transform: translateX(0px);
  }
}
@keyframes fadeInToDown {
  0% {
    opacity: 0;
    transform: translateY(-30px);
  }
  100% {
    opacity: 1;
    transform: translateY(0px);
  }
}
@keyframes fadeInToUp {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  100% {
    opacity: 1;
    transform: translateY(0px);
  }
}
.wp-single-contents-container {
  padding: .1px;
  width: 100%;
  overflow: hidden;
  zoom: 1;
}
.wp-single-contents-container:after {
  content: "";
  display: block;
  clear: both;
}
.wp-single-contents-container p:not(:last-child), .wp-single-contents-container h1:not(:last-child), .wp-single-contents-container h2:not(:last-child), .wp-single-contents-container h3:not(:last-child), .wp-single-contents-container h4:not(:last-child), .wp-single-contents-container h5:not(:last-child), .wp-single-contents-container h6:not(:last-child) {
  margin: 0 0 1em;
}
.wp-single-contents-container h1 {
  font-size: 1.85em;
}
.wp-single-contents-container h2 {
  font-size: 1.7em;
}
.wp-single-contents-container h3 {
  font-size: 1.55em;
}
.wp-single-contents-container h4 {
  font-size: 1.4em;
}
.wp-single-contents-container h5 {
  font-size: 1.25em;
}
.wp-single-contents-container h6 {
  font-size: 1.1em;
}
.wp-single-contents-container ol, .wp-single-contents-container ul {
  position: relative;
  left: 1.5em;
  margin-right: 1.5em;
}
.wp-single-contents-container ul {
  list-style: inherit;
}
.wp-single-contents-container ol {
  list-style: decimal;
}
.wp-single-contents-container img[class*="wp-image-"],
.wp-single-contents-container img[class*="attachment-"] {
  display: inline-block;
  margin-top: 1em;
  margin-bottom: 1em;
  height: auto;
  width: auto;
  max-height: auto;
  max-width: 100%;
}
.wp-single-contents-container img.aligncenter {
  display: block;
  margin: 0 auto;
}
.wp-single-contents-container img.alignright {
  float: right;
}
.wp-single-contents-container img.alignleft {
  float: left;
}
.wp-single-contents-container strong, .wp-single-contents-container b {
  font-weight: bold;
}
.wp-single-contents-container em {
  font-style: italic;
}
.wp-single-contents-container blockquote {
  display: block;
  -webkit-margin-before: 1em;
  -webkit-margin-after: 1em;
  -webkit-margin-start: 40px;
  -webkit-margin-end: 40px;
}
.wp-single-contents-container sup {
  font-size: 0.5em;
  vertical-align: super;
}
.wp-single-contents-container sub {
  font-size: 0.5em;
  vertical-align: sub;
}
.wp-single-contents-container i {
  font-style: italic;
}

html, body, .FontDef {
  font-family: "Noto Sans JP", sans-serif;
}

.FontJP {
  font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Noto Serif JP", "游明朝", YuMincho, serif;
}

.FontEN {
  font-family: "Noto Sans", sans-serif;
}

.FontN {
  font-family: "nikumaru", sans-serif;
}

html {
  overflow-x: hidden;
  margin: 0;
  padding: 0;
}

body {
  color: #444444;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.15;
  margin: 0;
  padding: 0;
}

img {
  display: block;
  height: auto;
}

[id*="wrapper"], [class*="wrapper"] {
  overflow: hidden;
  position: relative;
}

.FontSize_UL {
  font-size: 2em;
}
.FontSize_LL {
  font-size: 1.7em;
}
.FontSize_L {
  font-size: 1.3em;
}
.FontSize_M {
  font-size: 1.1em;
}
.FontSize_HS {
  font-size: 0.9em;
}
.FontSize_S {
  font-size: 0.8em;
}
.FontSize_SS {
  font-size: 0.7em;
}
.FontSize_US {
  font-size: 0.5em;
}

.Color_Def {
  color: #444444;
}
.Color_theme {
  color: #00BCB7;
}
.Color_spring {
  color: #F7AAAA;
}
.Color_summer {
  color: #0060C0;
}
.Color_autumn {
  color: #CC5050;
}
.Color_winter {
  color: #006600;
}
.Color_black {
  color: #000;
}

.FontWeightBold {
  font-weight: bold;
}
.FontWeightEXbold {
  font-weight: bolder;
}
.FontWeightLight {
  font-weight: lighter;
}

.LineH_S {
  line-height: 1.15;
}
.LineH_M {
  line-height: 1.3;
}
.LineH_L {
  line-height: 1.7;
}

.FontStyleItalic {
  font-style: italic;
}

.margin_row_0em {
  margin-top: 0em;
  margin-bottom: 0em;
}
.margin_rowPhone_0em {
  margin-top: 0em;
  margin-bottom: 0em;
}
.margin_column_0em {
  margin-left: 0em;
  margin-right: 0em;
}
.margin_columnPhone_0em {
  margin-left: 0em;
  margin-right: 0em;
}
.margin_top_0em {
  margin-top: 0em;
}
.margin_topPhone_0em {
  margin-top: 0em;
}
.margin_bottom_0em {
  margin-bottom: 0em;
}
.margin_bottomPhone_0em {
  margin-bottom: 0em;
}
.margin_left_0em {
  margin-left: 0em;
}
.margin_leftPhone_0em {
  margin-left: 0em;
}
.margin_right_0em {
  margin-right: 0em;
}
.margin_rightPhone_0em {
  margin-right: 0em;
}
.margin_row_1em {
  margin-top: 1em;
  margin-bottom: 1em;
}
.margin_rowPhone_1em {
  margin-top: 1em;
  margin-bottom: 1em;
}
.margin_column_1em {
  margin-left: 1em;
  margin-right: 1em;
}
.margin_columnPhone_1em {
  margin-left: 1em;
  margin-right: 1em;
}
.margin_top_1em {
  margin-top: 1em;
}
.margin_topPhone_1em {
  margin-top: 1em;
}
.margin_bottom_1em {
  margin-bottom: 1em;
}
.margin_bottomPhone_1em {
  margin-bottom: 1em;
}
.margin_left_1em {
  margin-left: 1em;
}
.margin_leftPhone_1em {
  margin-left: 1em;
}
.margin_right_1em {
  margin-right: 1em;
}
.margin_rightPhone_1em {
  margin-right: 1em;
}
.margin_row_2em {
  margin-top: 2em;
  margin-bottom: 2em;
}
.margin_rowPhone_2em {
  margin-top: 2em;
  margin-bottom: 2em;
}
.margin_column_2em {
  margin-left: 2em;
  margin-right: 2em;
}
.margin_columnPhone_2em {
  margin-left: 2em;
  margin-right: 2em;
}
.margin_top_2em {
  margin-top: 2em;
}
.margin_topPhone_2em {
  margin-top: 2em;
}
.margin_bottom_2em {
  margin-bottom: 2em;
}
.margin_bottomPhone_2em {
  margin-bottom: 2em;
}
.margin_left_2em {
  margin-left: 2em;
}
.margin_leftPhone_2em {
  margin-left: 2em;
}
.margin_right_2em {
  margin-right: 2em;
}
.margin_rightPhone_2em {
  margin-right: 2em;
}
.margin_row_3em {
  margin-top: 3em;
  margin-bottom: 3em;
}
.margin_rowPhone_3em {
  margin-top: 3em;
  margin-bottom: 3em;
}
.margin_column_3em {
  margin-left: 3em;
  margin-right: 3em;
}
.margin_columnPhone_3em {
  margin-left: 3em;
  margin-right: 3em;
}
.margin_top_3em {
  margin-top: 3em;
}
.margin_topPhone_3em {
  margin-top: 3em;
}
.margin_bottom_3em {
  margin-bottom: 3em;
}
.margin_bottomPhone_3em {
  margin-bottom: 3em;
}
.margin_left_3em {
  margin-left: 3em;
}
.margin_leftPhone_3em {
  margin-left: 3em;
}
.margin_right_3em {
  margin-right: 3em;
}
.margin_rightPhone_3em {
  margin-right: 3em;
}
.margin_row_4em {
  margin-top: 4em;
  margin-bottom: 4em;
}
.margin_rowPhone_4em {
  margin-top: 4em;
  margin-bottom: 4em;
}
.margin_column_4em {
  margin-left: 4em;
  margin-right: 4em;
}
.margin_columnPhone_4em {
  margin-left: 4em;
  margin-right: 4em;
}
.margin_top_4em {
  margin-top: 4em;
}
.margin_topPhone_4em {
  margin-top: 4em;
}
.margin_bottom_4em {
  margin-bottom: 4em;
}
.margin_bottomPhone_4em {
  margin-bottom: 4em;
}
.margin_left_4em {
  margin-left: 4em;
}
.margin_leftPhone_4em {
  margin-left: 4em;
}
.margin_right_4em {
  margin-right: 4em;
}
.margin_rightPhone_4em {
  margin-right: 4em;
}
@media (min-width: 768px) {
  .margin_rowTAB_0em {
    margin-top: 0em;
    margin-bottom: 0em;
  }
  .margin_columnTAB_0em {
    margin-left: 0em;
    margin-right: 0em;
  }
  .margin_topTAB_0em {
    margin-top: 0em;
  }
  .margin_bottomTAB_0em {
    margin-bottom: 0em;
  }
  .margin_leftTAB_0em {
    margin-left: 0em;
  }
  .margin_rightTAB_0em {
    margin-right: 0em;
  }
  .margin_rowTAB_1em {
    margin-top: 1em;
    margin-bottom: 1em;
  }
  .margin_columnTAB_1em {
    margin-left: 1em;
    margin-right: 1em;
  }
  .margin_topTAB_1em {
    margin-top: 1em;
  }
  .margin_bottomTAB_1em {
    margin-bottom: 1em;
  }
  .margin_leftTAB_1em {
    margin-left: 1em;
  }
  .margin_rightTAB_1em {
    margin-right: 1em;
  }
  .margin_rowTAB_2em {
    margin-top: 2em;
    margin-bottom: 2em;
  }
  .margin_columnTAB_2em {
    margin-left: 2em;
    margin-right: 2em;
  }
  .margin_topTAB_2em {
    margin-top: 2em;
  }
  .margin_bottomTAB_2em {
    margin-bottom: 2em;
  }
  .margin_leftTAB_2em {
    margin-left: 2em;
  }
  .margin_rightTAB_2em {
    margin-right: 2em;
  }
  .margin_rowTAB_3em {
    margin-top: 3em;
    margin-bottom: 3em;
  }
  .margin_columnTAB_3em {
    margin-left: 3em;
    margin-right: 3em;
  }
  .margin_topTAB_3em {
    margin-top: 3em;
  }
  .margin_bottomTAB_3em {
    margin-bottom: 3em;
  }
  .margin_leftTAB_3em {
    margin-left: 3em;
  }
  .margin_rightTAB_3em {
    margin-right: 3em;
  }
  .margin_rowTAB_4em {
    margin-top: 4em;
    margin-bottom: 4em;
  }
  .margin_columnTAB_4em {
    margin-left: 4em;
    margin-right: 4em;
  }
  .margin_topTAB_4em {
    margin-top: 4em;
  }
  .margin_bottomTAB_4em {
    margin-bottom: 4em;
  }
  .margin_leftTAB_4em {
    margin-left: 4em;
  }
  .margin_rightTAB_4em {
    margin-right: 4em;
  }
}
@media (min-width: 1024px) {
  .margin_rowPC_0em {
    margin-top: 0em;
    margin-bottom: 0em;
  }
  .margin_columnPC_0em {
    margin-left: 0em;
    margin-right: 0em;
  }
  .margin_topPC_0em {
    margin-top: 0em;
  }
  .margin_bottomPC_0em {
    margin-bottom: 0em;
  }
  .margin_leftPC_0em {
    margin-left: 0em;
  }
  .margin_rightPC_0em {
    margin-right: 0em;
  }
  .margin_rowPC_1em {
    margin-top: 1em;
    margin-bottom: 1em;
  }
  .margin_columnPC_1em {
    margin-left: 1em;
    margin-right: 1em;
  }
  .margin_topPC_1em {
    margin-top: 1em;
  }
  .margin_bottomPC_1em {
    margin-bottom: 1em;
  }
  .margin_leftPC_1em {
    margin-left: 1em;
  }
  .margin_rightPC_1em {
    margin-right: 1em;
  }
  .margin_rowPC_2em {
    margin-top: 2em;
    margin-bottom: 2em;
  }
  .margin_columnPC_2em {
    margin-left: 2em;
    margin-right: 2em;
  }
  .margin_topPC_2em {
    margin-top: 2em;
  }
  .margin_bottomPC_2em {
    margin-bottom: 2em;
  }
  .margin_leftPC_2em {
    margin-left: 2em;
  }
  .margin_rightPC_2em {
    margin-right: 2em;
  }
  .margin_rowPC_3em {
    margin-top: 3em;
    margin-bottom: 3em;
  }
  .margin_columnPC_3em {
    margin-left: 3em;
    margin-right: 3em;
  }
  .margin_topPC_3em {
    margin-top: 3em;
  }
  .margin_bottomPC_3em {
    margin-bottom: 3em;
  }
  .margin_leftPC_3em {
    margin-left: 3em;
  }
  .margin_rightPC_3em {
    margin-right: 3em;
  }
  .margin_rowPC_4em {
    margin-top: 4em;
    margin-bottom: 4em;
  }
  .margin_columnPC_4em {
    margin-left: 4em;
    margin-right: 4em;
  }
  .margin_topPC_4em {
    margin-top: 4em;
  }
  .margin_bottomPC_4em {
    margin-bottom: 4em;
  }
  .margin_leftPC_4em {
    margin-left: 4em;
  }
  .margin_rightPC_4em {
    margin-right: 4em;
  }
}

.padding_row_1em {
  padding-top: 1em;
  padding-bottom: 1em;
}
.padding_rowPhone_1em {
  padding-top: 1em;
  padding-bottom: 1em;
}
.padding_column_1em {
  padding-left: 1em;
  padding-right: 1em;
}
.padding_columnPhone_1em {
  padding-left: 1em;
  padding-right: 1em;
}
.padding_top_1em {
  padding-top: 1em;
}
.padding_topPhone_1em {
  padding-top: 1em;
}
.padding_bottom_1em {
  padding-bottom: 1em;
}
.padding_bottomPhone_1em {
  padding-bottom: 1em;
}
.padding_left_1em {
  padding-left: 1em;
}
.padding_leftPhone_1em {
  padding-left: 1em;
}
.padding_right_1em {
  padding-right: 1em;
}
.padding_rightPhone_1em {
  padding-right: 1em;
}
.padding_row_2em {
  padding-top: 2em;
  padding-bottom: 2em;
}
.padding_rowPhone_2em {
  padding-top: 2em;
  padding-bottom: 2em;
}
.padding_column_2em {
  padding-left: 2em;
  padding-right: 2em;
}
.padding_columnPhone_2em {
  padding-left: 2em;
  padding-right: 2em;
}
.padding_top_2em {
  padding-top: 2em;
}
.padding_topPhone_2em {
  padding-top: 2em;
}
.padding_bottom_2em {
  padding-bottom: 2em;
}
.padding_bottomPhone_2em {
  padding-bottom: 2em;
}
.padding_left_2em {
  padding-left: 2em;
}
.padding_leftPhone_2em {
  padding-left: 2em;
}
.padding_right_2em {
  padding-right: 2em;
}
.padding_rightPhone_2em {
  padding-right: 2em;
}
.padding_row_3em {
  padding-top: 3em;
  padding-bottom: 3em;
}
.padding_rowPhone_3em {
  padding-top: 3em;
  padding-bottom: 3em;
}
.padding_column_3em {
  padding-left: 3em;
  padding-right: 3em;
}
.padding_columnPhone_3em {
  padding-left: 3em;
  padding-right: 3em;
}
.padding_top_3em {
  padding-top: 3em;
}
.padding_topPhone_3em {
  padding-top: 3em;
}
.padding_bottom_3em {
  padding-bottom: 3em;
}
.padding_bottomPhone_3em {
  padding-bottom: 3em;
}
.padding_left_3em {
  padding-left: 3em;
}
.padding_leftPhone_3em {
  padding-left: 3em;
}
.padding_right_3em {
  padding-right: 3em;
}
.padding_rightPhone_3em {
  padding-right: 3em;
}
.padding_row_4em {
  padding-top: 4em;
  padding-bottom: 4em;
}
.padding_rowPhone_4em {
  padding-top: 4em;
  padding-bottom: 4em;
}
.padding_column_4em {
  padding-left: 4em;
  padding-right: 4em;
}
.padding_columnPhone_4em {
  padding-left: 4em;
  padding-right: 4em;
}
.padding_top_4em {
  padding-top: 4em;
}
.padding_topPhone_4em {
  padding-top: 4em;
}
.padding_bottom_4em {
  padding-bottom: 4em;
}
.padding_bottomPhone_4em {
  padding-bottom: 4em;
}
.padding_left_4em {
  padding-left: 4em;
}
.padding_leftPhone_4em {
  padding-left: 4em;
}
.padding_right_4em {
  padding-right: 4em;
}
.padding_rightPhone_4em {
  padding-right: 4em;
}
@media (min-width: 768px) {
  .padding_rowTAB_1em {
    padding-top: 1em;
    padding-bottom: 1em;
  }
  .padding_columnTAB_1em {
    padding-left: 1em;
    padding-right: 1em;
  }
  .padding_topTAB_1em {
    padding-top: 1em;
  }
  .padding_bottomTAB_1em {
    padding-bottom: 1em;
  }
  .padding_leftTAB_1em {
    padding-left: 1em;
  }
  .padding_rightTAB_1em {
    padding-right: 1em;
  }
  .padding_rowTAB_2em {
    padding-top: 2em;
    padding-bottom: 2em;
  }
  .padding_columnTAB_2em {
    padding-left: 2em;
    padding-right: 2em;
  }
  .padding_topTAB_2em {
    padding-top: 2em;
  }
  .padding_bottomTAB_2em {
    padding-bottom: 2em;
  }
  .padding_leftTAB_2em {
    padding-left: 2em;
  }
  .padding_rightTAB_2em {
    padding-right: 2em;
  }
  .padding_rowTAB_3em {
    padding-top: 3em;
    padding-bottom: 3em;
  }
  .padding_columnTAB_3em {
    padding-left: 3em;
    padding-right: 3em;
  }
  .padding_topTAB_3em {
    padding-top: 3em;
  }
  .padding_bottomTAB_3em {
    padding-bottom: 3em;
  }
  .padding_leftTAB_3em {
    padding-left: 3em;
  }
  .padding_rightTAB_3em {
    padding-right: 3em;
  }
  .padding_rowTAB_4em {
    padding-top: 4em;
    padding-bottom: 4em;
  }
  .padding_columnTAB_4em {
    padding-left: 4em;
    padding-right: 4em;
  }
  .padding_topTAB_4em {
    padding-top: 4em;
  }
  .padding_bottomTAB_4em {
    padding-bottom: 4em;
  }
  .padding_leftTAB_4em {
    padding-left: 4em;
  }
  .padding_rightTAB_4em {
    padding-right: 4em;
  }
}
@media (min-width: 1024px) {
  .padding_rowPC_1em {
    padding-top: 1em;
    padding-bottom: 1em;
  }
  .padding_columnPC_1em {
    padding-left: 1em;
    padding-right: 1em;
  }
  .padding_topPC_1em {
    padding-top: 1em;
  }
  .padding_bottomPC_1em {
    padding-bottom: 1em;
  }
  .padding_leftPC_1em {
    padding-left: 1em;
  }
  .padding_rightPC_1em {
    padding-right: 1em;
  }
  .padding_rowPC_2em {
    padding-top: 2em;
    padding-bottom: 2em;
  }
  .padding_columnPC_2em {
    padding-left: 2em;
    padding-right: 2em;
  }
  .padding_topPC_2em {
    padding-top: 2em;
  }
  .padding_bottomPC_2em {
    padding-bottom: 2em;
  }
  .padding_leftPC_2em {
    padding-left: 2em;
  }
  .padding_rightPC_2em {
    padding-right: 2em;
  }
  .padding_rowPC_3em {
    padding-top: 3em;
    padding-bottom: 3em;
  }
  .padding_columnPC_3em {
    padding-left: 3em;
    padding-right: 3em;
  }
  .padding_topPC_3em {
    padding-top: 3em;
  }
  .padding_bottomPC_3em {
    padding-bottom: 3em;
  }
  .padding_leftPC_3em {
    padding-left: 3em;
  }
  .padding_rightPC_3em {
    padding-right: 3em;
  }
  .padding_rowPC_4em {
    padding-top: 4em;
    padding-bottom: 4em;
  }
  .padding_columnPC_4em {
    padding-left: 4em;
    padding-right: 4em;
  }
  .padding_topPC_4em {
    padding-top: 4em;
  }
  .padding_bottomPC_4em {
    padding-bottom: 4em;
  }
  .padding_leftPC_4em {
    padding-left: 4em;
  }
  .padding_rightPC_4em {
    padding-right: 4em;
  }
}

.centerText {
  text-align: center;
}

.rightText {
  text-align: right;
}

.verCenter {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
}

.Justify {
  text-align: justify;
  text-justify: inter-ideograph;
}

.Justify-end {
  -moz-text-align-last: justify;
  text-align-last: justify;
  text-justify: inter-ideograph;
}

.emsp-before::before,
.emsp-after::after {
  content: "\2003";
  white-space: pre;
}

.br-before::before, .br-after::after,
.br-both::before, .br-both::after {
  content: "\A";
  white-space: pre;
}

.blockspan {
  display: block;
}

.centering {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}

.BGimage,
.VARimage {
  background-position: center;
  background-repeat: no-repeat;
}

.BGimage {
  background-size: cover;
}

.BGimage .BG_fixed {
  background-attachment: fixed;
}

.VARimage {
  background-size: contain;
}

[class*="bg_color_"] {
  padding-top: 0.1px;
  padding-bottom: 0.1px;
}

.bg_color_gray {
  background-color: #F2F2F2;
}

.flexBox {
  -js-display: flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
}

.SPnone,
.TABview,
.TABonly,
.LTABview {
  display: none;
}

@media (min-width: 414px) {
  .S-SPOnly {
    display: none;
  }
}
@media (min-width: 768px) {
  .TABnone {
    display: none;
  }

  .TABview,
  .TABonly {
    display: inherit;
  }
  .TABview.flexBox,
  .TABonly.flexBox {
    -js-display: flex;
    display: flex;
  }
  .TABview.gridBox,
  .TABonly.gridBox {
    display: -ms-grid;
    display: grid;
  }
}
@media (min-width: 1024px) {
  .LTABview {
    display: inherit;
  }
  .LTABview.flexBox {
    -js-display: flex;
    display: flex;
  }
  .LTABview.gridBox {
    display: -ms-grid;
    display: grid;
  }

  .LTABnone {
    display: none;
  }
}
@media (min-width: 1280px) {
  .PCnone,
  .TABonly {
    display: none;
  }

  .SPnone {
    display: inherit;
  }
  .SPnone.flexBox {
    -js-display: flex;
    display: flex;
  }
  .SPnone.gridBox {
    display: -ms-grid;
    display: grid;
  }
}
.Link-div {
  cursor: pointer;
}

[class*="standbyFade"],
[class*="animationFade"] {
  transition-property: opacity,transform;
  transition-duration: .5s;
  transition-timing-function: cubic-bezier(0.2, 0.5, 0.7, 1);
}

[class*="standbyFadeIn"],
[class*="animationFadeOut"] {
  opacity: 0;
}

[class*="standbyFadeOut"],
[class*="animationFadeIn"] {
  opacity: 1;
  transform: translate(0px, 0px);
}

.standbyFadeInToLeft {
  transform: translate(30px);
}
.standbyFadeInToRight {
  transform: translate(-30px);
}
.standbyFadeInToDown {
  transform: translate(0px, -30px);
}
.standbyFadeInToUp {
  transform: translate(0px, 30px);
}

.animationFadeOutToLeft {
  transform: translate(-30px);
}
.animationFadeOutToRight {
  transform: translate(30px);
}
.animationFadeOutToDown {
  transform: translate(0px, 30px);
}
.animationFadeOutToUp {
  transform: translate(0px, -30px);
}

body::before, body::after, #contents-wrapper::before, #contents-wrapper::after {
  background-color: #00BCB7;
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  position: fixed;
  z-index: 500;
}

body {
  margin: 8px;
}
body::before, body::after {
  height: 8px;
  width: 100vw;
  left: 0px;
}
body::before {
  top: 0px;
}
body::after {
  bottom: 0px;
}

#contents-wrapper::before, #contents-wrapper::after {
  height: 100vh;
  width: 8px;
  top: 0px;
}
#contents-wrapper::before {
  left: 0px;
}
#contents-wrapper::after {
  right: 0px;
}

.g--section {
  padding-top: 2em;
  padding-bottom: 2em;
}

.g--default-width-container {
  margin-left: auto;
  margin-right: auto;
  width: calc(100% - 1em);
  max-width: 1024px;
}

.g--wide-container {
  margin-left: auto;
  margin-right: auto;
  width: calc(100% - 1em);
  max-width: 1280px;
}

.g--default-section-title,
.g--default-title {
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.05em;
}

.g--default-section-title {
  color: #00BCB7;
  font-size: 1.3em;
  text-align: center;
}

.g--default-title {
  color: #00BCB7;
  font-size: 1.2em;
}

.g--default-subtitle {
  margin-top: 1em;
  margin-bottom: 0.5em;
  color: #00BCB7;
  font-size: 1.15em;
  font-weight: 700;
}

.g--default-text {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
  line-height: 1.8;
  text-align: justify;
  text-justify: inter-ideograph;
}

.g--flex-parent-container {
  -js-display: flex;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.g--flex-item-set {
  width: 100%;
}

.g--flex-img {
  position: relative;
}
.g--flex-img img {
  margin-left: auto;
  margin-right: auto;
  height: auto;
  width: auto;
  max-height: 360px;
  max-width: 100%;
}

.icon-spring {
  color: #F7AAAA;
}

.icon-autumn {
  color: #CC5050;
}

.g--reservation-title, .g--reservation-linkset {
  text-align: center;
}

.g--reservation-title, .g--reservation-teltitle {
  color: #00BCB7;
}

.g--reservation-title {
  font-size: 1.25em;
  letter-spacing: 0.1em;
}

.g--reservation-linkset {
  -js-display: flex;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.g--reservation-subtext {
  font-size: 0.5em;
  letter-spacing: 0.1em;
}

.g--reservation-teltext, .g--reservation-formlink {
  -js-display: flex;
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-size: 1.5em;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

.g--reservation-teltitle {
  font-size: 0.75em;
}

.g--reservation-tel {
  font-size: 1.5em;
  transition: color .3s ease;
}
.g--reservation-tel:hover {
  color: #6a6a6a;
}

.g--reservation-tel, .g--reservation-formlink {
  color: #000;
  text-decoration: none;
  font-weight: 900;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.g--reservation-formlink {
  background-color: #FFF;
  border: 4px solid #00BCB7;
  border-radius: 12px;
  padding: .5em 0;
  width: 300px;
  transition: background-color .3s ease, color .3s ease;
}
.g--reservation-formlink:hover {
  background-color: #00BCB7;
  color: #FFF;
}

.main-visual {
  -js-display: flex;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  color: #FFF;
  text-align: center;
  text-shadow: 2px 1px 8px #000;
  position: relative;
  height: calc(100vh - 8px * 2);
  width: 100%;
}

.main-visual-textset {
  -js-display: flex;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}

.main-visual-title {
  font-family: "nikumaru", sans-serif;
  font-size: 1.5em;
  line-height: 1.5;
  letter-spacing: 0.2em;
}
.main-visual-title .subtitle {
  font-size: 0.5em;
  letter-spacing: 0.1em;
}

.main-visual-text {
  line-height: 1.5;
}

.icon-mainvisual {
  font-size: 14em;
}

.icon-scroll {
  font-size: 4em;
  margin-top: 16px;
  margin-bottom: 16px;
}

.main-visual-textset, .icon-scroll {
  position: relative;
  z-index: 10;
}

.main-visual, .main-visual-BG-overlay {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-image: url('lib/img/tour-mainvisual1.jpg?1527175056');
}

.main-visual-BG-overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  height: 100%;
  width: 100%;
}

.main-visual.BGset1, .main-visual-BG-overlay.BGset1 {
  background-image: url('lib/img/tour-mainvisual1.jpg?1527175056');
}

.main-visual.BGset2, .main-visual-BG-overlay.BGset2 {
  background-image: url('lib/img/tour-mainvisual2.jpg?1527179094');
}

.main-visual.BGset3, .main-visual-BG-overlay.BGset3 {
  background-image: url('lib/img/tour-mainvisual3.jpg?1527179124');
}

.bottoom-fixed {
  background-color: rgba(255, 255, 255, 0.9);
  border-top: 4px solid #00BCB7;
  position: fixed;
  left: 8px;
  bottom: 8px;
  z-index: 300;
  -js-display: flex;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: calc(100% - 8px * 2);
  transform: translateY(100%);
  transition: transform .3s ease;
}
.bottoom-fixed.show {
  transform: translateY(0%);
}
.bottoom-fixed .g--reservation-title {
  font-size: 1em;
}
.bottoom-fixed .g--reservation-linkset {
  -js-display: flex;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-around;
  font-size: 0.5em;
  width: 100%;
}
.bottoom-fixed .g--reservation-linkset:hover .g--reservation-tel {
  color: #6a6a6a;
}
.bottoom-fixed .g--reservation-teltext, .bottoom-fixed .g--reservation-formlink {
  width: 45%;
}
.bottoom-fixed .g--reservation-formlink {
  border-width: 2px;
}
.bottoom-fixed .g--reservation-subtext {
  display: none;
}

.lead-section .g--default-text {
  margin-top: 2em;
  margin-bottom: 1em;
  text-align: center;
}

.lead-section-subtitle span {
  display: inline-block;
  margin-top: 1em;
  margin-bottom: 1em;
}

.lead-icon-container {
  margin-left: auto;
  margin-right: auto;
  width: 80%;
}

.lead-icon-set {
  -js-display: flex;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 1em;
  margin-bottom: 1em;
}
.lead-icon-set .g--flex-img {
  margin-top: 1em;
  margin-bottom: 1em;
  width: 120px;
}
.lead-icon-set:not(:last-of-type) {
  border-bottom: 1px solid #FFF;
  padding-bottom: 1.5em;
}

.lead-icon-text {
  color: #000;
  font-family: "nikumaru", sans-serif;
  text-align: center;
}

.reservation-section {
  border-top: 4px solid #00BCB7;
  border-bottom: 4px solid #00BCB7;
}

.point-set {
  margin-top: 2em;
  margin-bottom: 2em;
}

.point-count, .point-container-title {
  color: #00BCB7;
  text-align: center;
}

.point-count, .point-num {
  display: block;
  font-size: 1.5em;
  font-weight: 900;
}

.point-num {
  border-radius: 50%;
  background-color: #00BCB7;
  color: #FFF;
  -js-display: flex;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  align-items: center;
  justify-content: center;
  position: relative;
  margin: .5em auto;
  height: 2em;
  width: 2em;
}
.point-num::before {
  border: 3px solid #00BCB7;
  border-radius: 50%;
  content: "";
  display: block;
  height: calc(100% + 3px * 2);
  width: calc(100% + 3px * 2);
  position: absolute;
  top: -6px;
  left: -6px;
}

.point-container-title {
  margin-top: 0.85em;
  margin-bottom: 0.85em;
}

.course-section {
  padding-bottom: .1px;
}

.course-subsection, .course-tour-section {
  margin-top: 2em;
  margin-bottom: 1em;
}

.course-subsection:last-of-type {
  margin-bottom: .5em;
}

.course-subsection-title {
  background-color: #00BCB7;
  color: #FFF;
  line-height: 2;
  position: relative;
  margin-left: -.5em;
  margin-top: 2em;
  margin-bottom: 1.5em;
  width: calc(100% + 1em);
  max-width: 1024px;
}
.course-subsection-title::before, .course-subsection-title::after {
  background-color: #00BCB7;
  content: "";
  display: block;
  height: 3px;
  width: 100%;
  position: absolute;
  left: 0;
}
.course-subsection-title::before {
  top: -6px;
}
.course-subsection-title::after {
  bottom: -6px;
}

.course-tour-section {
  border-bottom: 1px solid #B2B2B2;
  padding-bottom: 1em;
}
.course-tour-section .g--default-title {
  font-size: 1.35em;
}
.course-tour-section .g--flex-img {
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}

.tour-image-source {
  color: white;
  font-size: 0.75em;
  text-shadow: 0 0 5px #444444;
  position: absolute;
  bottom: 0.5em;
  right: 0.5em;
  transition: color .3s ease;
}
.tour-image-source:hover {
  color: #d0d0d0;
}

.course-tour-guide-text {
  line-height: 1.5;
}

.course-tour-recommend {
  margin-top: 1em;
  margin-bottom: 1em;
  -js-display: flex;
  display: flex;
  flex-direction: row;
  align-items: center;
}

.course-tour-recommend-iconset {
  font-size: 2.25em;
  margin-right: .2em;
}
.course-tour-recommend-iconset .icon-spring, .course-tour-recommend-iconset .icon-autumn {
  margin-right: .2em;
}

.course-tour-recommend-dl, .course-tour-price-dl {
  font-weight: 700;
  line-height: 1.8;
}

.course-tour-price-dl dt {
  float: left;
}
.course-tour-price-dl dt::after {
  content: "：";
}

.reservation-section-last {
  padding-bottom: 1em;
}
.reservation-section-last .g--default-section-title {
  line-height: 1.15;
}
.reservation-section-last .g--reservation-title {
  margin-top: 1.25em;
  margin-bottom: 1.25em;
  font-size: 1em;
}

.tour-footer a {
  display: block;
  border: 3px solid #F06030;
  background-color: #F06030;
  color: #FFF;
  font-size: 0.9em;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  padding: .25em 0;
  transition: background-color .3s ease, color .3s ease;
}
.tour-footer a:hover {
  background-color: #FFF;
  color: #F06030;
}

@media (min-width: 360px) {
  .main-visual::before, .main-visual-BG-overlay::before {
    display: block;
    position: absolute;
    top: 1em;
    right: 1em;
  }
  .main-visual.BGset1::before, .main-visual-BG-overlay.BGset1::before {
    content: "渡月橋";
  }
  .main-visual.BGset2::before, .main-visual-BG-overlay.BGset2::before {
    content: "清水寺";
  }
  .main-visual.BGset3::before, .main-visual-BG-overlay.BGset3::before {
    content: "金閣寺";
  }
}
@media (min-width: 768px) {
  .g--section {
    padding-top: 5em;
    padding-bottom: 5em;
  }

  .g--default-section-title {
    font-size: 1.8em;
  }

  .g--default-title {
    color: #00BCB7;
    font-size: 1.4em;
  }

  .g--default-subtitle {
    font-size: 1.2em;
  }

  .g--flex-parent-container {
    flex-direction: row;
    justify-content: space-between;
  }

  .g--flex-item-set {
    width: 31%;
  }

  .g--flex-img img {
    max-height: 480px;
  }

  .g--reservation-title {
    font-weight: 700;
  }

  .g--reservation-linkset {
    margin-top: 1em;
    flex-direction: row;
  }

  .g--reservation-teltext, .g--reservation-formlink {
    margin-left: 0.5em;
    margin-right: 0.5em;
    padding-left: 0.5em;
    padding-right: 0.5em;
  }

  .g--reservation-formlink {
    width: 45%;
    max-width: 400px;
  }

  .main-visual-title {
    font-size: 3em;
  }

  .main-visual-text {
    font-size: 1.2em;
  }

  .icon-mainvisual {
    font-size: 18em;
  }

  .icon-scroll {
    margin-top: 32px;
    margin-bottom: 32px;
  }

  .bottoom-fixed {
    padding-top: 0.5em;
    padding-bottom: 0.5em;
  }
  .bottoom-fixed .g--reservation-title {
    font-size: 1.25em;
  }
  .bottoom-fixed .g--reservation-linkset {
    margin-top: 0.5em;
    font-size: 0.9em;
    width: 85%;
    max-width: 640px;
  }
  .bottoom-fixed .g--reservation-teltext {
    width: auto;
  }
  .bottoom-fixed .g--reservation-subtext {
    display: block;
  }

  .lead-section-subtitle .FontSize_SS {
    display: inline-block;
    font-size: 0.6em;
    line-height: 1.15;
  }

  .lead-icon-set {
    margin-top: 3em;
    margin-bottom: 3em;
  }
  .lead-icon-set .g--flex-img {
    margin-top: 2em;
    margin-bottom: 2em;
    width: 150px;
  }
  .lead-icon-set:not(:last-of-type) {
    border-bottom: none;
    padding-bottom: 0;
  }

  .reservation-section {
    padding-top: 2em;
    padding-bottom: 2em;
  }

  .point-container {
    flex-direction: column;
  }

  .point-set {
    width: 70%;
    max-width: 768px;
  }

  .course-section {
    padding-bottom: 1em;
  }

  .course-subsection {
    margin-top: 3em;
    margin-bottom: 8em;
  }

  .course-tour-section {
    margin-top: 2em;
    margin-bottom: 3em;
  }

  .course-tour-section .g--default-title {
    font-size: 1.6em;
  }

  .course-tour-figure {
    -js-display: flex;
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
  }
  .course-tour-figure .g--flex-img {
    width: 55%;
  }

  .course-tour-figuretext {
    width: calc(45% - 1em);
  }

  .reservation-section-last {
    padding-top: 3em;
    padding-bottom: 2em;
  }
  .reservation-section-last .g--default-section-title {
    font-size: 1.5em;
  }
}
@media (min-width: 768px) and (max-height: 667px) {
  .main-visual-title {
    font-size: 1.8em;
  }

  .main-visual-text {
    font-size: 1em;
  }

  .icon-mainvisual {
    font-size: 13em;
  }

  .icon-scroll {
    margin-top: 24px;
    margin-bottom: 24px;
  }

  .bottoom-fixed .g--reservation-title {
    font-size: 1em;
  }
  .bottoom-fixed .g--reservation-linkset {
    font-size: 0.75em;
  }
  .bottoom-fixed .g--reservation-subtext {
    display: none;
  }
}
@media (min-width: 1024px) {
  .course-subsection-title {
    margin-left: 0;
    width: 100%;
  }

  .course-tour-figure .g--flex-img {
    width: 66%;
  }

  .course-tour-figuretext {
    width: calc(33% - 2em);
  }
}
@media (min-width: 1160px) {
  .point-container {
    margin-top: 3em;
    flex-direction: row;
    align-items: stretch;
  }

  .point-set {
    -js-display: flex;
    display: flex;
    flex-direction: column;
    justify-content: stretch;
    width: 32%;
  }

  .point-text {
    flex-grow: 2;
  }

  .point-container-title {
    -js-display: flex;
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    align-items: center;
    justify-content: center;
    height: 2.5em;
  }
}
