@charset "UTF-8";
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	Settings color
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	Settings font family
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	CSS img path
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	Media screen settings
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	other Media screen settings
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/*=============================================================================================================
  MY mixin
=============================================================================================================*/
/* position absolute */
/*----------------------------------------------------------------------------------
●呼び出し
  p {
    @include absolute(0,0,0,0);
  }
  p.vertical {
    @include absolute($top:0, $bottom:0);
  }
----------------------------------------------------------------------------------*/
/* 透明度の指定 */
/* border-radius */
/*----------------------------------------------------------------------------------
●呼び出し
  @include radius(10);
----------------------------------------------------------------------------------*/
/* 矢印 */
/*----------------------------------------------------------------------------------
●呼び出し
  @include arrow;
  @include arrow(bottom,20,#333);
----------------------------------------------------------------------------------*/
/* 矢印アイコン */
/*----------------------------------------------------------------------------------
●呼び出し
  @include arrowlink(5);
  @include arrowlink(5,8,#666);
----------------------------------------------------------------------------------*/
/* opacity */
/*----------------------------------------------------------------------------------
●呼び出し
  @include opacity(0.5);
----------------------------------------------------------------------------------*/
/* circle*/
/*----------------------------------------------------------------------------------
●呼び出し

----------------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------------
●呼び出し
  @include leter-indent($size)
----------------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------------
●呼び出し
  @include keyframes(animate) {
    50% {
      transform: rotate(90deg);
    }
    100% {
      transform: rotate(-90deg);
    }
  }
----------------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------------
●呼び出し

----------------------------------------------------------------------------------*/
/*!
 * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)
 * Copyright 2011-2019 The Bootstrap Authors
 * Copyright 2011-2019 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
 */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

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

body {
  margin: 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  background-color: #fff;
}

[tabindex="-1"]:focus {
  outline: 0 !important;
}

hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0;
  overflow: visible;
}

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

p {
  margin-top: 0;
  margin-bottom: 1rem;
}

abbr[title],
abbr[data-original-title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  cursor: help;
  border-bottom: 0;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
}

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}

dt {
  font-weight: 700;
}

dd {
  margin-bottom: 0.5rem;
  margin-left: 0;
}

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 80%;
}

sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  text-decoration: none;
  background-color: transparent;
}

a:hover {
  text-decoration: none;
}

a:not([href]):not([tabindex]) {
  color: inherit;
  text-decoration: none;
}

a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {
  color: inherit;
  text-decoration: none;
}

a:not([href]):not([tabindex]):focus {
  outline: 0;
}

pre,
code,
kbd,
samp {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 1em;
}

pre {
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
}

figure {
  margin: 0 0 1rem;
}

img {
  vertical-align: middle;
  border-style: none;
}

svg {
  overflow: hidden;
  vertical-align: middle;
}

table {
  border-collapse: collapse;
}

caption {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  text-align: left;
  caption-side: bottom;
}

th {
  text-align: inherit;
}

label {
  display: inline-block;
  margin-bottom: 0.5rem;
}

button {
  border-radius: 0;
}

button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color;
}

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-size: inherit;
  line-height: inherit;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

select {
  word-wrap: normal;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
  cursor: pointer;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

input[type=radio],
input[type=checkbox] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0;
}

input[type=date],
input[type=time],
input[type=datetime-local],
input[type=month] {
  -webkit-appearance: listbox;
}

textarea {
  overflow: auto;
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  font-size: 1.5rem;
  line-height: inherit;
  color: inherit;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  outline-offset: -2px;
  -webkit-appearance: none;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

output {
  display: inline-block;
}

summary {
  display: list-item;
  cursor: pointer;
}

template {
  display: none;
}

[hidden] {
  display: none !important;
}


/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    site-header

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
.site-header {
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
  width: 100%;
  background-color: white;
}

.site-header-cnt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1rem 2rem;
}
@media only screen and (max-width: 640px) {
  .site-header-cnt {
    padding: 5%;
  }
}
.site-header-cnt .cnt-l .inr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.site-header-cnt .cnt-l .img {
  width: 1.75rem;
}
.site-header-cnt .cnt-l .ttl {
  font-size: 1.25rem;
  font-weight: normal;
  margin-left: 0.5rem;
  color: #000;
}
.site-header-cnt .cnt-l .ttl span {
  display: block;
  line-height: 1.2;
}
.site-header-cnt .cnt-l .ttl .t1 {
  font-size: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .site-header-cnt .cnt-l .img {
    width: min(8vw, 1.5rem);
  }
  .site-header-cnt .cnt-l .ttl {
    font-size: 5vw;
  }
  .site-header-cnt .cnt-l .ttl .t1 {
    font-size: 12px;
  }
}
.site-header-cnt .cnt-r .nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.site-header-cnt .cnt-r .nav-list-item {
  margin-right: 1rem;
}
.site-header-cnt .cnt-r .nav-list-item:last-child {
  margin-right: 0;
}
.site-header-cnt .cnt-r .nav-list-item a {
  color: #000;
  font-weight: normal;
}
@media only screen and (max-width: 1024px) {
  .site-header-cnt .cnt-r .nav-list {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 999;
    display: block;
    background-color: white;
    padding: 10%;
    width: 100vw;
    -webkit-transform: translateY(-100vh);
            transform: translateY(-100vh);
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
  }
  .site-header-cnt .cnt-r .nav-list-item {
    margin-right: 0;
    margin-bottom: 2rem;
    padding-left: 1rem;
    border-left: 2px solid #006428;
  }
  .site-header-cnt .cnt-r .nav-list.on {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.site-header-cnt .cnt-r .nav-btn {
  display: none;
  width: 3rem;
  height: 1rem;
  position: relative;
  z-index: 1;
}
.site-header-cnt .cnt-r .nav-btn .line {
  width: 100%;
  height: 1px;
  background-color: #006428;
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
}
.site-header-cnt .cnt-r .nav-btn .line1 {
  position: absolute;
  top: 0;
  left: 0;
}
.site-header-cnt .cnt-r .nav-btn .line2 {
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: 0;
}
.site-header-cnt .cnt-r .nav-btn.on .line {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media only screen and (max-width: 1024px) {
  .site-header-cnt .cnt-r .nav-btn {
    display: block;
  }
}
.site-header-cnt .cnt-r .overlay {
  display: none;
}
@media only screen and (max-width: 1024px) {
  .site-header-cnt .cnt-r .overlay {
    display: block;
    position: fixed;
    z-index: 1;
    background: rgba(0, 0, 0, 0.5215686275);
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    -webkit-transform: translateY(-100vh);
            transform: translateY(-100vh);
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
  }
  .site-header-cnt .cnt-r .overlay.on {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    kevVisual

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
.keyVisual {
  height: 100vh;
  border-left: 2.75rem solid white;
  border-right: 2.75rem solid white;
  border-bottom: 2.75rem solid white;
  position: relative;
  z-index: 1;
  overflow: hidden;
  background-image: url(../img/kv_bg.jpg);
  background-position: center;
  background-size: cover;
}
.keyVisual .cnt {
  padding: 5%;
  height: 100%;
  position: relative;
  z-index: 1;
}
.keyVisual .cnt .main {
  position: relative;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.keyVisual .cnt .main picture {
  z-index: 3;
  max-width: 1440px;
  width: 70vw;
}
.keyVisual .cnt .logo-towada {
  margin: auto;
  position: relative;
  top: -2vw;
  width: 12rem;
}
.keyVisual .cnt .uma {
  width: 172px;
}
.keyVisual .cnt .uma1 {
  position: absolute;
  z-index: 2;
  bottom: -1rem;
  left: 0;
}
.keyVisual .cnt .uma2 {
  position: absolute;
  z-index: 2;
  bottom: 0;
  right: 0;
}
.keyVisual .cnt .fuki {
  position: absolute;
  z-index: 2;
  top: 15%;
  right: 0;
  width: 15vw;
}
.keyVisual .bg {
  opacity: 0.6;
  position: absolute;
  z-index: -1;
  top: -16px;
  left: -32px;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  font-family: "Jost";
  font-weight: bold;
  color: white;
  font-size: 21vw;
  line-height: 16vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-transform: uppercase;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: 100%;
}
.keyVisual .bg .t1,
.keyVisual .bg .t3 {
  letter-spacing: 1.1vw;
}
@media only screen and (min-width: 1441px) {
  .keyVisual .cnt .main {
    max-width: 1480px;
    margin: auto;
  }
  .keyVisual .cnt .uma {
    width: 100%;
    max-width: 15vw;
  }
  .keyVisual .cnt .fuki {
    top: 10%;
    right: 4%;
    width: 20vw;
  }
}
@media only screen and (max-width: 1024px) {
  .keyVisual {
    height: min(100vh, 35rem);
  }
  .keyVisual .cnt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1320px) {
  .keyVisual {
    height: min(100vh, 50rem);
  }
}
@media only screen and (max-width: 640px) {
  .keyVisual {
    border-left: 4.8vw solid white;
    border-right: 4.8vw solid white;
    border-bottom: 4.8vw solid white;
  }
  .keyVisual .cnt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .keyVisual .cnt .main {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: auto;
    height: auto;
    margin: 1rem auto 3rem;
  }
  .keyVisual .cnt .main img {
    width: 100%;
  }
  .keyVisual .cnt .uma {
    width: 23vw;
    bottom: 0;
  }
  .keyVisual .cnt .fuki {
    width: 70%;
    margin: 0 auto;
    position: static;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .keyVisual .cnt .logo-towada {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    position: static;
    margin: 0;
    width: 9rem;
    margin: 0 auto;
  }
  .keyVisual .bg {
    top: 0;
    left: 0;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    font-size: 17vh;
  }
  .keyVisual .bg .t1,
  .keyVisual .bg .t3 {
    letter-spacing: 2.75vh;
  }
  .keyVisual .bg .t2 {
    letter-spacing: 2vh;
  }
}

.site-footer__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 5em 0;
}
.site-footer__top dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 1rem 1em;
}
@media only screen and (max-width: 768px) {
  .site-footer__top dl {
    width: 100%;
  }
}
.site-footer__top dt {
  background-color: #000;
  color: white;
  font-size: 1.2rem;
  line-height: 1;
  letter-spacing: 2px;
  text-indent: 2px;
  padding: 6px 8px 6px;
  border-radius: 3px;
}
@media only screen and (max-width: 768px) {
  .site-footer__top dt {
    margin: 0 0 1em;
  }
}
.site-footer__top dd {
  font-size: 1.5rem;
  margin: 0 0.5em;
}
@media only screen and (max-width: 768px) {
  .site-footer__top dd {
    display: block;
    width: 100%;
    text-align: center;
  }
}
.site-footer__bottom {
  background-color: #006428;
  text-align: center;
  padding: 1.7em 5% 1.9em;
}
.site-footer .copyright {
  color: white;
  font-family: "jost";
  font-size: 1rem;
  letter-spacing: 2px;
  text-indent: 2px;
}
@media only screen and (max-width: 640px) {
  .site-footer .copyright {
    font-size: min(3vw, 1rem);
    letter-spacing: 1px;
    text-indent: 1px;
  }
}

.pt-btn {
  position: fixed;
  z-index: 9999;
  right: 5%;
  bottom: -8rem;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background-color: #006428;
  background-image: url(../img/arrow_top.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 40%;
  -webkit-transition: 0.2s all;
  transition: 0.2s all;
  border: none;
}
@media only screen and (max-width: 640px) {
  .pt-btn {
    width: 4rem;
    height: 4rem;
    right: 3%;
    bottom: -6rem;
  }
}
.pt-btn:hover {
  background-color: rgb(0, 74.5, 29.8);
}
.pt-btn:active {
  -webkit-transform: scale(0.9);
          transform: scale(0.9);
}
.pt-btn.active {
  bottom: 7rem;
}
@media only screen and (max-width: 640px) {
  .pt-btn.active {
    bottom: 6vh;
  }
}

/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

common

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
html {
  font-size: 16px;
  width: 100%;
  height: -webkit-fill-available;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  zoom: 1;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-touch-callout: none;
}
*:focus {
  outline: none;
}

*:before,
*:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  zoom: 1;
}

::-moz-selection {
  background: rgba(255, 255, 202, 0.4);
}

::selection {
  background: rgba(255, 255, 202, 0.4);
}

body {
  color: #000;
  font-family: "Zen Kaku Gothic New", "Yu Gothic", YuGothic, -apple-system, BlinkMacSystemFont, メイリオ, Meiryo, Helvetica, sans-serif;
  word-break: normal;
  vertical-align: baseline;
  text-align: justify;
  text-justify: inter-ideograph;
  line-height: 1.4;
  margin: 0;
  font-weight: normal;
  height: 100%;
  background-color: #f7fff4;
}

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,
input,
textarea {
  letter-spacing: 0.1rem;
}

figure img {
  width: 100%;
  vertical-align: bottom;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

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

dl dt,
dl dd {
  margin: 0;
  padding: 0;
}

a {
  text-decoration: none;
}
a[href^=tel] {
  color: inherit;
  text-decoration: none;
}
a:hover {
  cursor: pointer;
}

em,
strong,
b {
  font-style: normal;
}

figure {
  margin: 0;
  padding: 0;
}

*:focus,
*:active {
  outline: none !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.7;
}

p {
  position: relative;
  z-index: 1;
}

.clTxt {
  text-align: center;
}
.clTxt-inr {
  display: inline-block;
  text-align: left;
}

.body {
  overflow: hidden;
}

.section {
  margin: 4% auto;
}

.container {
  max-width: 1200px;
  margin: auto;
}
.container-large {
  max-width: 1600px;
  margin: auto;
}

.main-ttl {
  color: #006428;
  position: relative;
  z-index: 1;
}
.main-ttl::after {
  content: "About";
  pointer-events: none;
  width: 150%;
  line-height: 1.2;
  text-align: right;
  font-size: 16rem;
  color: #f4fff3;
  font-family: "jost";
  position: absolute;
  top: 50%;
  right: -11%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: -1;
  white-space: nowrap;
  font-style: italic;
}
.main-ttl .t1 {
  font-size: 3.2rem;
}
.main-ttl .t2 {
  font-size: 2rem;
}
@media only screen and (max-width: 1024px) {
  .main-ttl::after {
    right: 5%;
    font-size: 10rem;
  }
  .main-ttl .t1 {
    font-size: 2.8rem;
  }
  .main-ttl .t2 {
    font-size: 1.5rem;
  }
}
@media only screen and (max-width: 640px) {
  .main-ttl::after {
    font-size: 24vw;
    right: 0;
  }
  .main-ttl span {
    display: block;
  }
  .main-ttl .t1 {
    font-size: 7vw;
    line-height: 120%;
  }
  .main-ttl .t2 {
    font-size: 1rem;
  }
}

.text {
  margin: 1rem auto 1rem;
  line-height: 1.8;
  font-size: 1.125rem;
}
.text strong {
  font-weight: bold;
  font-size: 1.125em;
  text-decoration: underline;
}
@media only screen and (max-width: 1024px) {
  .text {
    font-size: 1rem;
    margin: 1rem auto 1rem;
  }
}

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

.main section:nth-child(odd) {
  padding: 6% 0;
}
.main section:nth-child(odd) .main-ttl::after {
  color: #ebffe9;
}
.main section:nth-child(even) .container {
  padding: 6% 0;
}
.main section:nth-child(2n) {
  background-color: white;
}
@media only screen and (max-width: 1024px) {
  .main section:nth-child(odd) {
    padding: min(20%, 4rem) 5%;
  }
  .main section:nth-child(even) .container {
    padding: min(20%, 4rem) 5%;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1320px) {
  .main section:nth-child(odd) {
    padding: min(20%, 5rem) 5%;
  }
  .main section:nth-child(even) .container {
    padding: min(20%, 5rem) 5%;
  }
}
@media only screen and (max-width: 640px) {
  .main section:nth-child(odd) {
    padding: 15% 5%;
  }
  .main section:nth-child(even) .container {
    padding: 15% 5%;
  }
}

.notice {
  border-radius: 1rem;
  overflow: hidden;
  background: white;
  margin: 7% auto 1rem;
  text-align: center;
}
.notice .ttl {
  background-color: #e50012;
  color: white;
  padding: 2%;
  font-size: min(10vw, 4rem);
}
.notice p {
  padding: 4%;
  line-height: 2;
  font-size: 1.25rem;
  margin-bottom: 0;
}
.notice p strong {
  font-size: 1.5rem;
  text-decoration: underline;
}
@media only screen and (max-width: 640px) {
  .notice {
    margin: 10% 5% -1rem;
  }
  .notice .ttl {
    font-size: min(7vw, 2rem);
  }
  .notice p {
    font-size: 1rem;
    text-align: justify;
    line-height: 1.6;
    padding: 5%;
  }
  .notice p strong {
    font-size: 1.25rem;
  }
}

.faq .main-ttl::after {
  content: "FAQ";
}

.retailer .main-ttl::after {
  content: "Retailer";
}

.btn-box {
  line-height: 1;
  padding: 1rem 2rem;
  border: 2px solid #006428;
  font-weight: 500;
  color: #006428;
  margin-top: 1rem;
  display: inline-block;
  border-radius: 2rem;
  background: white;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.btn-box:hover {
  background-color: #006428;
  color: white;
}

/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    about

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
.about .img {
  margin-bottom: 5rem;
}

.ticket-desc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.ticket-desc p {
  margin: 0;
}
.ticket-desc .cnt {
  -ms-flex-preferred-size: 47%;
      flex-basis: 47%;
}
.ticket-desc .cnt .breakdown {
  margin-top: 2rem;
  text-align: center;
  font-size: 3rem;
  font-weight: bold;
}
.ticket-desc .cnt .breakdown .price2 {
  font-size: 1.5rem;
}
.ticket-desc .cnt .breakdown.b {
  color: #e50012;
}
.ticket-desc .cnt .breakdown.a {
  color: #006428;
}
.ticket-desc .cnt .text a {
  color: #ff7e53;
  text-align: center;
  font-weight: bold;
}
@media only screen and (max-width: 640px) {
  .ticket-desc .cnt .breakdown .price2 {
    font-size: 1rem;
  }
}
.ticket-desc .ttl {
  margin: 1.5rem auto;
  text-align: center;
  position: relative;
  z-index: 1;
  font-size: 2rem;
}
.ticket-desc .ttl::before {
  content: "";
  width: 100%;
  height: 2px;
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.ticket-desc .ttl span {
  display: inline-block;
  padding: 0 2rem;
  background-color: white;
}
.ticket-desc .ttl.b {
  color: #e50012;
}
.ticket-desc .ttl.b::before {
  background-color: #e50012;
}
.ticket-desc .ttl.a {
  color: #006428;
}
.ticket-desc .ttl.a::before {
  background-color: #006428;
}
@media only screen and (max-width: 1024px) {
  .ticket-desc {
    display: block;
    margin-top: 2rem;
    margin-bottom: -8%;
  }
  .ticket-desc .ttl {
    font-size: 1.5rem;
  }
  .ticket-desc .cnt {
    margin-bottom: 15%;
  }
  .ticket-desc .cnt .breakdown {
    font-size: 8vw;
    margin-top: 1rem;
  }
}

.ticket-total {
  margin: 4rem auto;
  text-align: center;
  font-weight: bold;
}
.ticket-total .inr {
  background-color: #ffffca;
  display: inline-block;
  padding: 1.5rem 4rem;
  border-radius: 5rem;
  color: #e50012;
}
.ticket-total .inr .desc {
  display: block;
}
.ticket-total .inr .price span {
  font-size: 2rem;
}
.ticket-total .inr .price .num {
  font-size: 4rem;
  line-height: 1;
}
@media only screen and (max-width: 640px) {
  .ticket-total {
    margin-top: 0;
  }
  .ticket-total .inr {
    width: 100%;
  }
  .ticket-total .inr .price span {
    font-size: 1.25rem;
  }
  .ticket-total .inr .price .num {
    font-size: 10vw;
  }
}

/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    period

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
.period {
  margin-bottom: -2rem;
}
.period .main-ttl::after {
  content: "Period";
}
.period .text {
  text-align: center;
  color: #006428;
}
@media only screen and (max-width: 640px) {
  .period .text {
    text-align: left;
    line-height: 1.6;
  }
}

.period-date {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 4%;
  border-left: 12px solid #e50012;
  border-right: 12px solid #e50012;
  padding: 0 4rem;
  color: #e50012;
}
.period-date span {
  line-height: 1;
}
.period-date p {
  margin-bottom: 0;
}
.period-date .date {
  font-weight: bold;
  width: 100%;
  text-align: center;
}
.period-date .date span {
  font-size: 2rem;
}
.period-date .date .num {
  font-size: 3rem;
  margin: 0 0.8%;
}
.period-date .arrow {
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 9.5px 0 9.5px 13px;
  border-color: transparent transparent transparent #e50012;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  margin: 0 2rem;
  position: relative;
  top: 8px;
}
@media only screen and (max-width: 1024px) {
  .period-date {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0;
    border-left-width: 8px;
    border-right-width: 8px;
  }
  .period-date .date span {
    font-size: min(4vw, 2rem);
  }
  .period-date .date .num {
    font-size: min(8vw, 4rem);
    margin: 0;
  }
  .period-date .arrow {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    margin: 1rem 0;
    top: 0;
  }
}

.period-check {
  background-color: white;
  padding: 5% 5% 4%;
  margin: 4rem auto;
  border: 2px solid #ffda2a;
  border-radius: 2rem;
  text-align: center;
}

.check {
  font-size: 2rem;
  margin-bottom: 2rem;
}
.check .inr {
  display: inline-block;
  position: relative;
  z-index: 1;
}
.check .inr img {
  position: absolute;
  z-index: -1;
  top: -1.5rem;
  left: -5rem;
  width: 6rem;
}
@media only screen and (max-width: 640px) {
  .check {
    font-size: 5vw;
  }
  .check .inr img {
    top: -77%;
    left: -22%;
    width: 4rem;
  }
}

.check-box {
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: -1rem;
}
.check-box .change-date {
  font-size: 3em;
  font-weight: bold;
  color: #e85a4f;
  margin-right: 0.5rem;
}
.check-box strong {
  text-decoration: underline;
}
@media only screen and (max-width: 640px) {
  .check-box .change-date {
    font-size: 6.5vw;
  }
  .check-box strong {
    margin-top: 1rem;
  }
}

.change-date-br {
  display: none;
}
@media only screen and (max-width: 640px) {
  .change-date-br {
    display: block;
  }
}

/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    exchange

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
.exchange .main-ttl::after {
  content: "Exchange";
}
.exchange .sub-ttl {
  text-align: center;
  color: #006428;
  font-size: 2rem;
  font-weight: bold;
}

.post-office {
  margin-top: 2rem;
}

.post-office-table {
  width: 100%;
}
.post-office-table thead th {
  background-color: #006428;
  padding: 1.5rem;
  text-align: center;
  color: white;
}
.post-office-table thead th.stock {
  width: 6rem;
}
.post-office-table thead th.name {
  width: 15rem;
}
.post-office-table tbody td {
  padding: 1rem;
}
.post-office-table tbody td.addr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.post-office-table tbody td.time {
  text-align: center;
}
.post-office-table tbody td.time .small {
  font-size: 0.8rem;
  color: #e50012;
  font-weight: bold;
}
.post-office-table tbody td.stock {
  text-align: center;
}
.post-office-table tbody td a {
  font-size: 12px;
  padding: 1rem;
  background: #efefef;
  color: #000;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.post-office-table tbody td a:hover {
  background-color: #ff7e53;
  color: white;
}
.post-office-table tbody tr {
  border-bottom: 1px solid #006428;
  background-color: white;
}
.post-office-table tbody tr:nth-child(odd) {
  background-color: #f7fff4;
}
.post-office-table tbody tr.disable {
  background-color: #efefef;
  color: #b7b7b7;
}
.post-office-table tbody tr.disable a {
  color: inherit;
}
.post-office-table tbody tr.disable .small {
  color: #b7b7b7;
}
@media only screen and (max-width: 1024px) {
  .post-office-table tbody td a {
    margin-left: 0.5rem;
  }
}
@media only screen and (max-width: 640px) {
  .post-office-table thead {
    display: none;
  }
  .post-office-table tbody tr {
    display: block;
    width: 100%;
    margin-bottom: 1rem;
  }
  .post-office-table tbody tr:nth-child(odd) {
    background-color: white;
  }
  .post-office-table tbody td {
    display: block;
    width: 100%;
    text-align: left;
  }
  .post-office-table tbody td:first-child {
    background-color: #006428;
    color: white;
    font-size: 1.25rem;
    font-weight: bold;
    text-align: center;
  }
  .post-office-table tbody td.stock::before {
    content: "在庫状況";
    vertical-align: middle;
  }
  .post-office-table tbody td.stock::after {
    vertical-align: middle;
  }
  .post-office-table tbody td.batsu, .post-office-table tbody td.sankaku, .post-office-table tbody td.maru {
    border-top: solid 1px #eee;
  }
  .post-office-table tbody td a {
    display: block;
  }
  .post-office-table tbody td.addr {
    display: block;
  }
  .post-office-table tbody td.addr::before {
    content: "住所：";
  }
  .post-office-table tbody td.addr a {
    margin-top: 1rem;
    max-width: 50%;
    text-align: center;
  }
  .post-office-table tbody td.time {
    text-align: left;
    border-top: 1px solid #efefef;
  }
  .post-office-table tbody td.time::before {
    content: "受付時間：";
  }
}

.ticket-stock {
  margin-bottom: 1rem;
}

.maru, .batsu, .sankaku {
  text-align: center;
  margin-right: 0.25rem;
}
.maru::after, .batsu::after, .sankaku::after {
  content: "○";
  line-height: 1;
  padding: 0.2rem;
  color: #006428;
  font-weight: bold;
}

.sankaku::after {
  content: "△";
  color: #ff7e53;
}

.batsu::after {
  content: "×";
  color: #e50012;
}

/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    news

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
.news .main-ttl::after {
  content: "News";
}

.news-cnt {
  margin-top: 4rem;
}
@media only screen and (max-width: 640px) {
  .news-cnt {
    margin-top: 3rem;
  }
}

.news-single {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: white;
  border: 1px solid #ddd;
  padding: 1rem;
  margin-top: -1px;
}
.news-single .date {
  margin: 0;
  min-width: 8rem;
}
.news-single .date time {
  display: block;
}
.news-single .ttl {
  margin-bottom: 0;
  padding: 1.25rem 2rem;
  font-weight: bold;
  font-size: 1rem;
  color: #006428;
}
.news-single .ttl + p {
  margin-top: -0.75rem;
  padding: 0 2rem;
  margin-bottom: 1.25rem;
}
.news-single .ttl a {
  text-decoration: underline;
  color: inherit;
}
.news-single .time {
  font-weight: normal;
  -ms-flex-preferred-size: 10%;
      flex-basis: 10%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding: 1.25rem;
}
.news-single .news-text {
  border-left: 1px solid #ddd;
}
.news-single .news-text__table {
  margin: 1.25rem 2rem;
  padding: 1.6rem 2rem;
  background: #F6F6F6;
  font-size: 14px;
}
@media only screen and (max-width: 640px) {
  .news-single .news-text__table {
    margin: 1.25rem;
    padding: 1.6rem;
  }
}
.news-single .news-text__table dd {
  margin-top: 0.5rem;
}
@media only screen and (max-width: 640px) {
  .news-single {
    display: block;
  }
  .news-single .time {
    display: block;
    border-right: none;
    padding-bottom: 1.25rem;
  }
  .news-single .ttl {
    font-size: 1rem;
    padding: 0 1.25rem 1.25rem;
  }
  .news-single .ttl + p {
    padding: 0 1.25rem;
    margin-bottom: 1.25rem;
  }
  .news-single .news-text {
    border-left: none;
  }
}

/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    dlArea

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
.dlArea .main-ttl::after {
  content: "Document";
}

.dl-list {
  margin-top: 3rem;
  margin-left: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: 2rem;
  -webkit-column-gap: 4rem;
     -moz-column-gap: 4rem;
          column-gap: 4rem;
}
.dl-list .list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: bold;
  font-size: 2rem;
  color: #006428;
  text-align: left;
  padding-left: 1rem;
  border-left: 4px solid;
}
.dl-list .list-item span {
  vertical-align: middle;
}
.dl-list .list-item .btn {
  background-color: white;
  line-height: 1;
  padding: 1rem 2rem;
  font-size: 1rem;
  border: 2px solid #006428;
  border-radius: 4rem;
  color: #006428;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  display: inline-block;
}
.dl-list .list-item .btn::before {
  content: "PDFを見る";
}
.dl-list .list-item .btn.disable {
  color: #9a9a9a;
  background-color: #ddd;
  border: none;
  cursor: initial;
  font-weight: normal;
}
.dl-list .list-item .btn.disable::before {
  content: "準備中";
}
.dl-list .list-item .btn.disable:hover {
  background: #ddd;
  color: #9a9a9a;
}
.dl-list .list-item .btn:hover {
  background-color: #006428;
  color: white;
}
@media only screen and (max-width: 640px) {
  .dl-list {
    display: block;
    margin-left: 0;
  }
  .dl-list .list-item {
    font-size: 1.5rem;
    text-align: left;
    margin-right: 0;
    margin-bottom: 1.5rem;
    display: block;
    padding-left: 8%;
  }
  .dl-list .list-item .txt {
    display: block;
    margin-bottom: 0.5rem;
  }
  .dl-list .list-item .btn {
    font-size: 0.75rem;
  }
}

/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    contactInfo

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
.contact .main-ttl::after {
  content: "Contact";
}

.contact-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 2rem;
  margin-top: 2%;
  margin-bottom: -4%;
  gap: 2rem;
}
.contact-list .list-item {
  -ms-flex-preferred-size: 48%;
      flex-basis: 48%;
  text-align: center;
}
.contact-list .list-item h2 {
  text-align: center;
  color: #006428;
  background-color: #f7fff4;
  padding: 1rem;
}
.contact-list .list-item h3 {
  font-size: 1.25rem;
}
.contact-list .list-item p {
  font-weight: normal;
}
.contact-list .list-item:nth-child(3) .sub {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.contact-list .list-item:nth-child(3) .item {
  -ms-flex-preferred-size: 48%;
      flex-basis: 48%;
  padding: 1.5rem;
}
@media only screen and (max-width: 1024px) {
  .contact-list {
    display: block;
    margin-top: 4%;
  }
  .contact-list .list-item:nth-child(3) .sub {
    display: block;
  }
  .contact-list .list-item:nth-child(3) .sub .item:first-child {
    border-bottom: 1px solid #ddd;
  }
}
/*# sourceMappingURL=maps/style.css.map */