@charset "UTF-8";
/* Scss Document */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap");
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, 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 {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

ul, ol {
  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; }

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

em {
  font-style: normal; }

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; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

img, svg {
  font-size: 0;
  line-height: 0;
  vertical-align: bottom; }

a img {
  border: none; }

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal; }

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

/* Scss Document */
@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
/* General Style
/* --------------------------------------------------- */
html {
  font-size: 62.5%;
  /* 16pxに625%を掛けると100pxになるよ！ */
  height: 100%; }

body {
  width: 100%;
  height: 100%;
  color: #191919;
  background: #fff;
  text-align: center;
  line-height: 1;
  font-size: 1.4em;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 300;
  -webkit-text-size-adjust: 100%; }
  @media print, screen and (min-width: 769px) {
    body {
      font-size: 2em; } }

img {
  max-width: 100%;
  height: auto; }

.bvh {
  image-rendering: -webkit-optimize-contrast; }

/* レスポンシブルimages */
.rpimg {
  width: 100%;
  height: auto; }

/* レスポンシブルimages */
/* header                                         
/* --------------------------------------------------- */
/* contents                                           
/* --------------------------------------------------- */
.main-contents {
  line-height: 1.8;
  position: relative;
  background-color: #afceee;
  max-width: 1000px;
  margin: 0 auto;
  padding: 4em 4% 0;
  font-size: 1.4rem; }
  @media print, screen and (min-width: 769px) {
    .main-contents {
      padding: 4em 20px 0;
      font-size: calc(1.5rem + 5 * ((100vw - 768px) / (1000 - 768))); } }
  @media print, screen and (min-width: 1000px) {
    .main-contents {
      font-size: 2rem; } }
  .main-contents a {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease; }
  .main-contents a img {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease; }
  .main-contents a:hover img {
    opacity: 0.7; }
  .main-contents a, .main-contents a:visited, .main-contents a:active {
    color: #00a0e9;
    text-decoration: none; }
  .main-contents a:hover {
    text-decoration: underline; }
  .main-contents + .main-contents {
    padding-top: 3em;
    padding-bottom: 4em; }

/* footer                                           
/* --------------------------------------------------- */
#footer {
  background: #000;
  color: #fff;
  width: 100%;
  position: relative;
  text-align: center; }
  #footer .inner {
    padding: 2em 4%; }
    @media print, screen and (min-width: 769px) {
      #footer .inner {
        padding: 2em; } }

.foot-add {
  margin-bottom: 2em; }
  @media print, screen and (min-width: 769px) {
    .foot-add {
      text-align: left; } }
  .foot-add a {
    text-decoration: none; }
  .foot-add .logo img {
    image-rendering: -webkit-optimize-contrast; }

@media print, screen and (min-width: 769px) {
  .foot-nav {
    text-align: right;
    margin-right: 3em; } }
.foot-nav .i-X {
  display: inline-block;
  margin-right: 0.5em; }
.foot-nav small {
  color: #9b9b9c;
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-size: 1rem; }
  @media print, screen and (max-width: 768px) {
    .foot-nav small {
      display: block;
      margin-top: 1em; } }
  @media print, screen and (min-width: 769px) {
    .foot-nav small {
      margin-left: 1em; } }

/* page top */
#page-top {
  display: block;
  position: absolute;
  z-index: 998;
  top: 20px;
  right: 30px;
  text-decoration: none; }

/* HOME */
/* Key */
section {
  max-width: 800px;
  margin: 0 auto;
  background-color: #80b739; }

.section01 {
  position: relative;
  padding: 3em 4% 2em; }
  @media print, screen and (min-width: 769px) {
    .section01 {
      padding: 3em 1.5em 2em;
      width: calc(800 / 960 * 100%); } }
  .section01::before {
    content: "";
    display: block;
    background-color: #0080c8;
    width: 50%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1; }
  .section01 .bg-img {
    display: block;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    width: 80%; }
    @media print, screen and (min-width: 481px) and (max-width: 768px) {
      .section01 .bg-img {
        width: 50%; } }
    @media print, screen and (min-width: 769px) {
      .section01 .bg-img {
        width: calc(373 / 820 * 100%); } }
  .section01 dl {
    position: relative;
    z-index: 2;
    color: #fff;
    text-shadow: 0px 1px 6px rgba(0, 0, 0, 0.5), 0px 1px 6px rgba(0, 0, 0, 0.5);
    line-height: 1.6; }
  .section01 dt {
    color: #ecce87;
    font-size: 1.3rem;
    font-weight: 700; }
    @media print, screen and (min-width: 769px) {
      .section01 dt {
        font-size: calc(1.4rem + 3 * ((100vw - 768px) / (1000 - 768))); } }
    @media print, screen and (min-width: 1000px) {
      .section01 dt {
        font-size: 1.7rem; } }
  .section01 dd {
    font-weight: 500;
    background-image: url("../img/top/line01.png");
    background-repeat: no-repeat;
    background-position: bottom center;
    background-size: 75%;
    padding-bottom: 1em;
    margin-bottom: 1em; }
  .section01 dd:last-of-type {
    background-image: none;
    padding-bottom: 0;
    margin-bottom: 0; }

.decoration01, .decoration02 {
  width: calc(270 / 1000 * 100%);
  margin: 0 auto;
  position: absolute;
  top: 0.5em;
  z-index: 2; }
  @media screen and (max-width: 480px) {
    .decoration01, .decoration02 {
      width: 30%; } }

.decoration01 {
  left: 0; }

.decoration02 {
  right: 0; }

.section02 {
  position: relative;
  padding: 1.5em 4%; }
  @media print, screen and (min-width: 769px) {
    .section02 {
      padding: 1.5em calc(25 / 800 * 100%);
      width: calc(800 / 960 * 100%); } }
  .section02 h2 {
    color: #fff;
    font-weight: 700;
    margin-bottom: 1em; }

.btn-area {
  display: inline-grid;
  grid-row-gap: 0.3em;
  grid-template-columns: repeat(2, 50%);
  margin-bottom: 1em; }
  @media print, screen and (min-width: 769px) {
    .btn-area {
      width: calc(518 / 740 * 100%);
      grid-template-columns: repeat(4, calc(126 / 518 * 100%)); } }

.pic-area {
  display: grid;
  grid-template-columns: repeat(2, 1fr); }
  @media print, screen and (min-width: 481px) and (max-width: 768px) {
    .pic-area {
      grid-template-columns: repeat(3, 1fr); } }
  @media print, screen and (min-width: 769px) {
    .pic-area {
      grid-template-columns: repeat(5, 1fr); } }

.decoration03, .decoration04 {
  width: calc(230 / 1000 * 100%);
  margin: 0 auto;
  position: absolute;
  top: -0.5em;
  z-index: 2; }
  @media print, screen and (min-width: 481px) and (max-width: 768px) {
    .decoration03, .decoration04 {
      width: 24%;
      top: 2em; } }
  @media screen and (max-width: 480px) {
    .decoration03, .decoration04 {
      width: 18%;
      top: 2em; } }

.decoration03 {
  left: 0; }

.decoration04 {
  right: 0; }

/* Layout                                           
/* --------------------------------------------------- */
a.more {
  font-size: 1.1rem;
  display: inline-block;
  text-decoration: none;
  color: #fff;
  background-color: #0080c8;
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 84% 100%, 0% 100%);
  clip-path: polygon(0% 0%, 100% 0%, 84% 100%, 0% 100%);
  vertical-align: middle; }
  a.more em {
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
    display: inline-block;
    padding: 0.1em 2em 0.1em 1.3em;
    letter-spacing: 0; }
  a.more:active, a.more:visited {
    color: #fff; }
  a.more:hover {
    color: #00a0e9; }

/* Parts                                         
/* --------------------------------------------------- */
/* タイトル */
.h01 {
  font-size: 2rem;
  color: #fff;
  font-weight: 700;
  position: relative;
  z-index: 2;
  letter-spacing: 0.2em;
  margin-bottom: 0.5em; }
  @media print, screen and (min-width: 769px) {
    .h01 {
      font-size: calc(2.1rem + 8 * ((100vw - 768px) / (1000 - 768))); } }
  @media print, screen and (min-width: 1000px) {
    .h01 {
      font-size: 2.9rem; } }

/* Other */
.mt00 {
  margin-top: 0em !important; }

.mt05 {
  margin-top: 0.5em !important; }

.mt10 {
  margin-top: 1em !important; }

.mt15 {
  margin-top: 1.5em !important; }

.mt20 {
  margin-top: 2em !important; }

.mt25 {
  margin-top: 2.5em !important; }

.mt30 {
  margin-top: 3em !important; }

.mb00 {
  margin-bottom: 0 !important; }

.mb05 {
  margin-bottom: 0.5em !important; }

.mb10 {
  margin-bottom: 1em !important; }

.mb15 {
  margin-bottom: 1.5em !important; }

.mb20 {
  margin-bottom: 2em !important; }

.mb25 {
  margin-bottom: 2.5em !important; }

.mb30 {
  margin-bottom: 3em !important; }

.mb35 {
  margin-bottom: 3.5em !important; }

.mb40 {
  margin-bottom: 4em !important; }

.mb45 {
  margin-bottom: 4.5em !important; }

.mb50 {
  margin-bottom: 5em !important; }

.ml10 {
  margin-left: 1em !important; }

.ml20 {
  margin-left: 2em !important; }

.ml30 {
  margin-left: 3em !important; }

.mr10 {
  margin-right: 1em !important; }

.mr20 {
  margin-right: 2em !important; }

.mr30 {
  margin-right: 3em !important; }

.pt6 {
  padding-top: 6em !important; }

.font-bold {
  font-weight: 500 !important; }

.font-normal {
  font-weight: 400 !important; }

.float-left {
  float: left !important; }

.ta-l {
  text-align: left !important; }

.ta-r {
  text-align: right !important; }

.ta-c {
  text-align: center !important; }

.fsL {
  font-size: 118% !important; }

.fs2L {
  font-size: 138% !important; }

.fc01 {
  color: #FF0004 !important; }

.fc02 {
  color: #339900 !important; }

strong {
  font-weight: 500; }

.nowrap {
  white-space: nowrap !important; }

.fs13 {
  font-size: 1.1rem !important; }
  @media print, screen and (min-width: 769px) {
    .fs13 {
      font-size: 1.3rem !important; } }

.fs14 {
  font-size: 1.2rem !important; }
  @media print, screen and (min-width: 769px) {
    .fs14 {
      font-size: 1.4rem !important; } }

.hankaku {
  padding-left: 0.5em;
  display: inline-block; }

/* Line */
hr.line_01 {
  clear: both;
  border: 0;
  height: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.3);
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  margin: 5em 0; }

.sp-display {
  display: none; }
  @media screen and (max-width: 480px) {
    .sp-display {
      display: block; } }

.tb-display {
  display: block; }
  @media print, screen and (min-width: 769px) {
    .tb-display {
      display: none; } }

.tbpc-display {
  display: none; }
  @media print, screen and (min-width: 481px) and (max-width: 768px) {
    .tbpc-display {
      display: block; } }
  @media print, screen and (min-width: 769px) {
    .tbpc-display {
      display: block; } }

.pc-display {
  display: none; }
  @media print, screen and (min-width: 769px) {
    .pc-display {
      display: block; } }

.tel-link {
  text-decoration: underline !important;
  color: #fff !important;
  display: inline !important;
  border-bottom: none !important;
  padding: 0 !important;
  text-align: center !important; }
  .tel-link:before {
    content: "" !important; }
  @media print, screen and (min-width: 769px) {
    .tel-link {
      text-decoration: none !important; } }

@media (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none; } }
/* clearfix */
.inner section:after {
  content: ".";
  display: block;
  height: 0px;
  clear: both;
  line-height: 0;
  visibility: hidden;
  font-size: 0; }
