<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "UTF-8";
/*
@mixin font($type) {
  @if ($type == "ja") {
    font-family: 'Koburina Gothic W3 JIS2004', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', sans-serif;
  }
  @if ($type == "ja-bold") {
    font-family: 'Koburina Gothic W6 JIS2004', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', sans-serif;
  }
  @if ($type == "en-bold") {
    font-family: Inter;
    font-weight: bold;
  }
  @if ($type == "en-black") {
    font-family: Inter;
    font-weight: 900;
  }
}
*/
/* reset5 © 2011 opensource.736cs.com MIT */
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, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, audio, canvas, details, figcaption, figure, footer, header, hgroup, mark, menu, meter, nav, output, progress, section, summary, time, video {
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  margin: 0;
  padding: 0; }

body {
  line-height: 1; }

article, aside, dialog, figure, footer, header, hgroup, nav, section, blockquote {
  display: block; }

nav ul {
  list-style: none; }

ol {
  list-style: decimal; }

ul {
  list-style: disc; }

ul ul {
  list-style: circle; }

blockquote, q {
  quotes: none; }

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

ins {
  text-decoration: underline; }

del {
  text-decoration: line-through; }

mark {
  background: none; }

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

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

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; }

input[type=submit], input[type=button], button {
  margin: 0 !important;
  padding: 0 !important; }

input, select, a img {
  vertical-align: middle; }

/* フォームのリセットここから */
input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none; }

textarea {
  resize: vertical; }

input[type='checkbox'],
input[type='radio'] {
  display: none; }

input[type='submit'],
input[type='button'],
label,
button,
select {
  cursor: pointer; }

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

/* フォームのリセットここまで */
html {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 10px; }

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

body {
  -webkit-text-size-adjust: 100%;
  	/*
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  	*/ }

main {
  display: block; }

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

ul, ol {
  list-style: none !important; }

a {
  color: inherit;
  text-decoration: none; }

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
  color: inherit;
  font-size: inherit; }

img {
  width: auto;
  height: auto;
  max-width: 100%;
  vertical-align: top; }

mark {
  color: inherit; }

.pc {
  display: none; }

.sp {
  display: none; }

@media screen and (min-width: 768px) {
  .pc {
    display: block !important; }

  img.pc,
  span.pc {
    display: inline !important; } }
@media screen and (max-width: 767px) {
  .sp {
    display: block !important; }

  img.sp,
  span.sp {
    display: inline !important; } }
span.nowrap {
  display: inline-block; }

body {
  --scroll-offset: -90;
  font-family: 'Koburina Gothic W3 JIS2004', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', sans-serif;
  background-color: #fff;
  font-family: "Noto Sans JP", "Roboto Condensed", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Meiryo UI", "Meiryo", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ ゴシック", "MS Gothic", sans-serif;
  letter-spacing: 0.05em;
  font-feature-settings: "palt";
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  color: #4d4d4d;
  line-height: 1.15;
  font-size: 16px; }
  @media screen and (max-width: 767px) {
    body {
      --scroll-offset: -70; } }

#pagetop {
  min-width: 1200px; }
  @media screen and (max-width: 767px) {
    #pagetop {
      min-width: 320px; } }

#header {
  position: relative;
  z-index: 10000; }
  #header .primary {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 90px;
    background-color: #fff;
    transition: top 0.5s ease 2.5s, background 0.5s ease 0s; }
    body.home #header .primary {
      background-color: transparent;
      top: -100px; }
    .is-loaded body.home #header .primary {
      top: 0; }
    .header-active body.home #header .primary {
      background: #fff; }
    @media screen and (max-width: 767px) {
      #header .primary {
        display: block;
        height: 70px; } }
    #header .primary .logo {
      position: absolute;
      top: 20px;
      left: 50px;
      transition: 0.5s; }
      @media screen and (max-width: 767px) {
        #header .primary .logo {
          top: 17px;
          left: 20px; } }
      #header .primary .logo a {
        display: block;
        width: 164px; }
        @media screen and (max-width: 767px) {
          #header .primary .logo a {
            width: 116px; } }
        #header .primary .logo a:before {
          content: "";
          display: block;
          background-image: url("../images/common/header_logo_w.svg");
          background-size: 100% 100%;
          background-repeat: no-repeat;
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          bottom: 0;
          transition: opacity 0.5s ease;
          opacity: 0; }
          body.home #header .primary .logo a:before {
            opacity: 1; }
          .header-active body.home #header .primary .logo a:before {
            opacity: 0; }
        #header .primary .logo a img {
          opacity: 1;
          transition: opacity 0.5s ease; }
          body.home #header .primary .logo a img {
            opacity: 0; }
          .header-active body.home #header .primary .logo a img {
            opacity: 1; }
  #header .cta {
    position: fixed;
    right: 0;
    top: 0;
    transition: top 0.5s ease 2.5s; }
    body.home #header .cta {
      top: -100px; }
    .is-loaded body.home #header .cta {
      top: 0; }
    @media screen and (max-width: 767px) {
      #header .cta {
        position: fixed;
        bottom: -70px;
        left: 0;
        right: 0;
        top: auto !important;
        transition: bottom 0.5s ease; } }
    .header-active #header .cta {
      bottom: 0; }
    #header .cta ul {
      display: flex;
      justify-content: flex-end; }
      #header .cta ul li {
        margin-left: 1px;
        text-align: center;
        flex: 0 0 180px; }
        @media screen and (max-width: 767px) {
          #header .cta ul li {
            margin-left: 0;
            flex: 0 0 33.333333%; } }
        #header .cta ul li a {
          background-color: #00ccff;
          color: #fff;
          height: 100%;
          display: flex;
          justify-content: center;
          align-items: center;
          font-weight: bold;
          font-size: 15px;
          letter-spacing: 0.1em;
          transition: 0.5s ease background-color,  0.5s ease color;
          width: 100%;
          height: 90px; }
          @media screen and (max-width: 767px) {
            #header .cta ul li a {
              font-size: 13px;
              height: 70px; } }
          body.home #header .cta ul li a {
            background-color: #fff;
            color: #4d4d4d; }
            @media screen and (max-width: 767px) {
              body.home #header .cta ul li a {
                background-color: #00ccff;
                color: #fff; } }
          .header-active body.home #header .cta ul li a {
            background-color: #00ccff;
            color: #fff; }
          #header .cta ul li a:hover {
            color: #00ccff !important;
            background-color: #fff !important; }

main figure {
  margin: 0; }

#footer {
  padding: 40px 50px 50px; }
  @media screen and (max-width: 767px) {
    #footer {
      padding: 40px 0 110px; } }
  #footer .logo {
    display: flex;
    justify-content: flex-end; }
    @media screen and (max-width: 767px) {
      #footer .logo {
        justify-content: center; } }
    @media screen and (max-width: 767px) {
      #footer .logo img {
        width: 148px; } }
  #footer .body {
    margin-top: 45px;
    display: flex;
    justify-content: flex-end; }
    @media screen and (max-width: 767px) {
      #footer .body {
        margin-top: 32px;
        display: block; } }
    #footer .body .link {
      display: flex; }
      @media screen and (max-width: 767px) {
        #footer .body .link {
          justify-content: center; } }
      #footer .body .link li {
        font-size: 13px; }
        @media screen and (max-width: 767px) {
          #footer .body .link li {
            font-size: 12px; } }
        #footer .body .link li + li {
          margin-left: 26px; }
    #footer .body .copyright {
      margin-left: 45px;
      font-size: 13px; }
      @media screen and (max-width: 767px) {
        #footer .body .copyright {
          margin: 30px 0 0;
          font-size: 12px;
          text-align: center; } }

main.home {
  position: relative; }
  main.home .container {
    position: relative;
    margin: 0 auto;
    width: 940px; }
    @media screen and (max-width: 767px) {
      main.home .container {
        width: calc(100% - 60px); } }
  main.home:before {
    content: "";
    background-image: url("../images/common/bg.jpg");
    background-size: 100% 100%;
    background-position: 50% 0%;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0; }
  main.home section {
    position: relative; }
  main.home ._fadein {
    opacity: 0;
    transition: opacity 0.75s; }
  main.home ._fadein._animated {
    opacity: 1; }
  main.home section.visual {
    position: relative;
    min-height: 1000px;
    display: flex;
    justify-content: center; }
    @media screen and (max-width: 767px) {
      main.home section.visual {
        min-height: 180vw; } }
    main.home section.visual .copy {
      width: 610px;
      max-height: 100vh;
      min-height: 550px;
      display: flex;
      justify-content: center;
      align-items: center;
      z-index: 1;
      opacity: 0;
      transition: opacity 1.5s ease 2s; }
      .is-loaded main.home section.visual .copy {
        opacity: 1; }
      @media screen and (max-width: 767px) {
        main.home section.visual .copy {
          width: 85vw;
          margin-bottom: 100px; } }
    main.home section.visual .scroll {
      position: absolute;
      left: 50px;
      top: calc(100vh - 200px);
      opacity: 0;
      transition: 0.5s;
      transform: translateX(-100px);
      z-index: 1;
      transition: transform .5s ease 2.5s, opacity .5s ease 2.5s; }
      .is-loaded main.home section.visual .scroll {
        opacity: 1;
        transform: translateX(0); }
      .home-animated main.home section.visual .scroll {
        transition-delay: 0s; }
      .is-loaded.header-active main.home section.visual .scroll {
        transform: translate(0, -100px);
        opacity: 0;
        transition-delay: 0s; }
      @media screen and (max-width: 767px) {
        main.home section.visual .scroll {
          top: calc(180vw - 220px);
          left: 7.5vw; } }
      @media screen and (max-width: 767px) {
        main.home section.visual .scroll img {
          width: 10px; } }
    main.home section.visual .voice {
      position: absolute;
      height: 100%;
      width: 100%;
      bottom: 0;
      left: 0;
      z-index: 1;
      opacity: 0;
      background: url("../images/home/visual_voices1.svg") center bottom repeat-x;
      background-size: auto;
      background-size: 1900px 905px;
      will-change: opacity;
      animation: bgscroll 35s reverse infinite;
      transition: opacity 1.5s ease 1.5s; }
      @media screen and (max-width: 767px) {
        main.home section.visual .voice {
          background-size: 360vw 171vw; } }
      .is-loaded main.home section.visual .voice {
        opacity: 0.2; }
      main.home section.visual .voice:before {
        position: absolute;
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        bottom: 0;
        left: 0;
        transform: translateY(-50px);
        background: url("../images/home/visual_voices3.svg") center bottom repeat-x;
        background-size: auto;
        background-size: 2103px 990px;
        animation: bgscroll3 25s reverse infinite; }
        @media screen and (max-width: 767px) {
          main.home section.visual .voice:before {
            background-size: 360vw 169vw; } }
      main.home section.visual .voice:after {
        position: absolute;
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        bottom: 0;
        left: 0;
        transform: translateY(-30px);
        background: url("../images/home/visual_voices2.svg") center bottom repeat-x;
        background-size: auto;
        background-size: 1942px 815px;
        animation: bgscroll2 15s reverse infinite; }
        @media screen and (max-width: 767px) {
          main.home section.visual .voice:after {
            background-size: 360vw 151vw; } }
@keyframes bgscroll {
  0% {
    background-position: 0 -50px; }
  100% {
    background-position: 1900px -50px; } }
@keyframes bgscroll2 {
  0% {
    background-position: 0 -50px; }
  100% {
    background-position: 1942px -50px; } }
@keyframes bgscroll3 {
  0% {
    background-position: 0 -50px; }
  100% {
    background-position: 2103px -50px; } }
      @media screen and (max-width: 767px) {
        @keyframes bgscroll {
          0% {
            background-position: 0 0; }
          100% {
            background-position: 360vw 0; } }
        @keyframes bgscroll2 {
          0% {
            background-position: 0 0; }
          100% {
            background-position: 360vw 0; } }
        @keyframes bgscroll3 {
          0% {
            background-position: 0 0; }
          100% {
            background-position: 360vw 0; } } }
  main.home section.news {
    position: relative;
    padding: 100px 0 200px; }
    @media screen and (max-width: 767px) {
      main.home section.news {
        padding: 100px 0; } }
    main.home section.news:before {
      position: absolute;
      width: 100%;
      top: 0;
      left: 0;
      content: "";
      background: white;
      transform: skewY(15deg);
      height: 100%; }
    main.home section.news .container header p img {
      height: 40px;
      width: auto; }
      @media screen and (max-width: 767px) {
        main.home section.news .container header p img {
          height: 35px; } }
    main.home section.news .container header h2 {
      font-weight: bold;
      color: #434EA5;
      font-size: 15px;
      margin-top: 15px;
      letter-spacing: 0.1em; }
      @media screen and (max-width: 767px) {
        main.home section.news .container header h2 {
          font-size: 14px; } }
    main.home section.news .container ul {
      position: relative;
      margin: 60px auto;
      list-style: 1.6; }
      main.home section.news .container ul li {
        display: flex;
        flex-wrap: wrap;
        position: relative;
        justify-content: flex-end;
        margin-bottom: 10px;
        padding: 30px;
        background: linear-gradient(90deg, rgba(143, 181, 219, 0.5) 0%, rgba(245, 191, 148, 0.5) 50%, rgba(255, 136, 171, 0.5) 100%); }
        @media screen and (max-width: 767px) {
          main.home section.news .container ul li {
            display: block; } }
        main.home section.news .container ul li:before {
          content: "";
          display: block;
          position: absolute;
          top: 0;
          left: 0;
          border-left: 30px solid #434EA5;
          border-bottom: 30px solid transparent; }
        main.home section.news .container ul li time {
          flex: 0 0 15%;
          line-height: 32px;
          text-align: center;
          color: #444444; }
        main.home section.news .container ul li .title {
          font-size: 20px;
          line-height: 32px;
          flex: 0 0 85%;
          color: #444444;
          font-weight: bold;
          text-decoration: underline; }
          @media screen and (max-width: 767px) {
            main.home section.news .container ul li .title {
              margin-top: 10px; } }
        main.home section.news .container ul li .excerpt {
          font-size: 16px;
          line-height: 32px;
          color: #444444;
          flex: 0 0 85%;
          padding-top: 10px; }
    main.home section.news .container .action a {
      background: #4EBEFC;
      color: #FFF;
      display: block;
      padding: 15px 0px;
      border-radius: 50px;
      transition: 0.3s;
      max-width: 250px;
      margin: 0px auto;
      position: relative;
      text-align: center; }
      main.home section.news .container .action a:hover {
        background: #666; }
  main.home section.message {
    position: relative;
    padding: 200px 0; }
    @media screen and (max-width: 767px) {
      main.home section.message {
        padding: 100px 0; } }
    main.home section.message:before {
      position: absolute;
      width: 100%;
      top: 0;
      left: 0;
      content: "";
      background: rgba(255, 255, 255, 0.5);
      transform: skewY(15deg);
      height: 100%; }
    main.home section.message .container {
      position: relative;
      margin: 0 auto;
      width: 850px;
      display: flex;
      justify-content: space-between; }
      @media screen and (max-width: 767px) {
        main.home section.message .container {
          width: calc(100% - 60px); } }
      @media screen and (max-width: 767px) {
        main.home section.message .container {
          display: block; } }
      main.home section.message .container .copy {
        flex: 0 0 310px; }
        @media screen and (max-width: 767px) {
          main.home section.message .container .copy img {
            width: 68vw; } }
      main.home section.message .container .body {
        flex: 0 0 440px; }
        @media screen and (max-width: 767px) {
          main.home section.message .container .body {
            margin-top: 70px; } }
        main.home section.message .container .body p {
          font-size: 16px;
          line-height: 42px; }
          @media screen and (max-width: 767px) {
            main.home section.message .container .body p {
              line-height: 36px; } }
          main.home section.message .container .body p + p {
            margin-top: 45px; }
            @media screen and (max-width: 767px) {
              main.home section.message .container .body p + p {
                margin-top: 40px; } }
  main.home section.about {
    position: relative;
    padding: 200px 0 100px; }
    @media screen and (max-width: 767px) {
      main.home section.about {
        padding: 100px 0; } }
    main.home section.about._animated {
      opacity: 1; }
    main.home section.about:before {
      position: absolute;
      width: 100%;
      top: 0;
      content: "";
      background: white;
      transform: skewY(15deg);
      transform-origin: top center;
      height: calc(50% + 400px); }
    main.home section.about:after {
      position: absolute;
      width: 100%;
      bottom: 0;
      left: 0;
      content: "";
      background: white;
      transform: skewY(-15deg);
      transform-origin: bottom center;
      height: calc(50% + 400px); }
    main.home section.about .container {
      z-index: 1; }
      main.home section.about .container header p img {
        height: 40px;
        width: auto; }
        @media screen and (max-width: 767px) {
          main.home section.about .container header p img {
            height: 35px; } }
      main.home section.about .container header h2 {
        font-weight: bold;
        color: #4EBEFC;
        font-size: 15px;
        margin-top: 15px;
        letter-spacing: 0.1em; }
        @media screen and (max-width: 767px) {
          main.home section.about .container header h2 {
            font-size: 14px; } }
      main.home section.about .container section {
        position: relative;
        padding-bottom: 180px; }
        @media screen and (max-width: 767px) {
          main.home section.about .container section {
            padding-bottom: 110px; } }
        main.home section.about .container section h3 {
          font-weight: bold;
          font-size: 40px;
          color: #4EBEFC;
          letter-spacing: 0.2em;
          margin: 30px 0px;
          line-height: 1.8; }
          @media screen and (max-width: 767px) {
            main.home section.about .container section h3 {
              font-size: 26px;
              letter-spacing: 0; } }
          main.home section.about .container section h3 span {
            font-size: 30px; }
            @media screen and (max-width: 767px) {
              main.home section.about .container section h3 span {
                font-size: 18px; } }
        main.home section.about .container section .media {
          display: flex;
          justify-content: space-between; }
          @media screen and (max-width: 767px) {
            main.home section.about .container section .media {
              display: block; } }
          main.home section.about .container section .media .body {
            font-size: 16px;
            line-height: 32px;
            color: #444444;
            flex: 0 0 440px;
            order: 1; }
            @media screen and (max-width: 767px) {
              main.home section.about .container section .media .body {
                margin-bottom: 30px; } }
          main.home section.about .container section .media figure {
            flex: 0 0 440px;
            order: 2; }
        main.home section.about .container section:after {
          position: absolute;
          content: "";
          display: block;
          -webkit-transform: rotate(-345deg);
          transform: rotate(-345deg);
          width: 440px;
          height: 1px;
          bottom: 60px;
          left: calc(50% - 220px);
          background: #4EBEFC; }
          @media screen and (max-width: 767px) {
            main.home section.about .container section:after {
              width: 300px;
              left: calc(50% - 150px);
              bottom: 30px; } }
        main.home section.about .container section.odd h3 {
          text-align: right; }
        main.home section.about .container section.odd .media .body {
          order: 2; }
        main.home section.about .container section.odd .media figure {
          order: 1; }
        main.home section.about .container section.odd:after {
          -webkit-transform: rotate(345deg);
          transform: rotate(345deg); }
        main.home section.about .container section.about-01 ul {
          margin: 50px auto 0px auto;
          display: flex;
          justify-content: space-between; }
          @media screen and (max-width: 767px) {
            main.home section.about .container section.about-01 ul {
              display: block; } }
          main.home section.about .container section.about-01 ul li {
            width: 100%;
            max-width: 440px;
            padding: 40px;
            background: #D4F3FC;
            text-align: center;
            margin-bottom: 10px; }
            @media screen and (max-width: 767px) {
              main.home section.about .container section.about-01 ul li {
                margin-bottom: 10px; } }
            main.home section.about .container section.about-01 ul li .logo {
              padding: 20px 0px; }
              main.home section.about .container section.about-01 ul li .logo img {
                width: auto;
                height: 92px; }
                @media screen and (max-width: 767px) {
                  main.home section.about .container section.about-01 ul li .logo img {
                    height: 74px; } }
            main.home section.about .container section.about-01 ul li .action a {
              background: #4EBEFC;
              color: #FFF;
              display: block;
              padding: 15px 0px;
              border-radius: 50px;
              transition: 0.3s;
              max-width: 250px;
              margin: 0px auto;
              position: relative; }
              main.home section.about .container section.about-01 ul li .action a:hover {
                background: #666; }
              main.home section.about .container section.about-01 ul li .action a:after {
                content: "";
                display: block;
                width: 10px;
                height: 10px;
                position: absolute;
                right: 25px;
                top: 50%;
                transform: translateY(-50%);
                transition: 0.5s;
                background-image: url("../images/home/icon_blank_w.svg");
                background-size: 100% 100%; }
        main.home section.about .container section.about-04 section h4 {
          font-weight: bold;
          margin-top: 30px;
          font-size: 20px;
          line-height: 32px; }
        main.home section.about .container section.about-04 section ul {
          margin-top: 30px; }
          main.home section.about .container section.about-04 section ul li {
            border: 1px solid #4EBEFC;
            padding: 20px 30px;
            margin-bottom: 20px; }
            main.home section.about .container section.about-04 section ul li h5 {
              font-weight: bold;
              color: #4EBEFC;
              text-align: center;
              font-size: 18px;
              margin-bottom: 10px; }
            main.home section.about .container section.about-04 section ul li p {
              font-size: 16px;
              line-height: 32px;
              color: #444444; }
        main.home section.about .container section:last-child {
          padding-bottom: 0; }
          main.home section.about .container section:last-child:after {
            display: none; }
  main.home section.place {
    position: relative;
    padding: 100px 0 100px;
    color: #fff; }
    @media screen and (max-width: 767px) {
      main.home section.place {
        padding: 100px 0 60px; } }
    main.home section.place .container header {
      text-align: right; }
      main.home section.place .container header p img {
        height: 40px;
        width: auto; }
        @media screen and (max-width: 767px) {
          main.home section.place .container header p img {
            height: 35px; } }
      main.home section.place .container header h2 {
        font-weight: bold;
        color: #fff;
        font-size: 15px;
        margin-top: 15px;
        letter-spacing: 0.1em; }
        @media screen and (max-width: 767px) {
          main.home section.place .container header h2 {
            font-size: 14px; } }
    main.home section.place .container section.base {
      padding-top: 75px; }
      @media screen and (max-width: 767px) {
        main.home section.place .container section.base {
          padding-top: 50px; } }
      main.home section.place .container section.base h3 {
        font-weight: bold;
        font-size: 22px; }
        @media screen and (max-width: 767px) {
          main.home section.place .container section.base h3 {
            font-size: 20px; } }
      main.home section.place .container section.base figure {
        margin-top: 30px; }
      main.home section.place .container section.base .body {
        margin-top: 35px;
        display: flex;
        justify-content: space-between; }
        @media screen and (max-width: 767px) {
          main.home section.place .container section.base .body {
            display: block;
            margin-top: 30px; } }
        main.home section.place .container section.base .body ul.meta {
          position: relative;
          font-size: 15px;
          line-height: 21px; }
          @media screen and (max-width: 767px) {
            main.home section.place .container section.base .body ul.meta {
              font-size: 14px;
              line-height: 25px; } }
          main.home section.place .container section.base .body ul.meta li {
            position: relative;
            padding-left: 26px; }
            main.home section.place .container section.base .body ul.meta li + li {
              margin-top: 7px; }
            main.home section.place .container section.base .body ul.meta li:before {
              content: "";
              display: block;
              position: absolute;
              top: 2px;
              left: 0;
              background-size: 100% 100%; }
            main.home section.place .container section.base .body ul.meta li.address:before {
              background-image: url("../images/home/icon_map.svg");
              width: 16px;
              height: 21px; }
            main.home section.place .container section.base .body ul.meta li.access:before {
              background-image: url("../images/home/icon_train.svg");
              width: 16px;
              height: 20px; }
            main.home section.place .container section.base .body ul.meta li.tel:before {
              background-image: url("../images/home/icon_tel.svg");
              top: 4px;
              width: 17px;
              height: 17px; }
        @media screen and (max-width: 767px) {
          main.home section.place .container section.base .body ul.link {
            margin-top: 15px; } }
        main.home section.place .container section.base .body ul.link li {
          margin-bottom: 15px; }
          main.home section.place .container section.base .body ul.link li a {
            display: block;
            font-size: 13px;
            line-height: 22px;
            padding: 6px 25px;
            padding-right: 25px;
            padding-right: 45px;
            position: relative;
            border: 1px solid #FFF;
            z-index: 1;
            overflow: hidden; }
            @media screen and (max-width: 767px) {
              main.home section.place .container section.base .body ul.link li a {
                display: inline-block;
                font-size: 12px;
                padding: 4px 22px;
                padding-right: 40px; } }
            main.home section.place .container section.base .body ul.link li a:before {
              position: absolute;
              content: "";
              width: 100%;
              height: 300%;
              z-index: -1;
              left: 0;
              bottom: -400%;
              background: white;
              transform: skewY(15deg);
              transition: bottom ease 0.5s;
              background-color: #00ccff; }
              @media screen and (max-width: 767px) {
                main.home section.place .container section.base .body ul.link li a:before {
                  display: none; } }
            main.home section.place .container section.base .body ul.link li a[target='_blank']:after {
              content: "";
              display: block;
              width: 10px;
              height: 10px;
              position: absolute;
              right: 25px;
              top: 50%;
              transform: translateY(-50%);
              transition: 0.5s;
              background-image: url("../images/home/icon_blank_w.svg");
              background-size: 100% 100%; }
              @media screen and (max-width: 767px) {
                main.home section.place .container section.base .body ul.link li a[target='_blank']:after {
                  right: 20px; } }
            main.home section.place .container section.base .body ul.link li a:hover:before {
              bottom: -100%; }
      main.home section.place .container section.base section.openday {
        width: 600px;
        margin: 100px auto 0;
        background-color: rgba(255, 255, 255, 0.7);
        padding: 20px 20px 40px 20px;
        position: relative; }
        @media screen and (max-width: 767px) {
          main.home section.place .container section.base section.openday {
            width: auto;
            margin: 60px auto 0; } }
        main.home section.place .container section.base section.openday h4 {
          text-align: center;
          background-color: #A1CE56;
          color: #FFF;
          position: absolute;
          padding: 10px;
          top: -1em;
          font-weight: bold;
          font-size: 22px;
          left: 50%;
          transform: translateX(-50%);
          width: 420px; }
          @media screen and (max-width: 767px) {
            main.home section.place .container section.base section.openday h4 {
              width: 240px; } }
        main.home section.place .container section.base section.openday ul {
          color: #4d4d4d;
          font-size: 24px;
          text-align: center;
          letter-spacing: 0.2em;
          padding: 30px 0px;
          font-weight: bold; }
          @media screen and (max-width: 767px) {
            main.home section.place .container section.base section.openday ul {
              font-size: 18px; } }
          main.home section.place .container section.base section.openday ul span {
            font-size: 42px; }
            @media screen and (max-width: 767px) {
              main.home section.place .container section.base section.openday ul span {
                font-size: 36px; } }
        main.home section.place .container section.base section.openday .action a {
          position: relative;
          display: block;
          text-align: center;
          background: #4EBEFC;
          color: #FFF;
          display: block;
          font-size: 16px;
          padding: 15px 0px;
          border-radius: 50px;
          transition: 0.3s;
          max-width: 250px;
          margin: 0px auto;
          position: relative; }
          main.home section.place .container section.base section.openday .action a:hover {
            background: #666; }
          main.home section.place .container section.base section.openday .action a:after {
            content: "";
            display: block;
            width: 10px;
            height: 10px;
            position: absolute;
            right: 25px;
            top: 50%;
            transform: translateY(-50%);
            transition: 0.5s;
            background-image: url("../images/home/icon_blank_w.svg");
            background-size: 100% 100%; }
            @media screen and (max-width: 767px) {
              main.home section.place .container section.base section.openday .action a:after {
                right: 20px; } }

main.article {
  padding-top: 90px;
  padding-bottom: 80px; }
  @media screen and (max-width: 767px) {
    main.article {
      padding-top: 70px; } }
  main.article header {
    line-height: 200px;
    font-size: 40px;
    font-weight: bold;
    color: #434EA5;
    color: #4d4d4d;
    text-align: center;
    background: linear-gradient(90deg, rgba(143, 181, 219, 0.5) 0%, rgba(245, 191, 148, 0.5) 50%, rgba(255, 136, 171, 0.5) 100%); }
    @media screen and (max-width: 767px) {
      main.article header {
        line-height: 150px;
        font-size: 31px; } }
  main.article .container {
    position: relative;
    margin: 0 auto;
    width: 940px; }
    @media screen and (max-width: 767px) {
      main.article .container {
        width: calc(100% - 60px); } }
    main.article .container nav.breadcrumb {
      font-size: 10px;
      line-height: 1.5;
      padding-top: 18px; }
      main.article .container nav.breadcrumb ol {
        display: inline; }
        main.article .container nav.breadcrumb ol li {
          display: inline; }
          main.article .container nav.breadcrumb ol li + li:before {
            content: "/";
            margin: 0 8px; }
    main.article .container &gt; .body {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      width: 940px;
      margin: 0 auto;
      color: #444444;
      padding-top: 80px; }
      @media screen and (max-width: 767px) {
        main.article .container &gt; .body {
          display: block;
          width: auto; } }
      @media screen and (max-width: 767px) {
        main.article .container &gt; .body {
          padding-top: 40px; } }
      main.article .container &gt; .body nav.category {
        flex: 0 0 100%;
        margin-bottom: 80px;
        display: flex; }
        @media screen and (max-width: 767px) {
          main.article .container &gt; .body nav.category {
            margin-bottom: 30px; } }
        main.article .container &gt; .body nav.category ul {
          display: flex;
          justify-content: center;
          width: 100%; }
          main.article .container &gt; .body nav.category ul li {
            margin: 0 1px;
            flex: 0 0 180px; }
            @media screen and (max-width: 767px) {
              main.article .container &gt; .body nav.category ul li {
                flex: 0 0 33.333333%; } }
            main.article .container &gt; .body nav.category ul li a {
              display: flex;
              justify-content: center;
              align-items: center;
              height: 48px;
              font-weight: bold;
              font-size: 16px;
              text-align: center;
              transition: all ease .3s; }
              @media screen and (max-width: 767px) {
                main.article .container &gt; .body nav.category ul li a {
                  font-size: 13px;
                  line-height: 17px; } }
            main.article .container &gt; .body nav.category ul li.all a {
              border: 1px solid #00ccff;
              color: #00ccff; }
            main.article .container &gt; .body nav.category ul li.all:hover a, main.article .container &gt; .body nav.category ul li.all.active a {
              background-color: #00ccff;
              color: inherit; }
            main.article .container &gt; .body nav.category ul li.information a {
              border: 1px solid #ffdd00;
              color: #ffdd00; }
            main.article .container &gt; .body nav.category ul li.information:hover a, main.article .container &gt; .body nav.category ul li.information.active a {
              background-color: #ffdd00;
              color: inherit; }
            main.article .container &gt; .body nav.category ul li.topics a {
              border: 1px solid #ff9999;
              color: #ff9999; }
            main.article .container &gt; .body nav.category ul li.topics:hover a, main.article .container &gt; .body nav.category ul li.topics.active a {
              background-color: #ff9999;
              color: inherit; }
      main.article .container &gt; .body .primary {
        flex: 0 0 800px; }
        main.article .container &gt; .body .primary ul.article {
          border-bottom: 1px solid #e5e5e5; }
          main.article .container &gt; .body .primary ul.article li {
            border-top: 1px solid #e5e5e5; }
            main.article .container &gt; .body .primary ul.article li a {
              display: flex;
              padding: 20px 0; }
              main.article .container &gt; .body .primary ul.article li a figure {
                flex: 0 0 120px;
                height: 120px;
                background-image: url("../images/common/noimg.svg");
                background-size: cover; }
                @media screen and (max-width: 767px) {
                  main.article .container &gt; .body .primary ul.article li a figure {
                    flex: 0 0 100px;
                    height: 100px; } }
                main.article .container &gt; .body .primary ul.article li a figure img {
                  width: 100%;
                  height: 100%;
                  object-fit: cover; }
              main.article .container &gt; .body .primary ul.article li a .body {
                padding-left: 30px;
                flex: 0 0 calc(100% - 120px); }
                @media screen and (max-width: 767px) {
                  main.article .container &gt; .body .primary ul.article li a .body {
                    padding-left: 20px;
                    flex: 0 0 calc(100% - 100px); } }
                main.article .container &gt; .body .primary ul.article li a .body .meta {
                  display: flex; }
                  @media screen and (max-width: 767px) {
                    main.article .container &gt; .body .primary ul.article li a .body .meta {
                      display: block; } }
                  main.article .container &gt; .body .primary ul.article li a .body .meta .category {
                    text-align: center;
                    font-weight: bold;
                    line-height: 20px;
                    height: 20px;
                    width: 140px;
                    font-size: 13px;
                    background-color: #ff9999; }
                    @media screen and (max-width: 767px) {
                      main.article .container &gt; .body .primary ul.article li a .body .meta .category {
                        width: 130px;
                        font-size: 12px;
                        height: 19px;
                        line-height: 19px; } }
                    main.article .container &gt; .body .primary ul.article li a .body .meta .category.information {
                      background-color: #ffdd00; }
                    main.article .container &gt; .body .primary ul.article li a .body .meta .category.topics {
                      background-color: #ff9999; }
                  main.article .container &gt; .body .primary ul.article li a .body .meta .date {
                    font-size: 13px;
                    line-height: 20px; }
                    @media screen and (max-width: 767px) {
                      main.article .container &gt; .body .primary ul.article li a .body .meta .date {
                        margin-top: 9px;
                        font-size: 12px;
                        line-height: 19px;
                        width: auto; } }
                  main.article .container &gt; .body .primary ul.article li a .body .meta &gt; * + * {
                    margin-left: 20px; }
                    @media screen and (max-width: 767px) {
                      main.article .container &gt; .body .primary ul.article li a .body .meta &gt; * + * {
                        margin-left: 0; } }
                main.article .container &gt; .body .primary ul.article li a .body .title {
                  margin-top: 15px;
                  font-size: 18px;
                  font-weight: bold;
                  line-height: 28px;
                  transition: all ease .3s; }
                  @media screen and (max-width: 767px) {
                    main.article .container &gt; .body .primary ul.article li a .body .title {
                      margin-top: 5px;
                      font-size: 14px;
                      line-height: 26px; } }
              main.article .container &gt; .body .primary ul.article li a:hover .body .title {
                color: #00ccff; }
        main.article .container &gt; .body .primary nav.pagination {
          margin-top: 40px; }
          main.article .container &gt; .body .primary nav.pagination .nav-links {
            display: flex;
            justify-content: center; }
            main.article .container &gt; .body .primary nav.pagination .nav-links .page-numbers {
              display: block;
              position: relative;
              margin: 0 4px;
              width: 48px;
              line-height: 48px;
              border-radius: 50%;
              text-align: center;
              transition: all ease .3s; }
              @media screen and (max-width: 767px) {
                main.article .container &gt; .body .primary nav.pagination .nav-links .page-numbers {
                  width: 38px;
                  line-height: 38px;
                  margin: 0 2px; } }
              main.article .container &gt; .body .primary nav.pagination .nav-links .page-numbers.current {
                color: white;
                background: #00ccff; }
              main.article .container &gt; .body .primary nav.pagination .nav-links .page-numbers:hover {
                color: white;
                background: #00ccff; }
            main.article .container &gt; .body .primary nav.pagination .nav-links .prev {
              text-indent: -9999px;
              overflow: hidden; }
              main.article .container &gt; .body .primary nav.pagination .nav-links .prev:before {
                position: absolute;
                content: "";
                width: 7px;
                height: 7px;
                border-top: 2px solid currentColor;
                border-right: 2px solid currentColor;
                transform: rotate(225deg) translate(-50%, -50%);
                transform-origin: left top;
                left: 55%;
                top: 50%; }
            main.article .container &gt; .body .primary nav.pagination .nav-links .next {
              text-indent: -9999px;
              overflow: hidden; }
              main.article .container &gt; .body .primary nav.pagination .nav-links .next:before {
                position: absolute;
                content: "";
                width: 7px;
                height: 7px;
                border-top: 2px solid currentColor;
                border-right: 2px solid currentColor;
                transform: rotate(45deg) translate(-50%, -50%);
                transform-origin: left top;
                left: 45%;
                top: 50%; }
      main.article .container &gt; .body .sidebar {
        flex: 0 0 100px; }
        @media screen and (max-width: 767px) {
          main.article .container &gt; .body .sidebar {
            display: none; } }
        main.article .container &gt; .body .sidebar nav.archive &gt; ul &gt; li a {
          display: block;
          transition: all ease .3s; }
          main.article .container &gt; .body .sidebar nav.archive &gt; ul &gt; li a:hover {
            color: #00ccff; }
        main.article .container &gt; .body .sidebar nav.archive &gt; ul &gt; li + li {
          margin-top: 25px; }
        main.article .container &gt; .body .sidebar nav.archive &gt; ul &gt; li &gt; ul &gt; li {
          margin-top: 18px; }
          main.article .container &gt; .body .sidebar nav.archive &gt; ul &gt; li &gt; ul &gt; li a {
            position: relative;
            display: block;
            padding-left: 15px; }
            main.article .container &gt; .body .sidebar nav.archive &gt; ul &gt; li &gt; ul &gt; li a:before {
              position: absolute;
              top: 0.75em;
              left: 0px;
              content: "";
              height: 1px;
              width: 5px;
              display: block;
              background: #333333;
              padding-right: 0.25em;
              -webkit-transition: 0.3s;
              transition: 0.3s; }

main.article-detail {
  padding-top: 90px;
  padding-bottom: 80px; }
  @media screen and (max-width: 767px) {
    main.article-detail {
      padding-top: 70px; } }
  main.article-detail header {
    line-height: 200px;
    font-size: 40px;
    font-weight: bold;
    color: #434EA5;
    color: #4d4d4d;
    text-align: center;
    background: linear-gradient(90deg, rgba(143, 181, 219, 0.5) 0%, rgba(245, 191, 148, 0.5) 50%, rgba(255, 136, 171, 0.5) 100%); }
    @media screen and (max-width: 767px) {
      main.article-detail header {
        line-height: 150px;
        font-size: 31px; } }
  main.article-detail .container {
    position: relative;
    margin: 0 auto;
    width: 940px; }
    @media screen and (max-width: 767px) {
      main.article-detail .container {
        width: calc(100% - 60px); } }
    main.article-detail .container nav.breadcrumb {
      font-size: 10px;
      line-height: 1.5;
      padding-top: 18px; }
      main.article-detail .container nav.breadcrumb ol {
        display: inline; }
        main.article-detail .container nav.breadcrumb ol li {
          display: inline; }
          main.article-detail .container nav.breadcrumb ol li + li:before {
            content: "/";
            margin: 0 8px; }
    main.article-detail .container &gt; .body {
      width: 940px;
      margin: 0 auto;
      margin-top: 115px;
      color: #444444; }
      @media screen and (max-width: 767px) {
        main.article-detail .container &gt; .body {
          width: auto;
          margin-top: 65px; } }
      main.article-detail .container &gt; .body .meta {
        display: flex; }
        main.article-detail .container &gt; .body .meta .category {
          font-weight: bold;
          text-align: center;
          height: 20px;
          line-height: 20px;
          width: 140px;
          font-size: 13px;
          background-color: #ffdd00; }
          @media screen and (max-width: 767px) {
            main.article-detail .container &gt; .body .meta .category {
              width: 130px;
              font-size: 12px;
              line-height: 19px;
              height: 19px; } }
        main.article-detail .container &gt; .body .meta .date {
          line-height: 20px;
          font-size: 13px; }
          @media screen and (max-width: 767px) {
            main.article-detail .container &gt; .body .meta .date {
              line-height: 19px;
              font-size: 12px; } }
        main.article-detail .container &gt; .body .meta &gt; * + * {
          margin-left: 20px; }
          @media screen and (max-width: 767px) {
            main.article-detail .container &gt; .body .meta &gt; * + * {
              margin-left: 16px; } }
      main.article-detail .container &gt; .body h1 {
        margin-top: 30px;
        font-size: 22px;
        font-weight: bold;
        line-height: 34px; }
        @media screen and (max-width: 767px) {
          main.article-detail .container &gt; .body h1 {
            margin-top: 26px;
            font-size: 20px;
            line-height: 31px; } }
      main.article-detail .container &gt; .body .content &gt; * {
        margin: 20px 0; }
      main.article-detail .container &gt; .body .content p {
        font-size: 15px;
        line-height: 28px; }
        @media screen and (max-width: 767px) {
          main.article-detail .container &gt; .body .content p {
            font-size: 14px;
            line-height: 26px; } }
      main.article-detail .container &gt; .body .content figure figcaption {
        font-size: 12px;
        line-height: 20px; }
      main.article-detail .container &gt; .body .content a {
        color: #1a73e8; }
        main.article-detail .container &gt; .body .content a:hover {
          text-decoration: underline; }
      main.article-detail .container &gt; .body nav.pager {
        margin-top: 80px; }
        @media screen and (max-width: 767px) {
          main.article-detail .container &gt; .body nav.pager {
            margin-top: 40px; } }
        main.article-detail .container &gt; .body nav.pager .back a {
          position: relative;
          background: #4EBEFC;
          color: #FFF;
          display: block;
          padding: 15px 0px;
          border-radius: 50px;
          transition: 0.3s;
          max-width: 250px;
          margin: 0px auto;
          text-align: center; }
          main.article-detail .container &gt; .body nav.pager .back a:hover {
            background: #666; }
          main.article-detail .container &gt; .body nav.pager .back a:before {
            position: absolute;
            content: "";
            width: 7px;
            height: 7px;
            border-top: 2px solid white;
            border-right: 2px solid white;
            transform: rotate(45deg) translateY(-50%);
            transform-origin: center top;
            right: 25px;
            top: 50%;
            transition: 0.3s;
            transform: rotate(225deg) translateY(-50%);
            right: unset;
            left: 25px; }

main.error {
  padding-top: 90px; }
  @media screen and (max-width: 767px) {
    main.error {
      padding-top: 70px; } }
  main.error header {
    line-height: 200px;
    font-size: 40px;
    font-weight: bold;
    color: #434EA5;
    color: #4d4d4d;
    text-align: center;
    background: linear-gradient(90deg, rgba(143, 181, 219, 0.5) 0%, rgba(245, 191, 148, 0.5) 50%, rgba(255, 136, 171, 0.5) 100%); }
    @media screen and (max-width: 767px) {
      main.error header {
        line-height: 150px;
        font-size: 31px; } }
  main.error .container {
    position: relative;
    margin: 0 auto;
    width: 940px; }
    @media screen and (max-width: 767px) {
      main.error .container {
        width: calc(100% - 60px); } }
  main.error .message {
    text-align: center;
    padding: 80px 0;
    font-size: 18px;
    line-height: 2; }
    @media screen and (max-width: 767px) {
      main.error .message {
        text-align: left; } }
</pre></body></html>