@charset "UTF-8";
/* ===============================================================
# reset
# base

# module

# layout
## header
## footer
## sns
## loading
=============================================================== */

/* ===============================================================
*
* reset
*
=============================================================== */
/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:0;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}



/* ===============================================================
*
* base
*
=============================================================== */
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 {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

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;
  empty-cells: show; }

*, *:before, *:after {
  border: 0;
  outline: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box; }


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

body {
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: #306f5a;
  font: normal 1.4rem/1.4 '游ゴシック Medium', 'Yu Gothic Medium', YuGothic, '游ゴシック', "Hiragino Kaku Gothic ProN", 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif;
  font-feature-settings : "palt" 1; }


img {
  max-width: 100%;
  line-height: 0; }

a {
  outline: none;
  text-decoration: none; }

:active,
:focus {
  outline: none; }



/* ===============================================================
*
* module
*
=============================================================== */
.l_wrapper {
  position: relative;
  height: auto;
  min-height: 100%;
  margin: 0;
  overflow: hidden;
}

.l_container {
  max-width: 872px;
  margin: 0 auto;
  padding-left: 5.333%;
  padding-right: 5.333%;
}
.l_section {
  padding: 3.5rem 0;
}

.img_100 {
  width: 100%;
  height: auto; }

.img_center {
  display: block;
  margin: 0 auto; }

.alignc { text-align: center; }

.fw_bold { font-weight: bold; }

@media screen and ( max-width: 1024px ) {
  .brsp { display: inline !important; }
  .brpc { display: none !important; }

  .pc_only { display: none !important; }
  .sp_only { display: inline-block !important; }
}

@media screen and ( min-width: 1025px ) {
  .l_container {
    padding-left: 0;
    padding-right: 0;
  }
  .l_section {
    padding: 5rem 0;
  }

  .brsp { display: none !important; }
  .brpc { display: inline !important; }

  .pc_only { display: inline-block !important; }
  .sp_only { display: none !important; }


}




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


@media screen and ( min-width: 1025px ) {
  #header {
    position: fixed;
    top: 0;
    width: 270px;
    height: 100%;
    height: 100vh;
    z-index: 5000;
  }
  #main {
    position: relative;
    width: 100%;
    height: 100%;
    max-width: 1500px;
    min-width: 1200px;
    margin: 0 auto;
  }
  #contents {
    position: relative;
    margin-left: 270px;
  }
}


/* ===============================================================
header
=============================================================== */
.gnav_list {
  text-align: center;
}
.gnav_item + .gnav_item {
  margin-top: 32px;
}

@media screen and ( max-width: 1024px ) {
  .header_logo {
    display: none;
  }
  body.is-gnav-active {
    overflow: hidden;
  }
  .gnav_toggle {
    position: fixed;
    top: 10px;
    right: 10px;
    width: 40px;
    height: 40px;
    z-index: 9001;
  }
  .gnav_toggle img {
    position: absolute;
    top: 0;
    left: 0;
  }
  .gnav_toggle_open {
    opacity: 1;
    visibility: visible;
    transition:
      opacity .4s cubic-bezier(.19,1,.22,1),
      visibility .42s cubic-bezier(.19,1,.22,1);
    z-index: 2;
  }
  .gnav_toggle_close {
    z-index: 1;
  }
  .is-gnav-active .gnav_toggle_open {
    opacity: 0;
    visibility: hidden;
    transition:
      opacity .3s cubic-bezier(.19,1,.22,1),
      visibility .32s cubic-bezier(.19,1,.22,1);
  }
  .gnav_wrap {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    height: 100vh;
    background: #306f5a;
    z-index: 9000;
  }
  .gnav_wrap {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1), visibility 0s ease 0.4s;
  }
  .is-gnav-active .gnav_wrap {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1), visibility 0s; }
  .gnav {
    height: 100%;
    margin: auto;
    padding: 50px 5.333%;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .gnav_list {
    padding: 32px;
    text-align: center;
  }
  .gnav_item {
    position: relative;
  }

}

@media screen and ( min-width: 1025px ) {
  .header {
    padding: 32px 24px;
    background: #306f5a;
  }
  .header_logo {
    margin-bottom: 32px;
  }
  .gnav_toggle {
    display: none;
  }
  .gnav_item + .gnav_item {
    margin-top: 24px;
  }
  .gnav_item a {
    -webkit-transition: opacity .4s ease;
    transition: opacity .4s ease;
  }
  .gnav_item a:hover {
    opacity: .7;
  }
}



/* ===============================================================
footer
=============================================================== */
.footer {
  width: 100%;
  margin: 40px 0 0;
}
.footer img {
  vertical-align: bottom;
}


@media screen and ( min-width: 1025px ) {
  .footer {
    margin: 100px 0 0;
  }
}






/* ===============================================================
sns share
=============================================================== */
.sns_share {
  margin: 45px auto 0;
  text-align: center;
}

.sns_share li {
  display: inline-block;
  margin: 0 5px;
  vertical-align: top;
}





/* ===============================================================
loading
=============================================================== */
.loading {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #306f5a;
  z-index: 100000; }

.loader {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  display: inline-block;
  width: 56px;
  height: 56px;
  margin: auto;
  border-radius: 50%;
  border: 3px solid transparent;
  border-top-color: #dec4a6;
  -webkit-animation: spin .9s linear infinite;
  animation: spin .9s linear infinite;
  text-align: center;
}

@keyframes spin {
  100% {
    transform: rotate(360deg);
  }
}

@-webkit-keyframes spin {
  100% {
    transform: rotate(360deg);
  }
}

