@charset "UTF-8";
html {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

body {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
  line-height: 1;
  letter-spacing: 0;
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif; }

div {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

span {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

applet {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

object {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

iframe {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

h1 {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

h2 {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

h3 {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

h4 {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

h5 {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

h6 {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

p {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

blockquote {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
  quotes: none; }
  blockquote:before {
    content: none; }
  blockquote:after {
    content: none; }

pre {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

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

abbr {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

acronym {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

address {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

big {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

cite {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

code {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

del {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

dfn {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

em {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

img {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%;
  height: auto; }

ins {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

kbd {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

q {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
  quotes: none; }
  q:before {
    content: none; }
  q:after {
    content: none; }

s {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

samp {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

small {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

strike {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

strong {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
  font-weight: bold; }

sub {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

sup {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

tt {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

var {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

b {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

u {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

i {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

center {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

dl {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

dt {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

dd {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

ol {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
  list-style: none; }

ul {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
  list-style: none; }

li {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

fieldset {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

form {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

label {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

legend {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

table {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
  border-collapse: collapse;
  border-spacing: 0; }

caption {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

tbody {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

tfoot {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

thead {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

tr {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

th {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

td {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

article {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
  display: block; }

aside {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
  display: block; }

canvas {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

details {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
  display: block; }

embed {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

figure {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
  display: block; }

figcaption {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
  display: block; }

footer {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
  display: block; }

header {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
  display: block; }

hgroup {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
  display: block; }

menu {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
  display: block; }

nav {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
  display: block; }

output {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

ruby {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

section {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
  display: block; }

summary {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

time {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

mark {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

audio {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

video {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

.clearfix {
  display: inline-block;
  display: block; }
  .clearfix:after {
    content: ".";
    display: block;
    height: 0;
    font-size: 0;
    clear: both;
    visibility: hidden; }

* html .clearfix {
  height: 1%; }

#jougetyuou {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  margin: auto; }

#kadomaru {
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px; }

#resbtn {
  -webkit-appearance: none; }

.ancr {
  position: relative;
  transition: 0.5s; }
  .ancr:hover {
    opacity: 0.75;
    transition: 0.5s;
    cursor: pointer; }

.anca {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 10;
  cursor: pointer; }

.wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }

.font_shippori {
  font-family: "Shippori Mincho", serif; }

.font_cormorant {
  font-family: "Cormorant Garamond", serif; }

.font_gilda {
  font-family: "Gilda Display", serif; }

@media screen and (min-width: 769px) {
  .sponly {
    display: none !important; }

  .cale {
    box-sizing: border-box;
    padding: 0 20px; }
    .cale .cale_ttl {
      font-size: 20px;
      line-height: 1.5em;
      font-weight: 700;
      text-align: center; }
    .cale .txt {
      font-size: 16px;
      line-height: 1.6em;
      margin-bottom: 1em;
      text-align: center; }
    .cale .scc-calendar-wrapper .scc-calendar-box h3 {
      margin-bottom: 1em; }

  header {
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 101; }
    header .inner {
      display: flex;
      justify-content: space-between; }
      header .inner .header_logo {
        width: 45%;
        max-width: 360px;
        padding: 25px 0 25px 30px; }
        header .inner .header_logo a {
          display: block;
          width: 100%; }
        header .inner .header_logo h1 {
          width: 300px;
          margin-bottom: 10px; }
        header .inner .header_logo .header_txt {
          width: 330px;
          max-width: 100%;
          font-size: 12px;
          line-height: 1.4em;
          color: #000; }
      header .inner .header_nav {
        width: 45%;
        max-width: 450px;
        padding: 30px 80px 0 0; }
        header .inner .header_nav ul {
          max-width: 400px;
          display: flex;
          justify-content: space-between;
          margin-right: 50px; }
          header .inner .header_nav ul li {
            font-size: 16px;
            letter-spacing: 0.1em; }
            header .inner .header_nav ul li a {
              display: block;
              height: 50px;
              line-height: 50px;
              color: #000;
              transition: 0.3s cubic-bezier(0.4, 0.4, 0, 1); }
              header .inner .header_nav ul li a:hover {
                color: #bfbfbf; }

  header.top .header_txt {
    color: #fff !important; }
  header.top .header_nav {
    display: none !important; }

  #fix_header {
    width: 100%;
    position: fixed;
    left: 0;
    top: 0;
    box-sizing: border-box;
    background: rgba(255, 255, 255, 0.9);
    transition: all 0.5s ease;
    opacity: 0;
    transform: translateY(-140px);
    z-index: 100; }
    #fix_header .inner {
      display: flex;
      justify-content: space-between; }
      #fix_header .inner .header_logo {
        width: 45%;
        max-width: 360px;
        padding: 25px 0 25px 30px; }
        #fix_header .inner .header_logo a {
          display: block;
          width: 300px;
          max-width: 100%; }
      #fix_header .inner .header_nav {
        width: 45%;
        max-width: 450px;
        padding: 30px 80px 0 0; }
        #fix_header .inner .header_nav ul {
          max-width: 400px;
          display: flex;
          justify-content: space-between;
          margin-right: 50px; }
          #fix_header .inner .header_nav ul li {
            font-size: 16px;
            letter-spacing: 0.1em; }
            #fix_header .inner .header_nav ul li a {
              display: block;
              height: 50px;
              line-height: 50px;
              color: #000;
              transition: 0.3s cubic-bezier(0.4, 0.4, 0, 1); }
              #fix_header .inner .header_nav ul li a:hover {
                color: #bfbfbf; }

  #fix_header.show {
    transform: translateY(0);
    opacity: 1; }

  nav.hum {
    display: block;
    position: fixed;
    top: 0;
    right: -100%;
    width: 35%;
    height: 100vh;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    transition: all .5s;
    z-index: 21;
    opacity: 0;
    background: rgba(255, 255, 255, 0.9);
    box-sizing: border-box; }

  .open nav.hum {
    right: 0;
    opacity: 1; }
  .open .toggle_btn span.close {
    display: none; }
  .open .toggle_btn span.active {
    display: block;
    color: #000 !important; }
  .open #mask {
    display: block;
    transition: all .5s;
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    z-index: 20;
    background: rgba(0, 0, 0, 0.16); }

  .hum .hum_inner {
    box-sizing: border-box;
    padding: 64px; }
    .hum .hum_inner .cat {
      margin-bottom: 64px; }
      .hum .hum_inner .cat li:first-child {
        margin-bottom: 40px; }
      .hum .hum_inner .cat li a {
        display: inline-block;
        font-size: 24px;
        letter-spacing: 0.05em;
        line-height: 1.2em;
        color: #333333;
        transition: 0.3s cubic-bezier(0.4, 0.4, 0, 1); }
        .hum .hum_inner .cat li a:hover {
          opacity: 0.5;
          transform: translate(5px, 0px); }
    .hum .hum_inner .hum_menu {
      margin-bottom: 64px; }
      .hum .hum_inner .hum_menu li {
        margin-bottom: 10px; }
        .hum .hum_inner .hum_menu li:last-child {
          margin-bottom: 0; }
        .hum .hum_inner .hum_menu li a {
          display: inline-block;
          font-size: 16px;
          letter-spacing: 0.05em;
          line-height: 1.5em;
          font-weight: 500;
          color: #868686;
          transition: 0.3s cubic-bezier(0.4, 0.4, 0, 1); }
          .hum .hum_inner .hum_menu li a:hover {
            color: #000; }
    .hum .hum_inner .hum_sns {
      display: flex;
      justify-content: flex-start; }
      .hum .hum_inner .hum_sns li {
        display: inline-block; }
        .hum .hum_inner .hum_sns li:first-child {
          padding-right: 1em; }
        .hum .hum_inner .hum_sns li:last-child {
          padding-left: 1em; }
        .hum .hum_inner .hum_sns li a {
          display: inline-block;
          font-size: 16px;
          letter-spacing: 0.05em;
          line-height: 1.5em;
          font-weight: 500;
          color: #868686;
          transition: 0.3s cubic-bezier(0.4, 0.4, 0, 1); }
          .hum .hum_inner .hum_sns li a:hover {
            color: #000; }

  .toggle_btn {
    display: block;
    position: fixed;
    top: 30px;
    right: 30px;
    width: 50px;
    height: 50px;
    color: #000;
    transition: all .5s;
    text-align: center;
    cursor: pointer;
    z-index: 101; }
    .toggle_btn span {
      display: block;
      position: absolute;
      left: 0;
      top: 50%;
      transform: translateY(-50%);
      width: 100%;
      font-size: 24px;
      cursor: pointer;
      transition: all .5s; }
    .toggle_btn span.close {
      display: block; }
    .toggle_btn span.active {
      display: none; }

  .toggle_btn.white {
    color: #fff; }

  .toggle_btn.black {
    color: #000; }

  #mask {
    display: none;
    transition: all .5s; }

  .content {
    display: flex;
    justify-content: space-between; }
    .content article {
      width: 70%;
      box-sizing: border-box;
      padding: 20px 32px 0 64px;
      border-right: solid 1px #eeeeee; }
      .content article .news_cont {
        width: 100%;
        margin-bottom: 32px; }
        .content article .news_cont h2 {
          font-size: 40px;
          letter-spacing: 0.05em;
          line-height: 1.5em;
          color: #333333;
          margin-left: 10px;
          margin-bottom: 20px; }
          .content article .news_cont h2 span {
            display: inline-block;
            margin-left: 10px;
            color: #EEEEEE; }
        .content article .news_cont .news_boxes {
          display: flex;
          justify-content: space-between;
          flex-wrap: wrap; }
          .content article .news_cont .news_boxes .news_box {
            width: 47%;
            padding-bottom: 20px;
            margin-bottom: 30px; }
            .content article .news_cont .news_boxes .news_box .news_box_img {
              width: 100%;
              height: 260px;
              background-repeat: no-repeat;
              background-position: center;
              background-size: cover;
              margin-bottom: 20px; }
            .content article .news_cont .news_boxes .news_box:first-child {
              width: 100%;
              border-bottom: solid 1px #eeeeee; }
              .content article .news_cont .news_boxes .news_box:first-child .news_box_img {
                height: 440px; }
            .content article .news_cont .news_boxes .news_box .news_box_txt .date {
              font-size: 10px;
              letter-spacing: 0.05em;
              line-height: 1;
              color: #666666; }
            .content article .news_cont .news_boxes .news_box .news_box_txt h3 {
              font-size: 28px;
              line-height: 1.2em;
              font-weight: 500;
              color: #333333;
              margin: 10px 0; }
            .content article .news_cont .news_boxes .news_box .news_box_txt .txt {
              font-size: 12px;
              letter-spacing: 0.05em;
              line-height: 2em;
              color: #868686; }
        .content article .news_cont .more {
          text-align: right;
          border-bottom: solid 1px #EEEEEE; }
          .content article .news_cont .more a {
            display: inline-block;
            font-size: 12px;
            line-height: 1.5em;
            color: #333;
            padding: 7px 0;
            transition: 0.3s; }
            .content article .news_cont .more a:hover {
              color: #bfbfbf; }
    .content aside {
      width: 30%;
      box-sizing: border-box;
      padding: 0 64px 0 32px; }
      .content aside .side_news_cont {
        width: 100%;
        margin-bottom: 64px; }
        .content aside .side_news_cont h2 {
          font-size: 28px;
          letter-spacing: 0.03em;
          line-height: 1.4em;
          color: #333333;
          margin-bottom: 20px; }
        .content aside .side_news_cont .side_news_boxes {
          width: 100%; }
          .content aside .side_news_cont .side_news_boxes .side_news_box {
            width: 100%;
            padding-bottom: 10px;
            margin-bottom: 15px;
            border-bottom: solid 1px #EEEEEE; }
            .content aside .side_news_cont .side_news_boxes .side_news_box .side_news_box_img {
              width: 100%;
              height: 150px;
              background-repeat: no-repeat;
              background-position: center;
              background-size: cover; }
            .content aside .side_news_cont .side_news_boxes .side_news_box .side_news_box_txt {
              padding-top: 20px; }
              .content aside .side_news_cont .side_news_boxes .side_news_box .side_news_box_txt .date {
                font-size: 10px;
                letter-spacing: 0.05em;
                line-height: 1;
                color: #666666; }
              .content aside .side_news_cont .side_news_boxes .side_news_box .side_news_box_txt h3 {
                font-size: 20px;
                line-height: 1.2em;
                font-weight: 500;
                color: #333333;
                margin: 10px 0; }
              .content aside .side_news_cont .side_news_boxes .side_news_box .side_news_box_txt .txt {
                font-size: 12px;
                letter-spacing: 0.05em;
                line-height: 2em;
                color: #868686; }
        .content aside .side_news_cont .more {
          text-align: right;
          border-bottom: solid 1px #EEEEEE; }
          .content aside .side_news_cont .more a {
            display: inline-block;
            font-size: 12px;
            line-height: 1.5em;
            color: #333;
            padding: 7px 0;
            transition: 0.3s; }
            .content aside .side_news_cont .more a:hover {
              color: #bfbfbf; }
      .content aside .side_tags {
        margin-top: 60px; }
        .content aside .side_tags h2 {
          font-size: 28px;
          letter-spacing: 0.03em;
          line-height: 1.4em;
          color: #333333;
          margin-bottom: 20px; }
        .content aside .side_tags ul {
          display: flex;
          justify-content: flex-start;
          flex-wrap: wrap; }
          .content aside .side_tags ul li {
            margin: 5px; }
            .content aside .side_tags ul li a {
              display: inline-block;
              font-size: 12px;
              letter-spacing: 0.01em;
              color: #000;
              text-align: center;
              padding: 10px;
              border-radius: 16px;
              background: #EEEEEE; }

  #top_mv {
    margin-bottom: 65px; }
    #top_mv .inner {
      width: 100%;
      height: 100%; }
      #top_mv .inner .top_mv_slider {
        width: 100%;
        height: 100%; }
        #top_mv .inner .top_mv_slider .top_mv_cont {
          width: 100%;
          height: 100vh;
          position: relative; }
          #top_mv .inner .top_mv_slider .top_mv_cont .bg {
            width: 100%;
            height: 100%;
            position: absolute;
            top: 0;
            left: 0;
            background-repeat: no-repeat;
            background-position: center;
            background-size: cover;
            filter: brightness(0.6);
            z-index: -2; }
          #top_mv .inner .top_mv_slider .top_mv_cont a {
            display: block;
            color: #fff;
            box-sizing: border-box; }
          #top_mv .inner .top_mv_slider .top_mv_cont .top_mv_box {
            width: 700px;
            max-width: 70%;
            position: absolute;
            bottom: 100px;
            right: 5%;
            padding-bottom: 20px;
            border-bottom: solid 1px rgba(255, 255, 255, 0.5);
            opacity: 0;
            transform: translateY(50px);
            transition: all 0.8s ease; }
            #top_mv .inner .top_mv_slider .top_mv_cont .top_mv_box h2 {
              font-size: 36px;
              line-height: 1.2em;
              font-weight: 700;
              margin-bottom: 10px; }
            #top_mv .inner .top_mv_slider .top_mv_cont .top_mv_box .top_mv_box_txt {
              font-size: 15px;
              line-height: 1.8em; }
          #top_mv .inner .top_mv_slider .top_mv_cont .top_mv_box.show {
            opacity: 1;
            transform: translateY(0); }
          #top_mv .inner .top_mv_slider .top_mv_cont .more {
            width: 110px;
            font-size: 14px;
            letter-spacing: 0.05em;
            line-height: 1.4em;
            font-weight: 500;
            padding: 5px 0 4px 5px;
            border-bottom: solid 1px rgba(238, 238, 238, 0.5);
            position: absolute;
            left: 64px;
            bottom: 75px;
            opacity: 0;
            transform: translateX(50px);
            transition: all 0.8s ease; }
          #top_mv .inner .top_mv_slider .top_mv_cont .more.show {
            opacity: 1;
            transform: translateX(0); }
        #top_mv .inner .top_mv_slider .prev-arrow {
          width: 20px;
          height: 20px;
          border-bottom: 0px solid #FFFFFF;
          border-left: 1px solid #FFFFFF;
          border-right: 0px solid #FFFFFF;
          border-top: 1px solid #FFFFFF;
          position: absolute;
          top: 50%;
          left: 30px;
          transform: rotate(-45deg) translateY(-50%);
          opacity: 0.7;
          z-index: 2;
          cursor: pointer; }
        #top_mv .inner .top_mv_slider .next-arrow {
          width: 20px;
          height: 20px;
          border-bottom: 1px solid #FFFFFF;
          border-left: 0px solid #FFFFFF;
          border-right: 1px solid #FFFFFF;
          border-top: 0px solid #FFFFFF;
          position: absolute;
          top: 50%;
          right: 30px;
          transform: rotate(-45deg) translateY(-50%);
          opacity: 0.7;
          z-index: 2;
          cursor: pointer; }

  footer {
    width: 100%;
    background: #1a1a1a; }
    footer .inner {
      box-sizing: border-box;
      padding: 50px 64px;
      display: flex;
      justify-content: space-between; }
      footer .inner .footer_left {
        width: 300px; }
        footer .inner .footer_left .footer_logo {
          width: 300px; }
        footer .inner .footer_left .footer_left_txt {
          font-size: 11px;
          line-height: 1.4em;
          color: #666666;
          margin: 20px 0 64px; }
        footer .inner .footer_left .copyright {
          font-size: 10px;
          letter-spacing: 0.05em;
          line-height: 1.4em;
          color: #666666; }
      footer .inner .footer_menu {
        width: 1005px;
        max-width: 80%;
        display: flex;
        justify-content: flex-end; }
        footer .inner .footer_menu dl {
          width: 30%;
          box-sizing: border-box;
          padding: 0 10px; }
          footer .inner .footer_menu dl dt {
            font-size: 14px;
            letter-spacing: 0.1em;
            line-height: 1.2em;
            color: #bfbfbf;
            margin-bottom: 20px; }
          footer .inner .footer_menu dl dd {
            font-size: 12px;
            letter-spacing: 0.05em;
            line-height: 1.2em;
            padding: 7px 0; }
            footer .inner .footer_menu dl dd a {
              display: inline-block;
              color: #666666;
              transition: 0.3s; }
              footer .inner .footer_menu dl dd a:hover {
                color: #fff; }

  .under {
    margin-top: 200px;
    border-top: 1px solid #EEEEEE; }
    .under .inner {
      padding: 32px 0 64px; }
      .under .inner h2 {
        font-size: 40px;
        letter-spacing: 0.05em;
        line-height: 1.5em;
        color: #333;
        text-align: center;
        margin-bottom: 32px; }

  #article .inner {
    width: 90%;
    margin: 0 auto 60px; }
    #article .inner .article_cat {
      text-align: center;
      font-size: 0;
      margin-bottom: 60px; }
      #article .inner .article_cat li {
        display: inline-block;
        margin: 0 50px; }
        #article .inner .article_cat li a {
          font-size: 14px;
          letter-spacing: 0.05em;
          line-height: 1.2em;
          color: #868685; }
          #article .inner .article_cat li a:hover {
            color: #333; }
    #article .inner .back_btn {
      margin-bottom: 60px; }
      #article .inner .back_btn a {
        display: flex;
        justify-content: center;
        align-items: center;
        color: #868686;
        transition: 0.3s; }
        #article .inner .back_btn a i {
          display: block;
          width: 30px;
          font-size: 20px; }
        #article .inner .back_btn a p {
          font-size: 14px;
          letter-spacing: 0.05em;
          line-height: 1.5em; }
        #article .inner .back_btn a:hover {
          color: #333;
          flex: none;
          transform: translate(5px, 0px); }
    #article .inner .article_boxes {
      display: flex;
      justify-content: flex-start;
      flex-wrap: wrap; }
      #article .inner .article_boxes .article_box {
        width: 30%;
        margin-right: 5%; }
        #article .inner .article_boxes .article_box:nth-child(3n) {
          margin-right: 0; }
        #article .inner .article_boxes .article_box:nth-child(n+4) {
          margin-top: 50px; }
        #article .inner .article_boxes .article_box .article_box_img {
          width: 100%;
          height: 260px;
          background-repeat: no-repeat;
          background-position: center;
          background-size: cover; }
        #article .inner .article_boxes .article_box .article_box_txt {
          padding: 20px 0; }
          #article .inner .article_boxes .article_box .article_box_txt .date {
            font-size: 10px;
            letter-spacing: 0.05em;
            line-height: 1;
            color: #666666; }
          #article .inner .article_boxes .article_box .article_box_txt h3 {
            font-size: 28px;
            line-height: 1.2em;
            font-weight: 500;
            color: #333333;
            margin: 10px 0; }
          #article .inner .article_boxes .article_box .article_box_txt .txt {
            font-size: 12px;
            letter-spacing: 0.05em;
            line-height: 2em;
            color: #868686; }

  #pagenation {
    text-align: center;
    font-size: 0;
    margin: 30px 0; }
    #pagenation a {
      display: inline-block;
      width: 45px;
      height: 45px;
      font-size: 15px;
      line-height: 43px;
      font-weight: 500;
      color: #333333;
      padding: 0;
      box-sizing: border-box;
      border: solid 1px #333333;
      border-radius: 100%;
      margin: 0 5px;
      vertical-align: middle; }
    #pagenation a.previouspostslink {
      line-height: 40px; }
    #pagenation a.nextpostslink {
      line-height: 40px; }
    #pagenation span {
      display: inline-block;
      width: 45px;
      height: 45px;
      font-size: 15px;
      line-height: 43px;
      font-weight: 500;
      color: #333333;
      padding: 0;
      box-sizing: border-box;
      border: solid 1px #333333;
      border-radius: 100%;
      margin: 0 5px;
      vertical-align: middle; }
    #pagenation span.current {
      color: #fff;
      background: #333333; }

  #article_d .mv .mv_img {
    width: 100%;
    height: 100vh;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover; }
  #article_d .content {
    padding: 64px 0; }
    #article_d .content article {
      border: none;
      padding: 0; }
      #article_d .content article .article_d_cont {
        width: 80%;
        margin: 0 auto; }
        #article_d .content article .article_d_cont .article_d_ttl {
          font-size: 48px;
          line-height: 1.5em;
          font-weight: 500;
          color: #333;
          margin-bottom: 34px; }
        #article_d .content article .article_d_cont .article_d_box {
          margin-bottom: 34px; }
          #article_d .content article .article_d_cont .article_d_box p {
            font-size: 15px;
            line-height: 2.3em;
            color: #333;
            margin: 10px 0; }
          #article_d .content article .article_d_cont .article_d_box h3 {
            font-size: 15px;
            line-height: 2.3em;
            color: #333;
            margin: 10px 0; }
          #article_d .content article .article_d_cont .article_d_box ul li {
            font-size: 15px;
            line-height: 2.3em;
            color: #333;
            margin: 10px 0; }
        #article_d .content article .article_d_cont .article_d_btm {
          display: flex;
          justify-content: flex-start;
          align-items: flex-start;
          padding-bottom: 32px;
          border-bottom: solid 1px #EEEEEE;
          margin-bottom: 64px; }
          #article_d .content article .article_d_cont .article_d_btm .tagarea {
            display: flex;
            justify-content: flex-start;
            align-items: flex-start;
            flex: 1; }
            #article_d .content article .article_d_cont .article_d_btm .tagarea .ttl {
              font-size: 20px;
              letter-spacing: 0.05em;
              line-height: 1.4em;
              margin-right: 10px; }
            #article_d .content article .article_d_cont .article_d_btm .tagarea .tag ul {
              display: flex;
              justify-content: flex-start;
              flex-wrap: wrap; }
              #article_d .content article .article_d_cont .article_d_btm .tagarea .tag ul li {
                margin: 0 5px 10px; }
                #article_d .content article .article_d_cont .article_d_btm .tagarea .tag ul li a {
                  display: inline-block;
                  font-size: 12px;
                  letter-spacing: 0.01em;
                  color: #000;
                  text-align: center;
                  padding: 10px;
                  border-radius: 16px;
                  background: #EEEEEE;
                  transition: 0.3s; }
                  #article_d .content article .article_d_cont .article_d_btm .tagarea .tag ul li a:hover {
                    background: #bfbfbf; }
          #article_d .content article .article_d_cont .article_d_btm .date {
            font-size: 12px;
            letter-spacing: 0.05em;
            line-height: 28px;
            margin-left: 20px; }
        #article_d .content article .article_d_cont .article_d_btn a {
          display: flex;
          align-items: center;
          font-size: 20px;
          line-height: 1.5em;
          color: #333;
          transition: 0.3s; }
          #article_d .content article .article_d_cont .article_d_btn a:hover {
            opacity: 0.5; }
          #article_d .content article .article_d_cont .article_d_btn a .icon {
            font-size: 24px;
            line-height: 30px;
            margin-right: 30px; }

  #tag {
    border: none; }
    #tag .content {
      padding: 0 0 32px; }
      #tag .content article {
        border: none;
        padding: 0; }
        #tag .content article .inner {
          width: 80%;
          margin: 0 auto;
          padding-top: 0; }
          #tag .content article .inner .tag_ttl {
            font-size: 32px;
            letter-spacing: 0.05em;
            line-height: 1.5em;
            color: #bfbfbf;
            margin-bottom: 20px; }
            #tag .content article .inner .tag_ttl span {
              color: #333;
              margin-right: 10px; }
          #tag .content article .inner .tag_boxes {
            margin-top: 27px; }
            #tag .content article .inner .tag_boxes .tag_box {
              box-sizing: border-box;
              padding: 10px;
              border-bottom: solid 1px #EEEEEE;
              display: flex;
              justify-content: flex-start;
              align-items: flex-start;
              margin-bottom: 22px; }
              #tag .content article .inner .tag_boxes .tag_box a {
                transition: 0.3s; }
                #tag .content article .inner .tag_boxes .tag_box a:hover {
                  opacity: 0.8; }
              #tag .content article .inner .tag_boxes .tag_box .tag_box_img {
                width: 221px;
                height: 204px;
                background-repeat: no-repeat;
                background-position: center;
                background-size: cover;
                position: relative;
                transition: 0.3s; }
                #tag .content article .inner .tag_boxes .tag_box .tag_box_img:hover {
                  opacity: 0.8; }
                #tag .content article .inner .tag_boxes .tag_box .tag_box_img a {
                  display: block;
                  width: 100%;
                  height: 100%;
                  position: absolute;
                  top: 0;
                  left: 0; }
              #tag .content article .inner .tag_boxes .tag_box .tag_box_left {
                flex: 1;
                width: calc( 100% - 25px );
                max-width: calc( 100% - 25px );
                margin-left: 25px; }
                #tag .content article .inner .tag_boxes .tag_box .tag_box_left h2 {
                  font-size: 24px;
                  line-height: 1.4em;
                  font-weight: 500;
                  text-align: left;
                  margin-bottom: 0; }
                  #tag .content article .inner .tag_boxes .tag_box .tag_box_left h2 a {
                    color: #333333; }
                #tag .content article .inner .tag_boxes .tag_box .tag_box_left .tag_box_txt {
                  font-size: 12px;
                  letter-spacing: 0.05em;
                  line-height: 2em;
                  margin-top: 9px; }
                  #tag .content article .inner .tag_boxes .tag_box .tag_box_left .tag_box_txt a {
                    color: #868686; }
                #tag .content article .inner .tag_boxes .tag_box .tag_box_left .tagarea {
                  margin-top: 11px; }
                  #tag .content article .inner .tag_boxes .tag_box .tag_box_left .tagarea ul {
                    display: flex;
                    justify-content: flex-start;
                    flex-wrap: wrap; }
                    #tag .content article .inner .tag_boxes .tag_box .tag_box_left .tagarea ul li {
                      margin: 0 5px 10px; }
                      #tag .content article .inner .tag_boxes .tag_box .tag_box_left .tagarea ul li a {
                        display: inline-block;
                        font-size: 12px;
                        letter-spacing: 0.05em;
                        color: #000;
                        text-align: center;
                        padding: 10px;
                        border-radius: 16px;
                        background: #EEEEEE;
                        transition: 0.3s; }
                        #tag .content article .inner .tag_boxes .tag_box .tag_box_left .tagarea ul li a:hover {
                          background: #bfbfbf; }
          #tag .content article .inner .article_d_btn a {
            display: flex;
            align-items: center;
            font-size: 20px;
            line-height: 1.5em;
            color: #333;
            transition: 0.3s; }
            #tag .content article .inner .article_d_btn a:hover {
              opacity: 0.5; }
            #tag .content article .inner .article_d_btn a .icon {
              font-size: 24px;
              line-height: 30px;
              margin-right: 30px; }

  #about .inner {
    text-align: center; }
    #about .inner h3 {
      font-size: 18px;
      line-height: 2.3em;
      color: #333;
      margin-bottom: 20px; }
    #about .inner .about_txt {
      font-size: 14px;
      line-height: 2.3em;
      font-weight: 500;
      color: #333; }

  #contact .inner {
    width: 600px;
    margin: 0 auto; }
    #contact .inner .contact_form table {
      width: 100%;
      margin-bottom: 20px; }
      #contact .inner .contact_form table tr th {
        display: block;
        width: 100%;
        font-size: 16px;
        letter-spacing: 0.05em;
        line-height: 1.5em;
        color: #333;
        text-align: left; }
        #contact .inner .contact_form table tr th div {
          display: inline-block;
          position: relative;
          padding-right: 15px; }
          #contact .inner .contact_form table tr th div::before {
            position: absolute;
            content: "*";
            font-size: 15px;
            line-height: 1.4em;
            font-weight: 700;
            color: #f23a3c;
            font-family: "Cormorant Garamond", serif;
            top: 0;
            right: 0; }
      #contact .inner .contact_form table tr td {
        display: block;
        width: 100%;
        font-size: 15px;
        letter-spacing: 0.05em;
        line-height: 1.5em;
        color: #333;
        padding: 10px 0 20px; }
        #contact .inner .contact_form table tr td input {
          width: 100%;
          height: 50px;
          box-sizing: border-box;
          padding: 10px;
          border: solid 1px #666666;
          border-radius: 4px;
          background: #fff;
          font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif; }
          #contact .inner .contact_form table tr td input::placeholder {
            color: #bfbfbf; }
        #contact .inner .contact_form table tr td textarea {
          width: 100%;
          height: 160px;
          resize: none;
          box-sizing: border-box;
          padding: 10px;
          border: solid 1px #666666;
          border-radius: 4px;
          background: #fff;
          font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif; }
          #contact .inner .contact_form table tr td textarea::placeholder {
            color: #bfbfbf; }
      #contact .inner .contact_form table tr:last-child td {
        padding-bottom: 0; }
    #contact .inner .contact_form .check {
      margin-bottom: 40px; }
      #contact .inner .contact_form .check label {
        font-size: 12px;
        letter-spacing: 0.05em;
        line-height: 1.5em;
        font-weight: 500; }
        #contact .inner .contact_form .check label input {
          width: 13px;
          height: 13px;
          margin-right: 10px;
          vertical-align: -0.15em; }
    #contact .inner .contact_form .submit {
      width: 100%; }
      #contact .inner .contact_form .submit input {
        width: 100%;
        font-size: 18px;
        letter-spacing: 0.1em;
        line-height: 1;
        color: #333;
        text-align: center;
        font-family: "Cormorant Garamond", serif;
        box-sizing: border-box;
        padding: 15px;
        border: solid 1px #666666;
        border-radius: 4px;
        background: #fff;
        box-shadow: 6px 6px 2px #EEEEEE;
        cursor: pointer;
        transition: 0.3s; }
        #contact .inner .contact_form .submit input:hover {
          background: #EEEEEE;
          box-shadow: none; }
    #contact .inner .thanks_txt {
      font-size: 14px;
      line-height: 1.8em;
      font-weight: 500;
      color: #333;
      text-align: center; }
    #contact .inner .back_top {
      width: 300px;
      margin: 50px auto 0; }
      #contact .inner .back_top a {
        display: block;
        width: 100%;
        font-size: 18px;
        letter-spacing: 0.1em;
        line-height: 1;
        color: #333;
        text-align: center;
        font-family: "Cormorant Garamond", serif;
        box-sizing: border-box;
        padding: 15px;
        border: solid 1px #666666;
        border-radius: 4px;
        background: #fff;
        box-shadow: 6px 6px 2px #EEEEEE;
        cursor: pointer;
        transition: 0.3s; }
        #contact .inner .back_top a:hover {
          box-shadow: none; }

  #privacy .inner {
    width: 95%;
    max-width: 800px;
    margin: 0 auto; }
    #privacy .inner .privacy_txt {
      font-size: 14px;
      letter-spacing: 0.05em;
      line-height: 2em;
      color: #333;
      margin-bottom: 10px; }
    #privacy .inner dl dt {
      font-size: 16px;
      letter-spacing: 0.05em;
      line-height: 2em;
      font-weight: 700;
      color: #333;
      text-decoration: underline;
      margin-bottom: 10px; }
    #privacy .inner dl dd {
      font-size: 14px;
      letter-spacing: 0.05em;
      line-height: 2em;
      color: #333;
      margin-bottom: 10px; }
      #privacy .inner dl dd span {
        display: inline-block;
        margin: 10px 0; } }
@media screen and (max-width: 768px) {
  html {
    font-size: calc(1vw * 100 / 750); }

  body {
    font-size: 16rem; }

  .cale {
    box-sizing: border-box;
    padding: 0 20px; }
    .cale .cale_ttl {
      font-size: 40rem;
      line-height: 1.5em;
      font-weight: 700;
      text-align: center; }
    .cale .txt {
      font-size: 20rem;
      line-height: 1.6em;
      margin-bottom: 1em;
      margin-top: 0.6em;
      text-align: center; }
    .cale .scc-calendar-wrapper .scc-calendar-box h3 {
      margin-bottom: 1em;
      font-size: 30rem; }

  .pconly {
    display: none !important; }

  header {
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 101; }
    header .inner {
      padding: 50rem;
      box-sizing: border-box; }
      header .inner .header_logo a {
        display: block;
        width: 100%; }
      header .inner .header_logo h1 {
        width: 400rem;
        margin-bottom: 10px; }
      header .inner .header_logo .header_txt {
        width: 570rem;
        font-size: 24rem;
        line-height: 1.4em;
        color: #000; }

  header.top .header_txt {
    color: #fff !important; }

  #fix_header {
    width: 100%;
    position: fixed;
    left: 0;
    top: 0;
    box-sizing: border-box;
    background: rgba(255, 255, 255, 0.9);
    transition: all 0.5s ease;
    opacity: 0;
    transform: translateY(-140px);
    z-index: 100; }
    #fix_header .inner {
      padding: 50rem;
      box-sizing: border-box; }
      #fix_header .inner .header_logo a {
        display: block;
        width: 400rem; }

  #fix_header.show {
    transform: translateY(0);
    opacity: 1; }

  nav.hum {
    display: block;
    position: fixed;
    top: 0;
    right: -100%;
    width: 100%;
    height: 100vh;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    transition: all .5s;
    z-index: 21;
    opacity: 0;
    background: rgba(255, 255, 255, 0.9);
    box-sizing: border-box; }

  .open nav.hum {
    right: 0;
    opacity: 1; }
  .open .toggle_btn span.close {
    display: none; }
  .open .toggle_btn span.active {
    display: block;
    color: #000 !important; }
  .open #mask {
    display: block;
    transition: all .5s;
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    z-index: 20;
    background: rgba(0, 0, 0, 0.16); }

  .hum .hum_inner {
    box-sizing: border-box;
    padding: 128rem; }
    .hum .hum_inner .cat {
      margin-bottom: 128rem; }
      .hum .hum_inner .cat li:first-child {
        margin-bottom: 80rem; }
      .hum .hum_inner .cat li a {
        display: inline-block;
        font-size: 48rem;
        letter-spacing: 0.05em;
        line-height: 1.2em;
        color: #333333; }
    .hum .hum_inner .hum_menu {
      margin-bottom: 128rem; }
      .hum .hum_inner .hum_menu li {
        margin-bottom: 20rem; }
        .hum .hum_inner .hum_menu li:last-child {
          margin-bottom: 0; }
        .hum .hum_inner .hum_menu li a {
          display: inline-block;
          font-size: 32rem;
          letter-spacing: 0.05em;
          line-height: 1.5em;
          font-weight: 500;
          color: #868686; }
    .hum .hum_inner .hum_sns {
      display: flex;
      justify-content: flex-start; }
      .hum .hum_inner .hum_sns li {
        display: inline-block; }
        .hum .hum_inner .hum_sns li:first-child {
          padding-right: 32rem; }
        .hum .hum_inner .hum_sns li:last-child {
          padding-left: 32rem; }
        .hum .hum_inner .hum_sns li a {
          display: inline-block;
          font-size: 32rem;
          letter-spacing: 0.05em;
          line-height: 1.5em;
          font-weight: 500;
          color: #868686; }

  .toggle_btn {
    display: block;
    position: fixed;
    top: 50rem;
    right: 50rem;
    width: 48rem;
    height: 48rem;
    color: #000;
    transition: all .5s;
    text-align: center;
    cursor: pointer;
    z-index: 101; }
    .toggle_btn span {
      display: block;
      position: absolute;
      left: 0;
      top: 50%;
      transform: translateY(-50%);
      width: 100%;
      font-size: 48rem;
      cursor: pointer;
      transition: all .5s; }
    .toggle_btn span.close {
      display: block; }
    .toggle_btn span.active {
      display: none; }

  .toggle_btn.white {
    color: #fff; }

  .toggle_btn.black {
    color: #000; }

  #mask {
    display: none;
    transition: all .5s; }

  .content article {
    width: 100%;
    box-sizing: border-box;
    padding: 0 40rem; }
    .content article .news_cont {
      width: 100%;
      margin-bottom: 40rem; }
      .content article .news_cont h2 {
        font-size: 64rem;
        letter-spacing: 0.05em;
        line-height: 1.5em;
        color: #333333;
        margin-bottom: 10rem; }
        .content article .news_cont h2 span {
          display: inline-block;
          margin-left: 10rem;
          color: #EEEEEE; }
      .content article .news_cont .news_boxes {
        width: 100%;
        margin-bottom: 40rem; }
        .content article .news_cont .news_boxes .news_box {
          width: 100%;
          box-sizing: border-box;
          padding-bottom: 20rem;
          margin-bottom: 60rem; }
          .content article .news_cont .news_boxes .news_box .news_box_img {
            width: 100%;
            height: 480rem;
            background-repeat: no-repeat;
            background-position: center;
            background-size: cover;
            margin-bottom: 40rem; }
          .content article .news_cont .news_boxes .news_box .news_box_txt .date {
            font-size: 24rem;
            letter-spacing: 0.05em;
            line-height: 1;
            color: #666666; }
          .content article .news_cont .news_boxes .news_box .news_box_txt h3 {
            font-size: 40rem;
            line-height: 1.2em;
            font-weight: 500;
            color: #333333;
            margin: 20rem 0; }
          .content article .news_cont .news_boxes .news_box .news_box_txt .txt {
            font-size: 24rem;
            letter-spacing: 0.05em;
            line-height: 2em;
            color: #868686; }
      .content article .news_cont .more {
        text-align: right;
        border-bottom: solid 2rem #EEEEEE; }
        .content article .news_cont .more a {
          display: inline-block;
          font-size: 24rem;
          line-height: 1.5em;
          color: #333333;
          padding: 14rem 0;
          transition: 0.3s; }
    .content article .news_cont.pickup {
      position: relative; }
      .content article .news_cont.pickup .news_boxes {
        width: 100vw;
        left: 50%;
        transform: translateX(-50%);
        margin-bottom: 40rem;
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        position: relative;
        -webkit-overflow-scrolling: touch;
        overflow-scrolling: touch; }
        .content article .news_cont.pickup .news_boxes::-webkit-scrollbar {
          display: none; }
        .content article .news_cont.pickup .news_boxes .news_box {
          width: 100%;
          box-sizing: border-box;
          padding: 0 40rem 20rem;
          margin-bottom: 0;
          scroll-snap-align: center;
          flex: none;
          position: relative; }
          .content article .news_cont.pickup .news_boxes .news_box .news_box_img {
            width: 100%;
            height: 480rem;
            background-repeat: no-repeat;
            background-position: center;
            background-size: cover;
            margin-bottom: 40rem; }
      .content article .news_cont.pickup .scroll_txt {
        position: absolute;
        top: 30rem;
        right: 0;
        display: flex;
        justify-content: flex-start;
        align-items: center; }
        .content article .news_cont.pickup .scroll_txt p {
          font-size: 24rem;
          letter-spacing: 0.1em;
          line-height: 1.5em;
          color: #bfbfbf; }
        .content article .news_cont.pickup .scroll_txt i {
          font-size: 40rem;
          color: #d0d0d0;
          margin-left: 20rem; }
  .content aside {
    width: 100%;
    box-sizing: border-box;
    padding: 80rem 40rem 0; }
    .content aside .side_news_cont {
      width: 100%;
      margin-bottom: 40rem; }
      .content aside .side_news_cont h2 {
        font-size: 64rem;
        letter-spacing: 0.03em;
        line-height: 1.4em;
        color: #333333;
        margin-bottom: 10rem; }
      .content aside .side_news_cont .side_news_boxes {
        width: 100%; }
        .content aside .side_news_cont .side_news_boxes .side_news_box {
          width: 100%;
          padding-bottom: 20rem;
          margin-bottom: 60rem;
          border-bottom: solid 2rem #EEEEEE; }
          .content aside .side_news_cont .side_news_boxes .side_news_box .side_news_box_img {
            width: 100%;
            height: 480rem;
            background-repeat: no-repeat;
            background-position: center;
            background-size: cover; }
          .content aside .side_news_cont .side_news_boxes .side_news_box .side_news_box_txt {
            padding-top: 40rem; }
            .content aside .side_news_cont .side_news_boxes .side_news_box .side_news_box_txt .date {
              font-size: 24rem;
              letter-spacing: 0.05em;
              line-height: 1;
              color: #666666; }
            .content aside .side_news_cont .side_news_boxes .side_news_box .side_news_box_txt h3 {
              font-size: 40rem;
              line-height: 1.2em;
              font-weight: 500;
              color: #333333;
              margin: 20rem 0; }
            .content aside .side_news_cont .side_news_boxes .side_news_box .side_news_box_txt .txt {
              font-size: 24rem;
              letter-spacing: 0.05em;
              line-height: 2em;
              color: #868686; }
    .content aside .side_tags {
      margin: 40rem 0 60rem; }
      .content aside .side_tags h2 {
        font-size: 48rem;
        letter-spacing: 0.03em;
        line-height: 1.4em;
        color: #333333;
        margin-bottom: 40rem; }
      .content aside .side_tags ul {
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap; }
        .content aside .side_tags ul li {
          margin: 10rem; }
          .content aside .side_tags ul li a {
            display: inline-block;
            font-size: 24rem;
            letter-spacing: 0.05em;
            color: #000;
            text-align: center;
            padding: 20rem;
            border-radius: 32rem;
            background: #EEEEEE; }

  #top_mv {
    margin-bottom: 130rem; }
    #top_mv .inner {
      width: 100%;
      height: 100%; }
      #top_mv .inner .top_mv_slider {
        width: 100%;
        height: 100%; }
        #top_mv .inner .top_mv_slider .top_mv_cont {
          width: 100%;
          height: 100vh;
          position: relative; }
          #top_mv .inner .top_mv_slider .top_mv_cont .bg {
            width: 100%;
            height: 100%;
            position: absolute;
            top: 0;
            left: 0;
            background-repeat: no-repeat;
            background-position: center;
            background-size: cover;
            filter: brightness(0.6);
            z-index: -2; }
          #top_mv .inner .top_mv_slider .top_mv_cont a {
            display: block;
            color: #fff;
            box-sizing: border-box; }
          #top_mv .inner .top_mv_slider .top_mv_cont .top_mv_box {
            width: 90%;
            position: absolute;
            bottom: 100rem;
            left: 50%;
            padding-bottom: 20rem;
            border-bottom: solid 2rem rgba(255, 255, 255, 0.5);
            opacity: 0;
            transform: translateY(50px) translateX(-50%);
            transition: all 0.8s ease; }
            #top_mv .inner .top_mv_slider .top_mv_cont .top_mv_box h2 {
              font-size: 56rem;
              line-height: 1.2em;
              font-weight: 700;
              margin-bottom: 20rem; }
            #top_mv .inner .top_mv_slider .top_mv_cont .top_mv_box .top_mv_box_txt {
              font-size: 30rem;
              line-height: 1.8em; }
          #top_mv .inner .top_mv_slider .top_mv_cont .top_mv_box.show {
            opacity: 1;
            transform: translateY(0) translateX(-50%); }
          #top_mv .inner .top_mv_slider .top_mv_cont .more {
            width: 110px;
            font-size: 14px;
            letter-spacing: 0.05em;
            line-height: 1.4em;
            font-weight: 500;
            padding: 5px 0 4px 5px;
            border-bottom: solid 1px rgba(238, 238, 238, 0.5);
            position: absolute;
            left: 64px;
            bottom: 75px;
            opacity: 0;
            transform: translateX(50px);
            transition: all 0.8s ease; }
          #top_mv .inner .top_mv_slider .top_mv_cont .more.show {
            opacity: 1;
            transform: translateX(0); }
        #top_mv .inner .top_mv_slider .prev-arrow {
          width: 20px;
          height: 20px;
          border-bottom: 0px solid #FFFFFF;
          border-left: 1px solid #FFFFFF;
          border-right: 0px solid #FFFFFF;
          border-top: 1px solid #FFFFFF;
          position: absolute;
          top: 50%;
          left: 30px;
          transform: rotate(-45deg) translateY(-50%);
          opacity: 0.7;
          z-index: 2;
          cursor: pointer; }
        #top_mv .inner .top_mv_slider .next-arrow {
          width: 20px;
          height: 20px;
          border-bottom: 1px solid #FFFFFF;
          border-left: 0px solid #FFFFFF;
          border-right: 1px solid #FFFFFF;
          border-top: 0px solid #FFFFFF;
          position: absolute;
          top: 50%;
          right: 30px;
          transform: rotate(-45deg) translateY(-50%);
          opacity: 0.7;
          z-index: 2;
          cursor: pointer; }

  footer {
    width: 100%;
    background: #1a1a1a; }
    footer .inner {
      box-sizing: border-box;
      padding: 100rem 50rem; }
      footer .inner .footer_left {
        width: 100%;
        margin-bottom: 100rem; }
        footer .inner .footer_left .footer_logo {
          width: 400rem; }
        footer .inner .footer_left .footer_left_txt {
          width: 570rem;
          font-size: 24rem;
          line-height: 1.4em;
          color: #666666;
          margin: 20rem 0 0; }
      footer .inner .footer_menu {
        width: 100%; }
        footer .inner .footer_menu dl {
          margin-bottom: 80rem; }
          footer .inner .footer_menu dl dt {
            font-size: 40rem;
            letter-spacing: 0.1em;
            line-height: 1.2em;
            color: #bfbfbf;
            margin-bottom: 20rem; }
          footer .inner .footer_menu dl dd {
            font-size: 28rem;
            letter-spacing: 0.05em;
            line-height: 1.2em;
            padding: 14rem 0; }
            footer .inner .footer_menu dl dd a {
              display: inline-block;
              color: #666666; }
      footer .inner .copyright {
        font-size: 20rem;
        letter-spacing: 0.05em;
        line-height: 1.4em;
        color: #666666; }

  .under {
    margin-top: 250rem;
    border-top: solid 2rem #EEEEEE; }
    .under .inner {
      padding: 64rem 0 100rem; }
      .under .inner h2 {
        font-size: 64rem;
        letter-spacing: 0.05em;
        line-height: 1.5em;
        color: #333;
        text-align: center;
        margin-bottom: 80rem; }

  #article .inner {
    width: 100%;
    box-sizing: border-box;
    padding: 64rem 40rem 100rem; }
    #article .inner .article_cat {
      text-align: center;
      font-size: 0;
      margin-bottom: 60rem; }
      #article .inner .article_cat li {
        display: inline-block;
        margin: 0 60rem; }
        #article .inner .article_cat li a {
          font-size: 28rem;
          letter-spacing: 0.05em;
          line-height: 1.2em;
          color: #868685; }
    #article .inner .back_btn {
      margin-bottom: 60rem; }
      #article .inner .back_btn a {
        display: flex;
        justify-content: center;
        align-items: center;
        color: #868686;
        transition: 0.3s; }
        #article .inner .back_btn a i {
          display: block;
          width: 60rem;
          font-size: 40rem; }
        #article .inner .back_btn a p {
          font-size: 28rem;
          letter-spacing: 0.05em;
          line-height: 1.5em; }
    #article .inner .article_boxes .article_box {
      width: 100%; }
      #article .inner .article_boxes .article_box:nth-child(n+2) {
        margin-top: 60rem; }
      #article .inner .article_boxes .article_box .article_box_img {
        width: 100%;
        height: 480rem;
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover; }
      #article .inner .article_boxes .article_box .article_box_txt {
        padding: 40rem 0; }
        #article .inner .article_boxes .article_box .article_box_txt .date {
          font-size: 24rem;
          letter-spacing: 0.05em;
          line-height: 1;
          color: #666666; }
        #article .inner .article_boxes .article_box .article_box_txt h3 {
          font-size: 40rem;
          line-height: 1.2em;
          font-weight: 500;
          color: #333333;
          margin: 20rem 0; }
        #article .inner .article_boxes .article_box .article_box_txt .txt {
          font-size: 24rem;
          letter-spacing: 0.05em;
          line-height: 2em;
          color: #868686; }

  #pagenation {
    text-align: center;
    font-size: 0;
    margin: 60rem 0; }
    #pagenation a {
      display: inline-block;
      width: 60rem;
      height: 60rem;
      font-size: 24rem;
      line-height: 56rem;
      font-weight: 500;
      color: #333333;
      padding: 0;
      box-sizing: border-box;
      border: solid 2rem #333333;
      border-radius: 100%;
      margin: 0 8rem;
      vertical-align: middle; }
    #pagenation a.previouspostslink {
      line-height: 50rem; }
    #pagenation a.nextpostslink {
      line-height: 50rem; }
    #pagenation span {
      display: inline-block;
      width: 60rem;
      height: 60rem;
      font-size: 24rem;
      line-height: 56rem;
      font-weight: 500;
      color: #333333;
      padding: 0;
      box-sizing: border-box;
      border: solid 2rem #333333;
      border-radius: 100%;
      margin: 0 8rem;
      vertical-align: middle; }
    #pagenation span.current {
      color: #fff;
      background: #333333; }

  #article_d .mv .mv_img {
    width: 100%;
    height: 736rem;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover; }
  #article_d .content {
    padding: 64rem 0; }
    #article_d .content article {
      border: none;
      padding: 0; }
      #article_d .content article .article_d_cont {
        width: 90%;
        margin: 0 auto; }
        #article_d .content article .article_d_cont .article_d_ttl {
          font-size: 72rem;
          line-height: 1.5em;
          font-weight: 500;
          color: #333;
          margin-bottom: 68rem; }
        #article_d .content article .article_d_cont .article_d_box {
          margin-bottom: 68rem; }
          #article_d .content article .article_d_cont .article_d_box p {
            font-size: 30rem;
            line-height: 2.3em;
            color: #333;
            margin: 10rem 0; }
          #article_d .content article .article_d_cont .article_d_box h3 {
            font-size: 30rem;
            line-height: 2.3em;
            color: #333;
            margin: 10rem 0; }
          #article_d .content article .article_d_cont .article_d_box ul li {
            font-size: 30rem;
            line-height: 2.3em;
            color: #333;
            margin: 10rem 0; }
        #article_d .content article .article_d_cont .article_d_btm {
          padding-bottom: 32rem;
          border-bottom: solid 1rem #EEEEEE;
          margin-bottom: 64rem; }
          #article_d .content article .article_d_cont .article_d_btm .tagarea {
            margin-bottom: 40rem; }
            #article_d .content article .article_d_cont .article_d_btm .tagarea .ttl {
              font-size: 40rem;
              letter-spacing: 0.05em;
              line-height: 1.4em;
              margin-bottom: 20rem; }
            #article_d .content article .article_d_cont .article_d_btm .tagarea .tag ul {
              display: flex;
              justify-content: flex-start;
              flex-wrap: wrap; }
              #article_d .content article .article_d_cont .article_d_btm .tagarea .tag ul li {
                margin: 0 10rem 10rem; }
                #article_d .content article .article_d_cont .article_d_btm .tagarea .tag ul li a {
                  display: inline-block;
                  font-size: 24rem;
                  letter-spacing: 0.01em;
                  color: #000;
                  text-align: center;
                  padding: 20rem;
                  border-radius: 32rem;
                  background: #EEEEEE; }
          #article_d .content article .article_d_cont .article_d_btm .date {
            font-size: 24rem;
            letter-spacing: 0.05em;
            color: #333; }
        #article_d .content article .article_d_cont .article_d_btn a {
          display: flex;
          align-items: center;
          font-size: 40rem;
          line-height: 1.5em;
          color: #333; }
          #article_d .content article .article_d_cont .article_d_btn a .icon {
            font-size: 48rem;
            line-height: 60rem;
            margin-right: 60rem; }

  #tag {
    margin-top: 300rem; }
    #tag .content {
      padding: 32rem 0 32rem; }
      #tag .content article {
        border: none;
        padding: 0; }
        #tag .content article .inner {
          width: 90%;
          margin: 0 auto;
          padding-top: 0; }
          #tag .content article .inner .tag_ttl {
            font-size: 64rem;
            letter-spacing: 0.05em;
            line-height: 1.5em;
            color: #bfbfbf;
            box-sizing: border-box;
            padding-left: 10rem;
            margin-bottom: 40rem; }
            #tag .content article .inner .tag_ttl span {
              font-size: 72rem;
              color: #333;
              margin-right: 20rem; }
          #tag .content article .inner .tag_boxes {
            margin-top: 54rem; }
            #tag .content article .inner .tag_boxes .tag_box {
              box-sizing: border-box;
              padding: 20rem 10rem;
              border-bottom: solid 2rem #EEEEEE;
              margin-bottom: 44rem; }
              #tag .content article .inner .tag_boxes .tag_box .tag_box_img {
                display: none; }
              #tag .content article .inner .tag_boxes .tag_box .tag_box_left {
                width: 100%; }
                #tag .content article .inner .tag_boxes .tag_box .tag_box_left h2 {
                  font-size: 48rem;
                  line-height: 1.4em;
                  font-weight: 500;
                  text-align: left;
                  margin-bottom: 0; }
                  #tag .content article .inner .tag_boxes .tag_box .tag_box_left h2 a {
                    color: #333333; }
                #tag .content article .inner .tag_boxes .tag_box .tag_box_left .tag_box_txt {
                  font-size: 24rem;
                  letter-spacing: 0.05em;
                  line-height: 2em;
                  margin-top: 18rem; }
                  #tag .content article .inner .tag_boxes .tag_box .tag_box_left .tag_box_txt a {
                    color: #868686; }
                #tag .content article .inner .tag_boxes .tag_box .tag_box_left .tagarea {
                  margin-top: 22rem; }
                  #tag .content article .inner .tag_boxes .tag_box .tag_box_left .tagarea ul {
                    display: flex;
                    justify-content: flex-start;
                    flex-wrap: wrap; }
                    #tag .content article .inner .tag_boxes .tag_box .tag_box_left .tagarea ul li {
                      margin: 0 10rem 10rem; }
                      #tag .content article .inner .tag_boxes .tag_box .tag_box_left .tagarea ul li a {
                        display: inline-block;
                        font-size: 24rem;
                        letter-spacing: 0.01em;
                        color: #000;
                        text-align: center;
                        padding: 20rem;
                        border-radius: 32rem;
                        background: #EEEEEE; }
          #tag .content article .inner .article_d_btn a {
            display: flex;
            align-items: center;
            font-size: 40rem;
            line-height: 1.5em;
            color: #333; }
            #tag .content article .inner .article_d_btn a .icon {
              font-size: 48rem;
              line-height: 60rem;
              margin-right: 60rem; }

  #about .inner {
    width: 670rem;
    margin: 0 auto;
    text-align: center; }
    #about .inner h3 {
      font-size: 36rem;
      line-height: 2.3em;
      color: #333;
      margin-bottom: 40rem; }
    #about .inner .about_txt {
      font-size: 28rem;
      letter-spacing: 0.05em;
      line-height: 2.3em;
      font-weight: 500;
      color: #333;
      text-align: left; }

  #contact .inner {
    width: 670rem;
    margin: 0 auto; }
    #contact .inner .contact_form table {
      width: 100%;
      margin-bottom: 40rem; }
      #contact .inner .contact_form table tr th {
        display: block;
        width: 100%;
        font-size: 32rem;
        letter-spacing: 0.05em;
        line-height: 1.5em;
        color: #333;
        text-align: left; }
        #contact .inner .contact_form table tr th div {
          display: inline-block;
          position: relative;
          padding-right: 30rem; }
          #contact .inner .contact_form table tr th div::before {
            position: absolute;
            content: "*";
            font-size: 30rem;
            line-height: 1.4em;
            font-weight: 700;
            color: #f23a3c;
            font-family: "Cormorant Garamond", serif;
            top: 0;
            right: 0; }
      #contact .inner .contact_form table tr td {
        display: block;
        width: 100%;
        font-size: 30rem;
        letter-spacing: 0.05em;
        line-height: 1.5em;
        color: #333;
        padding: 20rem 0 40rem; }
        #contact .inner .contact_form table tr td input {
          width: 100%;
          height: 100rem;
          box-sizing: border-box;
          padding: 20rem;
          border: solid 2rem #666666;
          border-radius: 8rem;
          background: #fff;
          font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif; }
          #contact .inner .contact_form table tr td input::placeholder {
            color: #bfbfbf; }
        #contact .inner .contact_form table tr td textarea {
          width: 100%;
          height: 320rem;
          resize: none;
          box-sizing: border-box;
          padding: 20rem;
          border: solid 2rem #666666;
          border-radius: 8rem;
          background: #fff;
          font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif; }
          #contact .inner .contact_form table tr td textarea::placeholder {
            color: #bfbfbf; }
      #contact .inner .contact_form table tr:last-child td {
        padding-bottom: 0; }
    #contact .inner .contact_form .check {
      margin-bottom: 80rem; }
      #contact .inner .contact_form .check label {
        font-size: 24rem;
        letter-spacing: 0.05em;
        line-height: 1.5em;
        font-weight: 500; }
        #contact .inner .contact_form .check label input {
          width: 26rem;
          height: 26rem;
          margin-right: 20rem;
          vertical-align: -0.15em; }
    #contact .inner .contact_form .submit {
      width: 100%; }
      #contact .inner .contact_form .submit input {
        width: 100%;
        font-size: 36rem;
        letter-spacing: 0.1em;
        line-height: 1;
        color: #333;
        text-align: center;
        font-family: "Cormorant Garamond", serif;
        box-sizing: border-box;
        padding: 30rem;
        border: solid 2rem #666666;
        border-radius: 8rem;
        background: #fff;
        box-shadow: 12rem 12rem 4rem #EEEEEE;
        cursor: pointer; }
    #contact .inner .thanks_txt {
      font-size: 25rem;
      letter-spacing: 0.05em;
      line-height: 1.8em;
      font-weight: 500;
      color: #333;
      text-align: left; }
    #contact .inner .back_top {
      width: 300px;
      margin: 50px auto 0; }
      #contact .inner .back_top a {
        display: block;
        width: 100%;
        font-size: 36rem;
        letter-spacing: 0.1em;
        line-height: 1;
        color: #333;
        text-align: center;
        font-family: "Cormorant Garamond", serif;
        box-sizing: border-box;
        padding: 30rem;
        border: solid 2rem #666666;
        border-radius: 8rem;
        background: #fff;
        box-shadow: 12rem 12rem 4rem #EEEEEE;
        cursor: pointer; }

  #privacy .inner {
    width: 670rem;
    margin: 0 auto; }
    #privacy .inner .privacy_txt {
      font-size: 28rem;
      letter-spacing: 0.05em;
      line-height: 2em;
      color: #333;
      margin-bottom: 20rem; }
    #privacy .inner dl dt {
      font-size: 32rem;
      letter-spacing: 0.05em;
      line-height: 2em;
      font-weight: 700;
      color: #333;
      text-decoration: underline;
      margin-bottom: 20rem; }
    #privacy .inner dl dd {
      font-size: 28rem;
      letter-spacing: 0.05em;
      line-height: 2em;
      color: #333;
      margin-bottom: 20rem; }
      #privacy .inner dl dd span {
        display: inline-block;
        margin: 20rem 0; } }
