@charset "utf-8";
/*
Template Name: Surogou
Author: <a href="https://www.os-templates.com/">OS Templates</a>
Author URI: https://www.os-templates.com/
Copyright: OS-Templates.com
Licence: Free to use under our free template licence terms
Licence URI: https://www.os-templates.com/template-terms
File: Framework CSS
*/
@import url(reboot.css);
@import url(grd.css);
@import url(sample.css);
@import url('https://fonts.googleapis.com/css2?family=Cinzel&display=swap');

/* structure */
html {
  background: #fff;
  color: #000;
  font-size: 62.5%;
  overflow-y: scroll;
  overflow-x: hidden;
}

html,
body {
  margin: 0;
  padding: 0;
  line-height: 1.6;
}
body {
  font-size: 100%;
  font-feature-settings: "palt";
}
*,
*::before,
*::after {
  box-sizing: border-box;
}

.bold {
  font-weight: bold;
}

.center {
  text-align: center;
}

.right {
  text-align: right;
}

.uppercase {
  text-transform: uppercase;
}

.capitalise {
  text-transform: capitalize;
}

.hidden {
  display: none;
}

.nospace {
  margin: 0;
  padding: 0;
  list-style: none;
}

.block {
  display: block;
}

.justified {
  text-align: justify;
}

.inline * {
  display: inline-block;
}

.inline *:last-child {
  margin-right: 0;
}

.pushright li {
  margin-right: 20px;
}

.pushright li:last-child {
  margin-right: 0;
}

.borderedbox {
  border: 1px solid;
}

.overlay {
  position: relative;
  z-index: 0;
}

.overlay::after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  z-index: -1;
}

.bgded {
  height: 400px;
}

.bgded::before {
  content: "";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 400px;
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: cover;
}
.circle {
  border-radius: 50%;
  background-clip: padding-box;
}

.btn {
  display: inline-block;
  padding: 8px 18px 10px;
  text-transform: uppercase;
  border: 1px solid;
}

blockquote {
  display: block;
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  line-height: 1.4;
  z-index: 1;
}

blockquote::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  font-family: "Font Awesome\ 5 Free";
  font-weight: 900;
  font-size: 60px;
  line-height: 60px;
  content: "\f10d";
  z-index: -1;
}

.clear,.group {
  display: block;
}

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

.clear,.clear::after,.group,.group::after {
  clear: both;
}

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

.fl_left,.imgl {
  float: left;
}

.fl_right,.imgr {
  float: right;
}

img {
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  border: none;
  line-height: normal;
  vertical-align: middle;
}

.imgl {
  margin: 0 15px 10px 0;
  clear: left;
}

.imgr {
  margin: 0 0 10px 15px;
  clear: right;
}


/* Fonts
--------------------------------------------------------------------------------------------------------------- */
@font-face {
  font-family: 'YuGothicM';
  src: local(Yu Gothic Medium);
}

body,
input,
textarea,
select,
.default {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, 'YuGothicM', 'Yu Gothic', "メイリオ", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, sans-serif;
}

/* h1,h2,h3,h4,h5,h6,.heading {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, 'YuGothicM', 'Yu Gothic', "メイリオ", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, sans-serif;
} */

/* @end */
/* Forms
--------------------------------------------------------------------------------------------------------------- */
form,fieldset,legend {
  margin: 0;
  padding: 0;
  border: none;
}

legend {
  display: none;
}

label,input,textarea,select,button {
  display: block;
  resize: none;
  outline: none;
  color: inherit;
  font-size: inherit;
  font-family: inherit;
  vertical-align: middle;
}

label {
  margin-bottom: 5px;
}

:required,
:invalid {
  outline: none;
  box-shadow: none;
}

::placeholder {
  opacity: 1;
}

/* Makes sure the placeholder text is not transparent */


/* Generalise
--------------------------------------------------------------------------------------------------------------- */
h1,h2,h3,h4,h5,h6,.heading {
  margin: 0 0 20px 0;
  line-height: normal;
  font-weight: normal;
  text-transform: capitalize;
}
.heading.nospace {
  margin-bottom: 0;
}
p {
    font-size: 16px;
    font-size: 1.6rem;
}
h1 {
  font-size: 30px;
  font-size: 3.0rem;
  line-height: 1.3em;
  position: relative;
}
h2 {
    font-size: 26px;
    font-size: 2.6rem;
    line-height: 1.3;
    position: relative;
}
h3 {
    font-size: 24px;
    font-size: 2.4rem;
    position: relative;
}

h4 {
    font-size: 20px;
    font-size: 2.0rem;
    position: relative;
}

h5 {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
    position: relative;
}
h6 {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
    position: relative;
}
table {
  font-size: 16px;
  font-size: 1.6rem;
}

strong {
  font-weight: bold;
  background: linear-gradient(transparent 70%, #ffec9d 70%);
}

/* リスト */
li {
    font-size: 16px;
    font-size: 1.6rem;
    margin: 5px 0px 10px 0px;
    padding: 0 0 0 20px;
    position: relative;
}
address {
  font-style: normal;
  font-weight: normal;
}

hr {
  display: block;
  width: 100%;
  height: 1px;
  border: solid;
  border-width: 1px 0 0 0;
}

.font-xs {
  font-size: .8rem;
}

.font-x1 {
  font-size: 1.2rem;
}

.font-x2 {
  font-size: 1.8rem;
}

.font-x3 {
  font-size: 2.8rem;
}

.wrapper {
  display: block;
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  text-align: left;
  word-wrap: break-word;
}

/*
The "hoc" class is a generic class used to centre a containing element horizontally
It should be used in conjunction with a second class or ID
*/
.hoc {
  display: block;
  margin: 0 auto;
}


/* HTML 5 Overrides
--------------------------------------------------------------------------------------------------------------- */
address,article,aside,figcaption,figure,footer,header,main,nav,section {
  display: block;
  margin: 0;
  padding: 0;
}

/* flexBox
--------------------------------------------------------------------------------------------------------------- */
.flex {
  display: flex !important;
  flex-flow: row wrap;
}

.flex__nowrap {
  display: flex !important;
  flex-flow: row nowrap;
}

.flex__column {
  display: flex !important;
  flex-flow: column wrap;
}

.flex__column__nowrap {
  display: flex !important;
  flex-flow: column nowrap;
}

.flex__justify__start {
  justify-content: flex-start;
}

.flex__justify__end {
  justify-content: flex-end;
}

.flex__justify__center {
  justify-content: center;
}

.flex__justify__between {
  justify-content: space-between;
}

.flex__justify__around {
  justify-content: space-around;
}

/* Spacing
--------------------------------------------------------------------------------------------------------------- */
.btmspace-10 {
  margin-bottom: 10px;
}

.btmspace-15 {
  margin-bottom: 15px;
}

.btmspace-30 {
  margin-bottom: 30px;
}

.btmspace-50 {
  margin-bottom: 50px;
}

.btmspace-80 {
  margin-bottom: 80px;
}

.rgtspace-5 {
  margin-right: 5px;
}

.rgtspace-10 {
  margin-right: 10px;
}

.rgtspace-15 {
  margin-right: 15px;
}

.rgtspace-30 {
  margin-right: 30px;
}

.rgtspace-50 {
  margin-right: 50px;
}

.rgtspace-80 {
  margin-right: 80px;
}

.lftspace-5 {
  margin-left: 5px;
}

.lftspace-10 {
  margin-left: 10px;
}

.lftspace-15 {
  margin-left: 15px;
}

.lftspace-30 {
  margin-left: 30px;
}

.lftspace-50 {
  margin-left: 50px;
}

.lftspace-80 {
  margin-left: 80px;
}

.inspace-5 {
  padding: 5px;
}

.inspace-10 {
  padding: 10px;
}

.inspace-15 {
  padding: 15px;
}

.inspace-30 {
  padding: 30px;
}

.inspace-50 {
  padding: 50px;
}

.inspace-80 {
  padding: 80px;
}

.tpinspace-5 {
  padding-top: 5px;
}

.tpinspace-8 {
  padding-top: 8px;
}

.tpinspace-10 {
  padding-top: 10px;
}

.tpinspace-15 {
  padding-top: 15px;
}

.tpinspace-30 {
  padding-top: 30px;
}

.tpinspace-50 {
  padding-top: 50px;
}

.tpinspace-80 {
  padding-top: 80px;
}

.tpbtminspace-5 {
  padding-top: 5px;
  padding-bottom: 5px;
}

.tpbtminspace-8 {
  padding-top: 8px;
  padding-bottom: 8px;
}

.tpbtminspace-10 {
  padding-top: 10px;
  padding-bottom: 10px;
}

.tpbtminspace-15 {
  padding-top: 15px;
  padding-bottom: 15px;
}

.tpbtminspace-30 {
  padding-top: 30px;
  padding-bottom: 30px;
}

.tpbtminspace-50 {
  padding-top: 50px;
  padding-bottom: 50px;
}

.tpbtminspace-80 {
  padding-top: 80px;
  padding-bottom: 80px;
}
