@charset "UTF-8";
/* --

 common.css

 ------------------------------------

 アイコンはアイコンフォント「Font Awesome」を使用。
 https://fontawesome.com/

 ブレイクポイント
 ・タブレット：1024px
 ・スマホ：768px

-- */
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+JP:100,300,400,500,700,900&display=swap&subset=japanese);
@import url(https://fonts.googleapis.com/css?family=Noto+Serif+JP:200,300,400,500,600,700,900&display=swap&subset=japanese);
/* --

 * clearfix............float解除
 * font-size...........フォントサイズ指定（px指定はIE8対策）
 * moving-base.........基本のアニメーション
 * FontAwesome.........アイコンフォント使用（FontAwesome）
 * opacity.............透明度設定（IE対応含む）
 * tablet..............ブレイクポイント設定（タブレット）
 * mobile..............ブレイクポイント設定（スマホ）

 ------------------------------------

 * scroll..............スクロールアイコンのスタイル


-- */
.lyt-img:after {
  content: "";
  display: table;
  clear: both; }

/* --

 keyframes - アニメーションキーフレーム集

 ------------------------------------

 * loading.............ローディングアイコンのアニメーション

-- */

@-webkit-keyframes loading {
  0%, 80%, 100% {
    -webkit-transform: scale(0); }
  40% {
    -webkit-transform: scale(1); } }

@keyframes loading {
  0%, 80%, 100% {
    -webkit-transform: scale(0);
    transform: scale(0); }
  40% {
    -webkit-transform: scale(1);
    transform: scale(1); } }

@-webkit-keyframes slider-zoomin {
  0% {
    opacity: 0; }
  8% {
    opacity: 1; }
  17% {
    opacity: 1; }
  25% {
    opacity: 0;
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
    z-index: 9; }
  100% {
    opacity: 0; } }

@keyframes slider-zoomin {
  0% {
    opacity: 0; }
  8% {
    opacity: 1; }
  17% {
    opacity: 1; }
  25% {
    opacity: 0;
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
    z-index: 9; }
  100% {
    opacity: 0; } }

/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, 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,
main, footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

h1, h2, h3, h4, h5, h6 {
  font-weight: normal; }

body {
  line-height: 1; }

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

nav ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none; }

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 5px double #fff;
  margin: 1em 0 2em;
  padding: 0; }

input, select {
  vertical-align: middle; }

select {
  appearance: none;
  -webkit-appearance: none;
  -mox-appearance: none;
  -moz-appearance: none; }

select::-ms-expand {
  display: none; }

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

/*-----------------------------------

	$base

-----------------------------------*/
html {
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  font-size: 62.5%;
  min-width: 100%;
  min-height: 100%; }

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

body {
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: .025em; }
  @media screen and (max-width: 1024px) {
    body {
      min-width: 100%; } }

/*-----------------------------------

	$module

-----------------------------------*/
/* layout */
.inner {
  margin-left: auto;
  margin-right: auto;
  width: 96%;
  max-width: 1280px;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease; }
  @media screen and (max-width: 1024px) {
    .inner {
      max-width: none; } }

.lyt-box {
  padding: 8em 0 6em; }
  @media screen and (max-width: 1024px) {
    .lyt-box {
      padding: 6em 0 4em; } }
  @media screen and (max-width: 640px) {
    .lyt-box {
      padding: 3em 0; } }
  .secondary .lyt-box {
    padding: 6em 0 5em; }
    @media screen and (max-width: 1024px) {
      .secondary .lyt-box {
        padding: 4em 0 2em; } }
    @media screen and (max-width: 640px) {
      .secondary .lyt-box {
        padding: 3em 0; } }
  .lyt-box {
    background: #ffffff; }
  .lyt-box.bg-polkadots {
    background: url("../img/bg.jpg") repeat 100% 0; }

/* 表示・非表示 */
.only-pc {
  display: block; }
  @media screen and (max-width: 1024px) {
    .only-pc {
      display: none; } }
  @media screen and (max-width: 640px) {
    .only-pc {
      display: none; } }

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

@media screen and (max-width: 640px) {
  .more-tb {
    display: none; } }

.under-tb {
  display: none; }
  @media screen and (max-width: 1024px) {
    .under-tb {
      display: block; } }

.nodisplay {
  display: none; }

/* Heading */
/* Text */
a {
  color: #000;
  text-decoration: none;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease; }
  a img {
    opacity: 1;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease; }
  a:hover {
    color: #2fbad0; }
    a:hover img {
      opacity: .7; }

p {
  margin: 0; }

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

.img-right .image {
  float: right; }

.img-right .text {
  float: left; }

.img-left .image {
  float: left; }

.img-left .text {
  float: right; }

/* Btn */
.btn-01 a {
  display: block;
  width: 100%;
  max-width: 400px;
  background: #000;
  color: #fff;
  font-weight: 700;
  font-size: 24px;
  font-size: 2.4rem;
  text-align: center;
  padding: .5em;
  border: 3px solid #0000;
  border-radius: 50px;
  margin: auto;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease; }
  .btn-01 a span::before {
    display: inline-block;
    content: "\f35a";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: .5em; }
  @media screen and (max-width: 1024px) {
    .btn-01 a {
      font-size: 20px;
      font-size: 2rem; } }
  @media screen and (max-width: 640px) {
    .btn-01 a {
      font-size: 18px;
      font-size: 1.8rem; } }
  .first-day .btn-01 a,
  .second-day .btn-01 a {
    margin-top: 1.5em;
    color: #000;
    border: 3px solid #000; }
  .first-day .btn-01 a {
    background: #fff000; }
  .second-day .btn-01 a {
    background: #2fbad0; }
  .cta .btn-01 a {
    max-width: 540px;
    padding: .3em;
    font-size: 32px;
    font-size: 3.2rem; }
    @media screen and (max-width: 1024px) {
      .cta .btn-01 a {
        font-size: 22px;
        font-size: 2.2rem;
        padding: .5em; } }
  .btn-01 a:hover {
    opacity: 0.5; }

/* List */
li {
  list-style: none; }

/* width */
.w100 {
  width: 100%; }

/* margin */
.mb0 {
  margin-bottom: 0px !important; }

.pb0 {
  padding-bottom: 0px !important; }

.mb5 {
  margin-bottom: 5px !important; }

.pb5 {
  padding-bottom: 5px !important; }

.mb10 {
  margin-bottom: 10px !important; }

.pb10 {
  padding-bottom: 10px !important; }

.mb15 {
  margin-bottom: 15px !important; }

.pb15 {
  padding-bottom: 15px !important; }

.mb20 {
  margin-bottom: 20px !important; }

.pb20 {
  padding-bottom: 20px !important; }

.mb25 {
  margin-bottom: 25px !important; }

.pb25 {
  padding-bottom: 25px !important; }

.mb30 {
  margin-bottom: 30px !important; }

.pb30 {
  padding-bottom: 30px !important; }

.mb35 {
  margin-bottom: 35px !important; }

.pb35 {
  padding-bottom: 35px !important; }

.mb40 {
  margin-bottom: 40px !important; }

.pb40 {
  padding-bottom: 40px !important; }

.mb45 {
  margin-bottom: 45px !important; }

.pb45 {
  padding-bottom: 45px !important; }

.mb50 {
  margin-bottom: 50px !important; }

.pb50 {
  padding-bottom: 50px !important; }

/*-----------------------------------

	$header

-----------------------------------*/
.header {
  background: #fff; }
  .header__inner {
    position: relative;
    min-height: 120px;
    margin: 0 5.5%; }
  .header__logo {
    width: 45%;
    max-width: 357px;
    margin: 0;
    padding: 0;
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%); }
    .header__logo img {
      width: 100%;
      max-width: 357px;
      height: auto; }
  .header__lang {
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%); }
    .header__lang ul {
      font-size: 0; }
      .header__lang ul li {
        display: inline-block;
        font-size: 16px;
        font-size: 1.6rem;
        font-weight: 700; }
        .header__lang ul li:not(:first-child)::before {
          content: "／";
          margin: 0 1em; }

/*-----------------------------------

	$header - tablet

-----------------------------------*/
@media screen and (max-width: 768px) {
  .header__inner {
    min-height: 70px;
    margin: 0 4%; }
  .header__logo {
    width: 45%;
    max-width: 357px;
    margin: 0;
    padding: 0;
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%); }
    .header__logo img {
      width: auto;
      max-width: none;
      height: 30px; } }

/*-----------------------------------

	$header - mobile

-----------------------------------*/

/*-----------------------------------

	$footer

-----------------------------------*/
.footer {
  background: #2fbad0;
  color: #fff; }
  .footer .inner {
    padding: 5em 0 3.6em;
    text-align: center; }
  .footer a {
    color: #fff; }
    .footer a:hover {
      color: #ce8f53; }
  .footer__ttl {
    font-size: 28px;
    font-size: 2.8rem;
    font-weight: 700;
    padding-bottom: .3em; }
    .footer__ttl br {
      display: none; }
  .footer__txt {
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: 700;
    padding-bottom: .5em; }
  .footer__address {
    font-size: 16px;
    font-size: 1.6rem;
    padding-bottom: 1em; }
  .footer__tel, .footer__fax, .footer__mail {
    font-size: 30px;
    font-size: 3rem;
    font-weight: 700; }
  .footer__tel a::before {
    display: inline-block;
    content: "";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: .3em; }
  .footer__tel a::after {
    content: "／";
    margin-left: .6em;
    margin-right: .6em; }
  .footer__fax::before {
    display: inline-block;
    content: "";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: .3em; }
  .footer__mail a::before {
    display: inline-block;
    content: "";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: .3em; }
  .footer__copyright {
    text-align: center;
    font-size: 14px;
    font-size: 1.4rem;
    padding: .5em;
    background: #1d2a60;
    color: #fff;
    background: #000; }
  .footer #pagetop {
    width: 50px;
    height: 50px;
    position: fixed;
    right: 2%;
    bottom: 12%;
    background: #1d2a60;
    border-radius: 50%;
    display: table;
    opacity: 0.6;
    z-index: 999; }
    .footer #pagetop a {
      color: #fff;
      display: table-cell;
      text-align: center;
      vertical-align: middle;
      text-decoration: none; }
      .footer #pagetop a::before {
        display: inline-block;
        content: "";
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        font-size: 24px;
        font-size: 2.4rem; }

/*-----------------------------------

	$footer

-----------------------------------*/
@media screen and (max-width: 1024px) {
  .footer .inner {
    padding: 3em 0 2em; }
  .footer__ttl {
    font-size: 24px;
    font-size: 2.4rem; }
  .footer__txt {
    font-size: 20px;
    font-size: 2rem; }
  .footer__tel, .footer__fax, .footer__mail {
    font-size: 24px;
    font-size: 2.4rem; } }

@media screen and (max-width: 768px) {
  .footer .inner {
    padding: 3em 0 2em; }
  .footer__ttl {
    font-size: 22px;
    font-size: 2.2rem; }
  .footer__txt {
    font-size: 18px;
    font-size: 1.8rem; }
  .footer__tel, .footer__fax, .footer__mail {
    font-size: 22px;
    font-size: 2.2rem; } }

/*-----------------------------------

	$footer

-----------------------------------*/
@media screen and (max-width: 640px) {
  .footer .inner {
    padding: 3em 0 2em; }
  .footer__ttl {
    padding-bottom: 1em; }
    .footer__ttl br {
      display: block; }
  .footer__txt {
    font-size: 16px;
    font-size: 1.6rem; }
  .footer__tel, .footer__fax {
    font-size: 20px;
    font-size: 2rem; }
  .footer__tel a {
    display: block; }
    .footer__tel a::after {
      content: "";
      margin-left: 0;
      margin-right: 0; }
  .footer__fax {
    display: block; }
  .footer__mail a {
    font-size: 18px;
    font-size: 1.8rem; } }

/*-----------------------------------

	$flame

-----------------------------------*/
.flame {
  background: #fff;
  border: 2px solid #1d2a60;
  padding: 3.2em; }
  @media screen and (max-width: 1024px) {
    .flame {
      padding: 2em; } }
  @media screen and (max-width: 640px) {
    .flame {
      padding: 1em; } }
  .flame__ttl {
    background: url("../img/title.png") no-repeat;
    background-size: contain;
    color: #000;
    width: 100%;
    max-width: 400px;
    text-align: center;
    margin: -4em auto 0;
    font-size: 30px;
    font-size: 3rem;
    line-height: 6em;
    margin-bottom: 2em;
    position: relative;
    height: 5em; }
    .secondary .flame__ttl {
      margin-top: 0; }
    @media screen and (max-width: 1024px) {
      .flame__ttl {
        font-size: 24px;
        font-size: 2.4rem;
        margin-top: -2.6em;
        margin-bottom: 1.4em; } }
    @media screen and (max-width: 640px) {
      .flame__ttl {
        max-width: 260px;
        font-size: 20px;
        font-size: 2rem;
        margin-top: -2.5em; } }

/*-----------------------------------

	$cta

-----------------------------------*/
.cta {
  padding: 4em 0 2em;
  background: #efeec5;
  text-align: center; }
  .cta .btn-01 {
    padding: 3em 2em; }
  .cta__txt {
    font-size: 18px;
    font-size: 1.8rem; }
  .cta__note {
    font-size: 14px;
    font-size: 1.4rem; }

/*-----------------------------------

	$cta - tablet

-----------------------------------*/
@media screen and (max-width: 1024px) {
  .cta {
    padding: 3em 0 2em; }
    .cta .btn-01 {
      padding: 2em 1em; }
    .cta__txt {
      font-size: 16px;
      font-size: 1.6rem; } }
