﻿@charset "UTF-8";
/* Scss Document */
/* CSS Document */
* {
  margin: 0;
  padding: 0;
  color: #323232;
}

body {
  width: 100%;
  font-size: 18px;
  line-height: 27px;
  font-family: "kozuka-mincho-pro",serif;
  font-style: normal;
  font-weight: 300;
  font-feature-settings: 'halt';
  color: #4d4d4d;
  letter-spacing: 1px;
}

.pc {
  display: block !important;
}

.sp {
  display: none !important;
}

a {
  text-decoration: none;
  opacity: 1.0;
  transition: 0.3s;
}

a:hover {
  opacity: 0.6;
}

a.hover_none:hover {
  opacity: 1 !important;
}

a:link {
  color: #323232;
}

img {
  vertical-align: bottom;
}

.fixde {
  position: fixed !important;
}

/*=====================
	Common
=====================*/
main {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto 50px;
  display: block;
}

.sec {
  width: 100%;
  padding: 0 20px;
  margin-top: 100px;
}

.col {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.col_cc {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

header {
  width: 100%;
  display: block;
  z-index: 999;
  transition: .6s;
}
header .header_wrap {
  width: 100%;
  display: flex;
  justify-content: space-between;
}

.nav_sp {
  display: none;
}

.header {
  background: rgba(255, 255, 255, 0.8);
  position: absolute;
  padding: 30px 20px;
}
.header .header_logo {
  display: block;
  width: 110px;
  height: 33px;
}
.header .header_logo .logo {
  display: block;
}
.header .header_logo .logo_w {
  display: none;
}
.header .header_logo a:hover {
  opacity: 1;
}
.header nav {
  width: 100%;
}
.header nav #nav_btn {
  display: none;
}
.header nav .nav_wrap {
  display: block;
}
.header nav .nav_wrap ul {
  padding: 0 0 0 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.header nav .nav_wrap ul li {
  margin: 0 30px 0 0;
  padding: 0 0;
  transition: all .2s ease-in;
  position: relative;
}
.header nav .nav_wrap ul li a {
  color: #323232;
  font-size: 16px;
  line-height: 16px;
  font-weight: 400;
  opacity: 1;
}
.header nav .nav_wrap ul li a.current:after {
  opacity: 1;
}
.header nav .nav_wrap ul li a:after {
  font-size: 20px;
  opacity: 0;
  content: "・";
  display: block;
  position: absolute;
  bottom: -24px;
  left: 40%;
  transition: 0.3s;
  color: #323232;
}
.header nav .nav_wrap ul li a:hover:after {
  opacity: 1;
}
.header nav .nav_wrap ul .sns_link_r:after {
  opacity: 0;
}
.header nav .nav_wrap ul .sns_link_r a {
  span-opacity: 0.6;
}
.header nav .nav_wrap ul .sns_link_r a:hover {
  opacity: 0.6;
}
.header nav .nav_wrap ul .sns_link_r a:hover:after {
  opacity: 0;
}
.header nav .nav_wrap ul .sns_link_r span {
  background: #323232;
}
.header nav .nav_wrap ul .sns_link_r span:before {
  color: #ffffff;
}
.header nav .nav_wrap ul li:last-of-type {
  margin: 0;
}

.header_top {
  position: absolute;
  padding: 30px 20px;
}
.header_top .header_logo {
  width: 110px;
  opacity: 0;
  pointer-events: none;
}
.header_top nav {
  width: 100%;
}
.header_top nav #nav_btn {
  display: none;
}
.header_top nav .nav_wrap {
  display: block;
}
.header_top nav .nav_wrap ul {
  padding: 0 0 0 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.header_top nav .nav_wrap ul li {
  margin: 0 30px 0 0;
  padding: 0 0;
  transition: all .2s ease-in;
  position: relative;
}
.header_top nav .nav_wrap ul li:after {
  font-size: 20px;
  opacity: 0;
  content: "・";
  display: block;
  position: absolute;
  bottom: -24px;
  left: 40%;
  transition: 0.3s;
  color: #fff;
}
.header_top nav .nav_wrap ul li:hover:after {
  opacity: 1;
}
.header_top nav .nav_wrap ul li a {
  color: #fff;
  font-size: 16px;
  line-height: 16px;
  font-weight: 400;
  opacity: 1;
}
.header_top nav .nav_wrap ul .sns_link_r span {
  opacity: 1;
  transition: 0.3s;
  background: #fff;
}
.header_top nav .nav_wrap ul .sns_link_r span:before {
  color: #323232;
}
.header_top nav .nav_wrap ul .sns_link_r span:hover {
  opacity: 0.6;
}
.header_top nav .nav_wrap ul .sns_link_r:hover:after {
  opacity: 0;
}
.header_top nav .nav_wrap ul li:last-of-type {
  margin: 0;
}

.header_top_b {
  position: absolute;
  padding: 30px 20px;
  top: 0;
  letter-spacing: 0;
}
.header_top_b .header_logo {
  opacity: 0;
  pointer-events: none;
}
.header_top_b nav {
  width: 100%;
}
.header_top_b nav #nav_btn {
  display: none;
}
.header_top_b nav .nav_wrap {
  display: block;
}
.header_top_b nav .nav_wrap ul {
  padding: 0 0 0 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.header_top_b nav .nav_wrap ul li {
  margin: 0 30px 0 0;
  padding: 0 0;
  transition: all .2s ease-in;
  position: relative;
}
.header_top_b nav .nav_wrap ul li:after {
  font-size: 20px;
  opacity: 0;
  content: "・";
  display: block;
  position: absolute;
  bottom: -24px;
  left: 40%;
  transition: 0.3s;
  color: #323232;
}
.header_top_b nav .nav_wrap ul li:hover:after {
  opacity: 1;
}
.header_top_b nav .nav_wrap ul li a {
  color: #323232;
  font-size: 16px;
  line-height: 16px;
  font-weight: 400;
  opacity: 1;
}
.header_top_b nav .nav_wrap ul .sns_link_r span {
  opacity: 1;
  transition: 0.3s;
  background: #323232;
}
.header_top_b nav .nav_wrap ul .sns_link_r span:before {
  color: #fff;
}
.header_top_b nav .nav_wrap ul .sns_link_r span:hover {
  opacity: 0.6;
}
.header_top_b nav .nav_wrap ul .sns_link_r:hover:after {
  opacity: 0;
}
.header_top_b nav .nav_wrap ul li:last-of-type {
  margin: 0;
}

.header_top_w {
  position: absolute;
  padding: 30px 20px;
  top: 0;
  letter-spacing: 0;
}
.header_top_w .header_logo {
  opacity: 0;
  pointer-events: none;
}
.header_top_w nav {
  width: 100%;
}
.header_top_w nav #nav_btn {
  display: none;
}
.header_top_w nav .nav_wrap {
  display: block;
}
.header_top_w nav .nav_wrap ul {
  padding: 0 0 0 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.header_top_w nav .nav_wrap ul li {
  margin: 0 30px 0 0;
  padding: 0 0;
  transition: all .2s ease-in;
  position: relative;
}
.header_top_w nav .nav_wrap ul li:after {
  font-size: 20px;
  opacity: 0;
  content: "・";
  display: block;
  position: absolute;
  bottom: -24px;
  left: 40%;
  transition: 0.3s;
  color: #fff;
}
.header_top_w nav .nav_wrap ul li:hover:after {
  opacity: 1;
}
.header_top_w nav .nav_wrap ul li a {
  color: #fff;
  font-size: 16px;
  line-height: 16px;
  font-weight: 400;
  opacity: 1;
}
.header_top_w nav .nav_wrap ul .sns_link_r span {
  opacity: 1;
  transition: 0.3s;
  background: #fff;
}
.header_top_w nav .nav_wrap ul .sns_link_r span:before {
  color: #323232;
}
.header_top_w nav .nav_wrap ul .sns_link_r span:hover {
  opacity: 0.6;
}
.header_top_w nav .nav_wrap ul .sns_link_r:hover:after {
  opacity: 0;
}
.header_top_w nav .nav_wrap ul li:last-of-type {
  margin: 0;
}

#hello_area {
  font-size: 15px;
  padding: 0 20px;
}
#hello_area h1 {
  font-size: 18px;
  line-height: 18px;
  text-align: right;
  margin-bottom: 60px;
}
#hello_area p {
  font-size: 18px;
  line-height: 30px;
}
#hello_area .col {
  justify-content: flex-start;
  align-items: center;
}
#hello_area .category ul li {
  margin-right: 10px;
}
#hello_area .archive {
  margin-top: 20px;
}
#hello_area .archive form {
  position: relative;
  /* Google Chrome, Safari, Opera 15+, Android, iOS */
  /* Firefox 18- */
  /* Firefox 19+ */
  /* IE 10+ */
}
#hello_area .archive form .month-year-input {
  width: 160px;
  margin-right: 2px;
  padding-left: 12px;
}
#hello_area .archive form ::-webkit-input-placeholder {
  color: #cdcdcd;
  font-family: kozuka-mincho-pro, serif;
}
#hello_area .archive form :-moz-placeholder {
  color: #cdcdcd;
  opacity: 1;
  font-family: kozuka-mincho-pro, serif;
}
#hello_area .archive form ::-moz-placeholder {
  color: #cdcdcd;
  opacity: 1;
  font-family: kozuka-mincho-pro, serif;
}
#hello_area .archive form :-ms-input-placeholder {
  color: #cdcdcd;
  font-family: kozuka-mincho-pro, serif;
}
#hello_area .archive span:before {
  top: 9px;
  right: 11px;
  position: absolute;
  font-size: 16px;
  color: #aaa;
}
#hello_area .title {
  width: 100px;
}
#hello_area .colon:before {
  content: "：";
  position: static !important;
  margin-right: 15px;
}

/*-- TOP --*/
#TOP #hello_area {
  position: relative;
  padding: 0;
}
#TOP #hello_area .slide_area {
  display: block;
}
#TOP #hello_area .slide_area a:hover {
  opacity: 1;
}
#TOP #hello_area .slide_area .slide {
  height: 100vh;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center !important;
}
#TOP #hello_area .slide_area .slide_01 {
  background: url(/../img/01_slide01.jpg);
}
#TOP #hello_area .slide_area .slide_02 {
  background: url(/../img/01_slide02.jpg);
}
#TOP #hello_area .slide_area .slide_03 {
  background: url(/../img/01_slide03.jpg);
}
#TOP #hello_area .text_area {
  width: 440px;
  height: 250px;
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 8%;
  text-align: center;
}
#TOP #hello_area .text_area p {
  font-size: 22px;
  line-height: 22px;
  letter-spacing: 4.25px;
  color: #fff;
}
#TOP #hello_area .text_area .title img {
  width: 440px;
  height: 175px;
  margin-top: 20px;
  margin-left: -10px;
}
#TOP #hello_area .text_area p.sub_text {
  font-size: 13.5px;
  margin-top: 20px;
}
#TOP #hello_area .scroll span:before {
  position: absolute;
  bottom: 90px;
  left: 0;
  right: 0;
  text-align: center;
  font-size: 60px;
}

#TOP .sec h1 {
  font-size: 30px;
  line-height: 30px;
  font-weight: 400;
  text-align: center;
  margin-bottom: 40px;
}
#TOP .sec h1:after {
  content: "";
  width: 30px;
  height: 1px;
  display: block;
  margin-top: 25px;
  background: #787878;
  margin: 25px auto 0;
}

#news {
  width: 100%;
  padding-top: 15px;
  padding-bottom: 20px;
  border-bottom: 1px solid #C6C6C6;
  margin-top: 0;
  background: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
}
#news ul.news_list {
  margin: 0 auto;
  max-width: 1440px;
  padding: 0 20px;
  display: flex;
  justify-content: flex-start;
}
#news ul.news_list li a {
  font-size: 15px;
  display: block;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
@media (min-width: 320px) {
  #news ul.news_list li a {
    width: calc(17.5rem + ((1vw - 3.2px) * 99.1071));
  }
}
@media (min-width: 1440px) {
  #news ul.news_list li a {
    width: 1440px;
  }
}
#news ul.news_list li a .data {
  width: auto;
  margin-right: 30px;
}

#col3 ul {
  width: 33.15%;
  position: relative;
}
#col3 ul:first-of-type a {
  width: 100%;
  height: 265px;
  background: url(/../img/02.jpg);
  background-size: cover;
}
#col3 ul:last-of-type {
  padding-right: 0;
}
#col3 ul:last-of-type a {
  width: 100%;
  height: 265px;
  background: url(/../img/04.jpg);
  background-size: cover;
}
#col3 ul a {
  display: block;
  width: 100%;
  height: 265px;
  background: url(/../img/03.jpg);
  background-size: cover;
}
#col3 ul a:hover {
  opacity: 1;
}
#col3 ul a:hover span.bg, #col3 ul a:hover .text_area {
  opacity: 0;
}
#col3 ul a span.bg {
  display: block;
  height: 100%;
  width: 100%;
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  transition: 0.3s;
}
#col3 ul .text_area {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  transition: 0.3s;
}
#col3 ul .text_area p {
  color: #fff;
}
#col3 ul .text_area .sub_title {
  font-size: 10px;
  font-weight: 400;
  line-height: 20px;
}
#col3 ul .text_area .title {
  font-size: 38px;
  line-height: 38px;
  font-weight: 200;
}

#col4 {
  margin-bottom: 50px;
}
#col4 .col {
  justify-content: center;
}
#col4 ul {
  width: 25%;
  min-width: 300px;
  padding-right: 2px;
  margin-bottom: 30px;
}
#col4 ul:last-of-type {
  padding-right: 0;
}
#col4 ul:hover .img_area, #col4 ul:hover .title, #col4 ul:hover .text, #col4 ul:hover .data {
  opacity: 0.6;
}
#col4 ul .img_area, #col4 ul .title, #col4 ul .text, #col4 ul .data {
  transition: 0.3s;
}
#col4 ul .img_area img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}
#col4 ul .title {
  padding: 0 10px;
  font-size: 20px;
  line-height: 26px;
  font-weight: 400;
  margin-top: 24px;
}
#col4 ul .text {
  padding: 0 10px;
  font-size: 14px;
  line-height: 25px;
  margin-top: 15px;
}
#col4 ul .info {
  justify-content: space-between;
  align-items: center;
  padding: 0 10px;
  margin-top: 20px;
}
#col4 ul .info .data {
  font-size: 12px;
}
#col4 .empty-cell {
  width: 25%;
  min-width: 300px;
}

/*カードのカラム落ち対応*/
@media (min-width: 950px) and (max-width: 1260px) {
  #TOP #col4 ul:nth-of-type(even) {
    margin-right: 150px;
  }
  #TOP #col4 ul:nth-of-type(odd) {
    margin-left: 150px;
  }
  #TOP #col4 .empty-cell:nth-of-type(even) {
    margin-right: 150px;
  }
  #TOP #col4 .empty-cell:nth-of-type(odd) {
    margin-left: 150px;
  }
}
#calendar {
  margin-bottom: 100px;
}
#calendar h1 {
  margin-bottom: 0 !important;
}

/*-- ABOUT OUTPUT 共通 --*/
#ABOUT main, #OUTPUT main, #WORKSHOP main {
  max-width: 100%;
  min-width: 100%;
  padding: 120px 0 0px;
}

#ABOUT .sec, #OUTPUT .sec, #WORKSHOP .sec {
  max-width: 1440px;
  min-width: 1200px;
  margin: 0 auto;
}
#ABOUT .sec > h3, #OUTPUT .sec > h3, #WORKSHOP .sec > h3 {
  width: 100%;
  text-align: center;
  font-size: 22px;
  font-weight: 400;
  line-height: 22px;
}
#ABOUT .sec > h3 + p, #OUTPUT .sec > h3 + p, #WORKSHOP .sec > h3 + p {
  width: 100%;
  text-align: center;
  font-size: 10px;
  line-height: 10px;
  margin-top: 10px;
}
#ABOUT .sec .col_box, #OUTPUT .sec .col_box, #WORKSHOP .sec .col_box {
  width: 330px;
  margin-top: 80px;
}
#ABOUT .sec .col_box .img_area, #OUTPUT .sec .col_box .img_area, #WORKSHOP .sec .col_box .img_area {
  width: 100%;
}
#ABOUT .sec .col_box .img_area img, #OUTPUT .sec .col_box .img_area img, #WORKSHOP .sec .col_box .img_area img {
  margin: 0 auto;
  border-radius: 50%;
  display: block;
  width: 160px;
  height: 160px;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}
#ABOUT .sec .col_box h3, #OUTPUT .sec .col_box h3, #WORKSHOP .sec .col_box h3 {
  width: 100%;
  text-align: center;
  font-size: 20px;
  font-weight: 400;
  line-height: 20px;
  margin-top: 27px;
}
#ABOUT .sec .col_box h4, #OUTPUT .sec .col_box h4, #WORKSHOP .sec .col_box h4 {
  width: 100%;
  text-align: center;
  font-size: 14px;
  font-weight: 300;
  line-height: 14px;
  margin-top: 13px;
}
#ABOUT .sec .col_box p, #OUTPUT .sec .col_box p, #WORKSHOP .sec .col_box p {
  font-size: 16px;
  font-weight: 300;
  line-height: 26px;
  margin-top: 25px;
}
#ABOUT .sec .col_box ul, #OUTPUT .sec .col_box ul, #WORKSHOP .sec .col_box ul {
  justify-content: flex-start;
  margin: 10px 0;
}
#ABOUT .sec .col_box ul:first-of-type, #OUTPUT .sec .col_box ul:first-of-type, #WORKSHOP .sec .col_box ul:first-of-type {
  margin-top: 25px;
}
#ABOUT .sec .col_box ul li, #OUTPUT .sec .col_box ul li, #WORKSHOP .sec .col_box ul li {
  margin-right: 10px;
  font-size: 14px;
  font-weight: 200;
  line-height: 14px;
}
#ABOUT .sec .col_box .url, #OUTPUT .sec .col_box .url, #WORKSHOP .sec .col_box .url {
  font-size: 14px;
  font-weight: 300;
  line-height: 14px;
  margin-top: 25px;
}
#ABOUT .sec .col_box .url a, #OUTPUT .sec .col_box .url a, #WORKSHOP .sec .col_box .url a {
  color: #787878;
}
#ABOUT .sec .col_box .sns_link, #OUTPUT .sec .col_box .sns_link, #WORKSHOP .sec .col_box .sns_link {
  margin-top: 5px;
}
#ABOUT .sec .col_box .sns_link a span, #OUTPUT .sec .col_box .sns_link a span, #WORKSHOP .sec .col_box .sns_link a span {
  margin: 0;
}
#ABOUT .sec .col_box .sns_link a span:before, #OUTPUT .sec .col_box .sns_link a span:before, #WORKSHOP .sec .col_box .sns_link a span:before {
  margin-right: 5px;
}
#ABOUT .sec .title_area, #OUTPUT .sec .title_area, #WORKSHOP .sec .title_area {
  width: auto;
}
#ABOUT .sec .title_area h3, #OUTPUT .sec .title_area h3, #WORKSHOP .sec .title_area h3 {
  font-size: 22px;
  font-weight: 400;
  line-height: 22px;
}
#ABOUT .sec .title_area h3 + p, #OUTPUT .sec .title_area h3 + p, #WORKSHOP .sec .title_area h3 + p {
  font-size: 10px;
  line-height: 10px;
  margin-top: 6px;
}
#ABOUT .sec .content_area, #OUTPUT .sec .content_area, #WORKSHOP .sec .content_area {
  width: 960px;
}
#ABOUT .sec .content_area h2, #OUTPUT .sec .content_area h2, #WORKSHOP .sec .content_area h2 {
  font-size: 28px;
  line-height: 34px;
  font-weight: 400;
}
#ABOUT .sec .content_area h2 + .content, #OUTPUT .sec .content_area h2 + .content, #WORKSHOP .sec .content_area h2 + .content {
  margin-top: 35px;
}
#ABOUT .sec .content_area h3, #OUTPUT .sec .content_area h3, #WORKSHOP .sec .content_area h3 {
  font-size: 20px;
  line-height: 20px;
  font-weight: 400;
}
#ABOUT .sec .content_area h3 + table, #OUTPUT .sec .content_area h3 + table, #WORKSHOP .sec .content_area h3 + table {
  margin-top: 30px;
}
#ABOUT .sec .content_area iframe, #OUTPUT .sec .content_area iframe, #WORKSHOP .sec .content_area iframe {
  width: 100%;
  height: 370px;
  margin-bottom: 35px;
}
#ABOUT .sec .content_area .col, #OUTPUT .sec .content_area .col, #WORKSHOP .sec .content_area .col {
  justify-content: flex-start;
}
#ABOUT .sec .content_area .col li, #OUTPUT .sec .content_area .col li, #WORKSHOP .sec .content_area .col li {
  font-size: 16px;
  line-height: 24px;
  margin-bottom: 10px;
}
#ABOUT .sec .content_area .col li:first-of-type, #OUTPUT .sec .content_area .col li:first-of-type, #WORKSHOP .sec .content_area .col li:first-of-type {
  width: 70px;
  margin-right: 20px;
}
#ABOUT .sec .content_area .content, #OUTPUT .sec .content_area .content, #WORKSHOP .sec .content_area .content {
  flex-wrap: nowrap;
}
#ABOUT .sec .content_area .content + h3, #OUTPUT .sec .content_area .content + h3, #WORKSHOP .sec .content_area .content + h3 {
  margin-top: 60px;
}
#ABOUT .sec .content_area .content img, #OUTPUT .sec .content_area .content img, #WORKSHOP .sec .content_area .content img {
  width: 345px;
  height: 230px;
  object-fit: cover;
}
#ABOUT .sec .content_area .content img + .text_area, #OUTPUT .sec .content_area .content img + .text_area, #WORKSHOP .sec .content_area .content img + .text_area {
  padding-left: 30px;
  max-width: 590px;
}
#ABOUT .sec .content_area .content .text_area, #OUTPUT .sec .content_area .content .text_area, #WORKSHOP .sec .content_area .content .text_area {
  max-width: 100%;
  display: block;
}
#ABOUT .sec .content_area .content .text_area h3, #OUTPUT .sec .content_area .content .text_area h3, #WORKSHOP .sec .content_area .content .text_area h3 {
  font-size: 20px;
  line-height: 25px;
  font-weight: 400;
}
#ABOUT .sec .content_area .content .text_area h3 + p, #OUTPUT .sec .content_area .content .text_area h3 + p, #WORKSHOP .sec .content_area .content .text_area h3 + p {
  margin-top: 13px;
}
#ABOUT .sec .content_area .content .text_area p, #OUTPUT .sec .content_area .content .text_area p, #WORKSHOP .sec .content_area .content .text_area p {
  font-size: 16px;
  line-height: 26px;
}
#ABOUT .sec .content_area .content .text_area p + p, #OUTPUT .sec .content_area .content .text_area p + p, #WORKSHOP .sec .content_area .content .text_area p + p {
  margin-top: 10px;
}
#ABOUT .sec .content_area table, #OUTPUT .sec .content_area table, #WORKSHOP .sec .content_area table {
  width: 100%;
  margin-top: 25px;
}
#ABOUT .sec .content_area table + .content, #ABOUT .sec .content_area table + table, #OUTPUT .sec .content_area table + .content, #OUTPUT .sec .content_area table + table, #WORKSHOP .sec .content_area table + .content, #WORKSHOP .sec .content_area table + table {
  margin-top: 70px;
}
#ABOUT .sec .content_area table tr, #OUTPUT .sec .content_area table tr, #WORKSHOP .sec .content_area table tr {
  border-bottom: 1px solid #cdcdcd;
}
#ABOUT .sec .content_area table tr:first-of-type, #OUTPUT .sec .content_area table tr:first-of-type, #WORKSHOP .sec .content_area table tr:first-of-type {
  border-top: 1px solid #cdcdcd;
}
#ABOUT .sec .content_area table th, #OUTPUT .sec .content_area table th, #WORKSHOP .sec .content_area table th {
  font-size: 14px;
  line-height: 18px;
  text-align: center;
  background: #eeeeee;
  padding: 5px 10px;
  font-weight: normal;
}
#ABOUT .sec .content_area table th:nth-of-type(2), #OUTPUT .sec .content_area table th.twoLines, #WORKSHOP .sec .content_area table th:nth-of-type(2) {
  border-left: 1px solid #cdcdcd;
}
#ABOUT .sec .content_area table td, #OUTPUT .sec .content_area table td, #WORKSHOP .sec .content_area table td {
  width: 670px;
  padding: 18px 30px;
  font-size: 14px;
  line-height: 14px;
}
#ABOUT .sec .content_area .caption, #OUTPUT .sec .content_area .caption, #WORKSHOP .sec .content_area .caption {
  margin-top: 20px;
}
#ABOUT .sec .content_area .caption p, #OUTPUT .sec .content_area .caption p, #WORKSHOP .sec .content_area .caption p {
  font-size: 14px;
  line-height: 18px;
  margin-bottom: 10px;
  padding-left: 17px;
  position: relative;
}
#ABOUT .sec .content_area .caption p:before, #OUTPUT .sec .content_area .caption p:before, #WORKSHOP .sec .content_area .caption p:before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0px;
}
#ABOUT .sec .content_area .step.money, #OUTPUT .sec .content_area .step.money, #WORKSHOP .sec .content_area .step.money {
  margin-top: 40px;
}
#ABOUT .sec .content_area .step.money li, #OUTPUT .sec .content_area .step.money li, #WORKSHOP .sec .content_area .step.money li {
  text-align: center;
  min-width: 130px;
  font-size: 16px;
  line-height: 16px;
  padding: 10px 0;
  border: 3px solid #cdcdcd;
  margin: 0 28px 0 0;
  position: relative;
}
#ABOUT .sec .content_area .step.money li:before, #OUTPUT .sec .content_area .step.money li:before, #WORKSHOP .sec .content_area .step.money li:before {
  content: "+";
  position: absolute;
  left: -22px;
}
#ABOUT .sec .content_area .step.money li:first-of-type:before, #OUTPUT .sec .content_area .step.money li:first-of-type:before, #WORKSHOP .sec .content_area .step.money li:first-of-type:before {
  content: none;
}
#ABOUT .sec .content_area .step.money li:last-of-type:before, #OUTPUT .sec .content_area .step.money li:last-of-type:before, #WORKSHOP .sec .content_area .step.money li:last-of-type:before {
  content: "=";
}

#partition {
  display: block;
  margin-top: 150px;
  min-width: 100%;
}
#partition img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}

#ABOUT #access, #OUTPUT #price, #WORKSHOP #introduction {
  justify-content: space-around;
  margin-top: 100px;
  margin-bottom: 100px;
}

/*-- ABOUT --*/
#ABOUT #hello_area {
  display: block;
  max-width: 1440px;
  min-width: 1200px;
  margin: 0 auto;
  padding: 0 60px;
}
#ABOUT #hello_area h2, #ABOUT #hello_area p {
  display: block;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
#ABOUT #hello_area h2 {
  font-size: 38px;
  line-height: 56px;
  font-weight: 300;
}
#ABOUT #hello_area h2 + p {
  margin-top: 33px;
}
#ABOUT #hello_area p {
  font-size: 16px;
  line-height: 26px;
  font-weight: 300;
}
#ABOUT #hello_area p + p {
  margin-top: 15px;
}

#ABOUT #manager {
  margin-top: 120px;
}

/*-- OUTPUT WORKSHOP共通 --*/
#OUTPUT #hello_area, #WORKSHOP #hello_area {
  display: block;
  max-width: 1440px;
  min-width: 1200px;
  margin: 0 auto;
  position: relative;
  text-align: right;
}
#OUTPUT #hello_area .text_area, #WORKSHOP #hello_area .text_area {
  text-align: left;
  position: absolute;
  top: 45%;
  display: block;
  width: 440px;
  background: rgba(255, 255, 255, 0);
}
#OUTPUT #hello_area .text_area h2, #WORKSHOP #hello_area .text_area h2 {
  font-size: 28px;
  font-weight: 400;
  line-height: 50px;
}
#OUTPUT #hello_area .text_area h2 + p, #WORKSHOP #hello_area .text_area h2 + p {
  margin-top: 25px;
}
#OUTPUT #hello_area .text_area p, #WORKSHOP #hello_area .text_area p {
  font-size: 16px;
  line-height: 25px;
}
#OUTPUT #hello_area img, #WORKSHOP #hello_area img {
  width: 980px;
  height: 620px;
  object-fit: cover;
}
@media (min-width: 1200px) {
  #OUTPUT #hello_area img, #WORKSHOP #hello_area img {
    width: calc(61.25rem + ((1vw - 13px) * 91.6667));
  }
}
@media (min-width: 1440px) {
  #OUTPUT #hello_area img, #WORKSHOP #hello_area img {
    width: 1050px;
  }
}

#OUTPUT .sec, #WORKSHOP .sec {
  margin-top: 150px;
  justify-content: space-around;
}

/*-- OUTPUT --*/
#OUTPUT #flow .content_area {
  flex-wrap: nowrap;
}
#OUTPUT #flow .content_area .content {
  width: 200px;
  padding: 0 0px 0 0;
  position: relative;
}
#OUTPUT #flow .content_area .content:last-of-type:after {
  content: none;
}
#OUTPUT #flow .content_area .content:after {
  content: "＞";
  transform: scaleX(0.65);
  display: block;
  position: absolute;
  top: 80px;
  right: -35px;
  font-size: 28px;
  font-weight: 200;
}
#OUTPUT #flow .content_area .content img {
  width: 190px;
  height: 190px;
  border-radius: 50%;
}
#OUTPUT #flow .content_area .content img + h4 {
  margin-top: 30px;
}
#OUTPUT #flow .content_area .content h4 {
  font-size: 20px;
  line-height: 20px;
  font-weight: 400;
}
#OUTPUT #flow .content_area .content h4 + p {
  margin-top: 10px;
}
#OUTPUT #flow .content_area .content p {
  font-size: 16px;
  line-height: 24px;
}

/*-- INFOMATION --*/
#INFOMATION main {
  padding: 120px 0 0px;
}

/*-- DETAIL --*/
#DETAIL main {
  min-width: 1200px;
}

#DETAIL #hello_area {
  font-size: 15px;
  padding: 0 20px;
  width: 100%;
}
#DETAIL #hello_area h1 {
  font-size: 18px;
  line-height: 18px;
  text-align: right;
  margin-bottom: 60px;
}

#col2_page {
  width: 100%;
  padding-top: 120px;
  justify-content: center;
}

#main_area {
  width: 960px;
}

#title_area {
  width: 100%;
}
#title_area .img_area {
  width: 850px;
  margin: 0 auto;
}
#title_area .img_area img {
  width: 100%;
  height: 570px;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}
#title_area .data {
  font-size: 14px;
  line-height: 14px;
  color: #787878;
  margin-top: 50px;
}
#title_area h1 {
  font-size: 28px;
  line-height: 28px;
  margin-top: 15px;
  font-weight: 400;
}
#title_area span.title {
  font-size: 14px;
  line-height: 14px;
  font-weight: 200;
  color: #505050;
  margin-top: 15px;
}
#title_area .tag {
  margin-top: 25px;
}
#title_area p.text_area {
  font-size: 16px;
  line-height: 30px;
  margin-top: 33px;
}

#visual_editor {
  margin-top: 50px;
  padding: 0 20px;
}
#visual_editor h2 {
  font-size: 22px;
  line-height: 30px;
  font-weight: 300;
  margin-top: 80px;
}
#visual_editor h3 {
  font-size: 18px;
  line-height: 24px;
  font-weight: 400;
  margin-top: 80px;
}
#visual_editor p {
  font-size: 16px;
  line-height: 30px;
  margin-top: 33px;
}
#visual_editor ul {
  margin-top: 15px;
}
#visual_editor li {
  font-size: 16px;
  line-height: 20px;
  margin-top: 12px;
}
#visual_editor img {
  max-width: 800px;
  display: block;
  margin: 0 auto;
}





#visual_editor table {
  width: 100%;
  font-size: 14px;
  margin-top: 20px;
  line-height: 22px;
  text-align: left;
  vertical-align: middle;
  border-collapse: collapse;
  border: none;
  margin-bottom: 60px;
}
#visual_editor table tr {
  border-top: 1px solid #CBCBCB;
}
#visual_editor table tr:last-of-type {
  border-bottom: 1px solid #CBCBCB;
}
#visual_editor table tr td {
  padding: 15px;
}
#visual_editor table tr td:first-of-type {
  border: none;
  width: 30%!important;
  font-weight: 300!important;
  text-align: center;
  padding: 15px 20px;
  border-top: 1px solid #CBCBCB;
  background: #eee;
  word-break: break-all;
  word-wrap: break-word;
}
#visual_editor table td:nth-of-type(n+2) {
 border: none;
 width: 70%!important;
 font-weight: 300!important;
 padding: 15px;
 border-top: 1px solid #CBCBCB;
 word-break: break-all;
 word-wrap: break-word;
}


.intro {
  margin-top: 90px;
  padding: 0 20px;
}
.intro h3 {
  font-size: 18px;
  line-height: 24px;
  font-weight: 400;
  width: 100%;
  margin-bottom: 30px;
}
.intro .img_area {
  width: 125px;
}
.intro .img_area img {
  border-radius: 50%;
  display: block;
  width: 125px;
  height: 125px;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}
.intro .text_area {
  width: 100%;
  max-width: 795px;
  padding-left: 30px;
}
.intro .text_area .name {
  font-size: 18px;
  line-height: 18px;
  font-weight: 400;
  margin-top: 8px;
}
.intro .text_area p {
  font-size: 14px;
  line-height: 24px;
  margin-top: 11px;
}
.intro .text_area .url {
  font-size: 14px;
  line-height: 14px;
  color: #787878;
  margin-top: 15px;
}

#side_area {
  width: 240px;
  padding-left: 40px;
}
#side_area p.title {
  font-size: 16px;
  line-height: 16px;
  border-bottom: 1px solid #C6C6C6;
  padding-bottom: 10px;
  margin-bottom: 20px;
}
#side_area li {
  font-size: 14px;
  font-weight: 14px;
  margin-bottom: 10px;
  margin-left: 10px;
}
#side_area .accordion {
  font-size: 14px;
  line-height: 14px;
  margin-top: 10px;
  margin-bottom: 15px;
}
#side_area .accordion p {
  margin-bottom: 20px;
}
#side_area .accordion p span:before {
  margin-right: 10px;
}
#side_area .accordion li {
  margin-left: 20px;
}
#side_area ul + .title {
  margin-top: 50px;
}

.sns_link_area {
  margin-bottom: 20px;
  margin-left: 100px;
}

#page_nav_area {
  border-top: 1px solid #C6C6C6;
  padding: 40px 0 150px;
  margin: 0 0 0 0;
}
#page_nav_area ul {
  justify-content: center;
  align-items: flex-end;
}
#page_nav_area li {
  font-size: 14px;
  margin: 0 12px;
}
#page_nav_area li span:before {
  font-size: 15px;
  color: #323232;
}
#page_nav_area li.all a {
  font-size: 16px;
}
#page_nav_area li.current {
  opacity: 0.6;
}
#page_nav_area li:first-of-type {
  padding-right: 20px;
}
#page_nav_area li:first-of-type:after {
  content: "";
  display: block;
  width: 9px;
  height: 1px;
  background: #323232;
  margin: 5px auto 0 auto;
}
#page_nav_area li:last-of-type {
  padding-left: 20px;
}
#page_nav_area li:last-of-type:after {
  content: "";
  display: block;
  width: 9px;
  height: 1px;
  background: #323232;
  margin: 5px auto 0 auto;
}
#page_nav_area li:after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #323232;
  margin-top: 5px;
}

/*-- CONTACT --*/
#CONTACT main {
  padding: 120px 0 50px;
}

#CONTACT form {
  width: 100%;
  max-width: 1440px;
  min-width: 1200px;
  margin: 50px auto;
  padding: 0 20px;
}
#CONTACT form.confirm .cont li:first-of-type {
  margin-top: 0;
}
#CONTACT form ul {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 0;
  margin-bottom: 30px;
}
#CONTACT form ul li {
  font-size: 16px;
  width: 100%;
  margin-right: 60px;
  position: relative;
}
#CONTACT form ul li:first-of-type {
  width: 280px;
}
#CONTACT form ul li:first-of-type span.req {
  color: #fff;
  padding: 3px 10px;
  font-size: 14px;
  position: absolute;
  top: 0;
  right: 0;
  background: #646464;
}
#CONTACT form ul li:last-of-type {
  margin-right: 0;
}
#CONTACT form ul + p {
  margin: 20px 0 0 30px;
}
#CONTACT form .cont {
  align-items: flex-start;
}
#CONTACT form .cont li:first-of-type {
  margin-top: 10px;
}
#CONTACT form input {
  width: 320px;
  height: 40px;
  border-radius: 0;
  font-size: 16px;
  line-height: 20px;
  font-family: kozuka-mincho-pro, serif;
  font-weight: 300;
  padding-left: 10px;
  border-color: #D7D7D7;
}
#CONTACT form textarea {
  font-size: 16px;
  width: 100%;
  height: 350px;
  font-family: kozuka-mincho-pro, serif;
  font-weight: 300;
  border-color: #D7D7D7;
  border-radius: 0;
}
#CONTACT form .form_btn_area {
  width: 100%;
  text-align: center;
  margin-top: 70px;
}
#CONTACT form .form_btn_area .btn {
  padding: 0;
  border-radius: 0;
  border: 1px solid #787878;
  position: relative;
  margin: 0 15px;
  width: 250px;
  font-family: kozuka-mincho-pro, serif;
}
#CONTACT form .form_btn_area .btn p {
  display: block;
  padding: 15px 0px;
  font-size: 18px;
  line-height: 18px;
  font-weight: 400;
  text-align: center;
  transition: 0.3s;
}
#CONTACT form .form_btn_area .btn p:hover {
  opacity: 1;
  background: black;
  color: #fff;
  transition: 0.3s;
}
#CONTACT form .form_btn_area .btn p:before, #CONTACT form .form_btn_area .btn p:after {
  content: "";
  display: block;
  background: #787878;
  position: absolute;
  bottom: -4px;
  right: -4px;
}
#CONTACT form .form_btn_area .btn p:before {
  width: 1px;
  height: 100%;
}
#CONTACT form .form_btn_area .btn p:after {
  width: 100%;
  height: 1px;
}
#CONTACT form .form_btn_area .btn p p {
  color: #000;
}

/*-- form --*/
input, select {
  padding: 8px 10px;
  border-radius: 0;
  border: 1px solid #787878;
  padding-left: 50px;
  font-size: 15px;
  color: #323232;
}

#contact {
  width: 100%;
  padding: 0 20px;
  padding-top: 50px;
  border-top: 1px solid #C6C6C6;
}
#contact h1 {
  font-size: 24px;
  line-height: 24px;
  font-weight: 500;
  text-align: center;
  margin-bottom: 40px;
}
#contact h1:after {
  content: none;
}
#contact ul {
  justify-content: center;
  align-items: center;
}
#contact ul li.left, #contact ul li.right {
  width: auto;
}
#contact ul .left {
  padding-right: 70px;
  border-right: 1px solid #787878;
}
#contact ul .left .text_area {
  width: 300px;
  text-align: center;
}
#contact ul .left .text_area .info {
  font-size: 15px;
  line-height: 15px;
  font-weight: 200;
  margin-bottom: 10px;
}
#contact ul .left .text_area .number {
  font-size: 34px;
  line-height: 34px;
  font-weight: 400;
}
#contact ul .right {
  padding-left: 70px;
}
#contact ul .right .cont_btn {
  width: 300px;
}

#link_area {
  margin-top: 60px !important;
  /*カードのカラム落ち対応*/
}
#link_area ul {
  justify-content: center;
}
#link_area ul li {
  margin: 0 15px 20px;
}
#link_area ul li img {
  width: auto;
}
@media (min-width: 950px) and (max-width: 1260px) {
  #link_area li:nth-of-type(even) {
    margin-right: 175px;
  }
  #link_area li:nth-of-type(odd) {
    margin-left: 175px;
  }
}

footer {
  margin-bottom: 40px;
}
footer .sns_link_r {
  margin-top: 20px;
  justify-content: center;
}
footer .sns_link_r span {
  margin: 0 5px;
}
footer .footer_nav {
  margin-top: 20px;
  font-size: 13px;
  line-height: 13px;
  font-weight: 400;
  justify-content: center;
}
footer .footer_nav li {
  border-right: 1px solid #787878;
}
footer .footer_nav li:last-of-type {
  border-right: none;
}
footer .footer_nav li a {
  margin: 0 15px;
  padding: 2px 0;
}
footer .footer_logo {
  display: block;
  text-align: center;
  margin-top: 36px;
}
footer .footer_logo img {
  width: 100px;
  height: 30px;
}
footer .copyright {
  text-align: center;
  font-size: 10px;
  line-height: 10px;
  margin-top: 13px;
}

.tag {
  font-size: 12px;
  line-height: 12px;
  padding: 2px 5px;
  border: 1px solid #505050;
  display: inline-block;
  margin-right:2px;
}
.tag:hover {
  opacity: 1;
  background: #e0e0e0;
}

.btn {
  border: 1px solid #787878;
  position: relative;
  margin: 0 auto;
}
.btn a {
  display: block;
  padding: 20px 85px;
  font-size: 18px;
  line-height: 18px;
  font-weight: 400;
  text-align: center;
}
.btn a:hover {
  opacity: 1;
  background: black;
}
.btn a:hover p {
  color: #fff;
  transition: 0.3s;
}
.btn a:before, .btn a:after {
  content: "";
  display: block;
  background: #787878;
  position: absolute;
  bottom: -4px;
  right: -4px;
}
.btn a:before {
  width: 1px;
  height: 100%;
}
.btn a:after {
  width: 100%;
  height: 1px;
}
.btn a p {
  color: #000;
}

.sns_link span {
  width: 22px;
  height: 22px;
  margin-left: 5px;
}
.sns_link span:before {
  font-size: 14px;
  color: #787878;
}

.sns_link_r span {
  width: 22px;
  height: 22px;
  display: inline-block;
  position: relative;
  margin-left: 10px;
  background: #323232;
  border-radius: 50% 50%;
  padding: 5px;
}
.sns_link_r span:before {
  font-size: 14px;
  color: #fff;
  position: absolute;
  top: 4px;
  left: 4px;
}

/*-- PRIVACY --*/
#PRIVACY main {
  padding: 120px 0 50px;
}

#PRIVACY .sec h3 {
  font-size: 20px;
  line-height: 38px;
  font-weight: 400;
}
#PRIVACY .sec h3 + p {
  margin-top: 1px;
}
#PRIVACY .sec p {
  font-size: 16px;
  line-height: 30px;
}
#PRIVACY .sec p + h3 {
  margin-top: 37px;
}
#PRIVACY .sec p + p {
  margin-top: 23px;
}
#PRIVACY .sec p + ul {
  margin-top: 18px;
}
#PRIVACY .sec ul + h3 {
  margin-top: 37px;
}
#PRIVACY .sec ul + p {
  margin-top: 24px;
}
#PRIVACY .sec ul li {
  font-size: 16px;
  line-height: 30px;
  padding-left: 1em;
  text-indent: -1em;
}
#PRIVACY .sec .caption {
  font-size: 14px;
  line-height: 18px;
  padding-left: 1em;
  text-indent: -1em;
}

/*=====================
	calendar_config
=====================*/
.cal_wrapper {
  max-width: 1440px;
  /* 最大幅 */
  min-width: 300px;
  /* 最小幅 */
  max-height: 545px;
  margin: 0 auto;
}

.googlecal {
  position: relative;
  padding-bottom: 100%;
  /* 縦横比 */
  height: 0;
  overflow: hidden;
}

.googlecal iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 545px !important;
}

@media only screen and (min-width: 600px) {
  /* 画面幅が600px以上の場合の縦横比の指定 */
  .googlecal {
    padding-bottom: 40%;
  }
}
/*=====================
	slide_config
=====================*/
.slick-dotted.slick-slider {
  margin-bottom: 0 !important;
}

.slick-dots {
  position: absolute;
  bottom: 70px !important;
  right: 25px !important;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: right !important;
}

.slick-dots li {
  position: relative;
  display: inline-block;
  width: 40px !important;
  height: 20px;
  margin: 0 7px !important;
  padding: 0;
  cursor: pointer;
}

.slick-dots li button:before {
  font-family: 'slick';
  font-size: 6px;
  line-height: 0px !important;
  position: absolute;
  top: 0px !important;
  right: 0 !important;
  width: 40px !important;
  height: 2px !important;
  content: "" !important;
  text-align: right !important;
  opacity: .25;
  color: black;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-block;
  background: #fff;
}

/*==============================================================================================
	768 - 480
===============================================================================================*/
@media (max-width: 768px) {
  .pc {
    display: none !important;
  }

  .sp {
    display: block !important;
  }

  header {
    min-width: 100%;
  }
  header .header_wrap {
    padding: 17px 15px;
  }
  header .header_wrap .header_logo {
    padding: 0px;
  }
  header .header_wrap .header_logo img {
    width: 70px;
    height: 20px;
  }
  header .header_wrap .header_logo.open {
    z-index: 999;
  }
  header .header_wrap .header_logo.open .logo {
    display: none;
  }
  header .header_wrap .header_logo.open .logo_w {
    display: block;
  }
  header .header_wrap nav > .nav_wrap {
    display: none;
  }
  header .header_wrap .nav_sp {
    display: block;
  }
  header .header_wrap .nav_sp #nav_btn {
    display: block;
    cursor: pointer;
    margin: 0;
    position: absolute;
    width: 30px;
    height: 19px;
    top: 15px;
    right: 15px;
    z-index: 999;
  }
  header .header_wrap .nav_sp #nav_btn .nav_line {
    backface-visibility: hidden;
    position: absolute;
    left: 0;
    border-top: 25px solid white;
    width: 2px;
    transition: 0.55s;
  }
  header .header_wrap .nav_sp #nav_btn .nav_line01 {
    top: -10px;
    left: 15px;
    transform: rotate(90deg);
  }
  header .header_wrap .nav_sp #nav_btn .nav_line02 {
    top: -3px;
    left: 15px;
    transform: rotate(90deg);
  }
  header .header_wrap .nav_sp #nav_btn .nav_line03 {
    top: 4px;
    left: 15px;
    transform: rotate(90deg);
  }
  header .header_wrap .nav_sp #nav_btn .nav_line01_open {
    backface-visibility: hidden;
    top: 0px;
    left: 20px;
    transform: rotate(43deg);
    transition: 0.55s 0.5s;
    border-top-color: #fff;
  }
  header .header_wrap .nav_sp #nav_btn .nav_line02_open {
    opacity: 0;
  }
  header .header_wrap .nav_sp #nav_btn .nav_line03_open {
    backface-visibility: hidden;
    top: 0px;
    left: 20px;
    transform: rotate(137deg);
    transition: 0.55s 0.5s;
    border-top-color: #fff;
  }
  header .header_wrap .nav_sp .nav_wrap {
    width: 100vw;
    height: 100vh;
    display: block;
    position: fixed;
    background: rgba(0, 0, 0, 0.7);
    top: 0;
    right: 0;
    transition: 0.5s;
    opacity: 0;
    pointer-events: none;
  }
  header .header_wrap .nav_sp .nav_wrap ul {
    text-align: center;
    flex-direction: column;
    justify-content: center;
    height: auto;
    padding: 20% 0;
    height: 100%;
  }
  header .header_wrap .nav_sp .nav_wrap ul li {
    padding: 0;
    margin: 0 0 30px 0;
  }
  header .header_wrap .nav_sp .nav_wrap ul li a {
    font-size: 14px;
    line-height: 14px;
  }
  header .header_wrap .nav_sp .nav_wrap.open {
    opacity: 1;
    pointer-events: auto;
  }
  header .header_wrap .nav_sp .nav_wrap.open ul li:hover:after {
    opacity: 0;
  }
  header .header_wrap .nav_sp .nav_wrap.open ul li a {
    color: #fff;
  }
  header .header_wrap .nav_sp .nav_wrap.open ul li.nav_contact {
    position: relative;
  }
  header .header_wrap .nav_sp .nav_wrap.open ul li.nav_contact a {
    color: #000;
  }

  /*=====================
  	Common
  =====================*/
  main {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto 30px;
  }

  .sec {
    width: 100%;
    padding: 0 15px;
    margin-top: 100px;
  }

  .header {
    background: rgba(255, 255, 255, 0.6);
    position: fixed;
    padding: 0px;
    height: 50px;
  }
  .header .header_logo {
    display: block;
  }
  .header nav.nav_sp {
    width: 100%;
  }
  .header nav.nav_sp .nav_wrap {
    height: 100%;
    display: block;
  }
  .header nav.nav_sp #nav_btn .nav_line {
    border-top: 25px solid black;
  }
  .header nav.nav_sp #nav_btn .nav_line01_open {
    border-top-color: #fff;
  }
  .header nav.nav_sp #nav_btn .nav_line03_open {
    border-top-color: #fff;
  }
  .header nav.nav_sp .sns_link_r span {
    background: #ffffff !important;
  }
  .header nav.nav_sp .sns_link_r span:before {
    color: #323232 !important;
  }
  .header nav.nav_sp .sns_link_r span:first-of-type {
    margin-left: 0;
  }

  .header_top {
    background: rgba(255, 255, 255, 0);
    position: absolute;
    padding: 0px;
    height: 50px;
  }
  .header_top .header_logo {
    display: none;
  }
  .header_top nav.nav_sp {
    width: 100%;
  }
  .header_top nav.nav_sp .nav_wrap {
    height: 100%;
    display: block;
  }
  .header_top nav.nav_sp #nav_btn .nav_line {
    border-top: 25px solid white;
  }
  .header_top nav.nav_sp .sns_link_r span:first-of-type {
    margin-left: 0;
  }

  #hello_area {
    font-size: 13px;
    line-height: 20px;
    padding: 0 15px;
  }
  #hello_area h1 {
    font-size: 16px;
    line-height: 16px;
    text-align: right;
    margin-bottom: 30px;
  }
  #hello_area p {
    font-size: 13px;
    line-height: 20px;
  }
  #hello_area .col {
    justify-content: flex-start;
    align-items: center;
  }
  #hello_area .archive {
    margin-top: 15px;
  }
  #hello_area .archive form {
    position: relative;
  }
  #hello_area .archive form .month-year-input {
    width: 150px;
    margin-right: 2px;
    padding-left: 10px;
  }
  #hello_area .archive span:before {
    top: 6px;
    right: 9px;
    position: absolute;
    font-size: 16px;
    color: #aaa;
  }
  #hello_area .category ul li {
    margin-right: 8px;
  }
  #hello_area .title {
    font-size: 15px;
    width: 100%;
    display: block;
    margin-bottom: 9px;
  }
  #hello_area .colon:before {
    content: "：";
    position: static !important;
    margin-right: 15px;
  }

  /*-- TOP --*/
  #TOP #hello_area {
    position: relative;
  }
  #TOP #hello_area .slide_area {
    display: block;
  }
  #TOP #hello_area .slide_area a:hover {
    opacity: 1;
  }
  #TOP #hello_area .slide_area .slide {
    height: 100vh;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center !important;
  }
  #TOP #hello_area .slide_area .slide_01 {
    background: url(/../img/01_slide01.jpg);
  }
  #TOP #hello_area .slide_area .slide_02 {
    background: url(/../img/01_slide02.jpg);
  }
  #TOP #hello_area .slide_area .slide_03 {
    background: url(/../img/01_slide03.jpg);
  }
  #TOP #hello_area .text_area {
    width: 290px;
    height: 115px;
    margin: auto;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 24%;
    text-align: center;
  }
  #TOP #hello_area .text_area p {
    font-size: 15px;
    line-height: 15px;
    letter-spacing: 3.1px;
    color: #fff;
  }
  #TOP #hello_area .text_area .title img {
    width: 290px;
    height: 85px;
    margin-top: 15px;
  }
  #TOP #hello_area .text_area p.sub_text {
    font-size: 11px;
    margin-top: 15px;
  }
  #TOP #hello_area .scroll span:before {
    position: absolute;
    bottom: 70px;
    left: 0;
    right: 0;
    text-align: center;
    font-size: 60px;
  }

  #TOP .sec h1 {
    font-size: 30px;
    line-height: 30px;
    font-weight: 400;
    text-align: center;
    margin-bottom: 30px;
  }
  #TOP .sec h1:after {
    content: "";
    width: 30px;
    height: 1px;
    display: block;
    margin-top: 25px;
    background: #787878;
    margin: 18px auto 0;
  }

  #news {
    padding-top: 15px;
    padding-bottom: 20px;
    border-bottom: 1px solid #C6C6C6;
    margin-top: 0;
    bottom: 0px;
  }
  #news ul.news_list {
    display: flex;
    justify-content: flex-start;
  }
  #news ul.news_list li a {
    font-size: 13px;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
  }
  #news ul.news_list li a .data {
    width: auto;
    margin-right: 15px;
  }

  .col {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }

  .col_cc {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }

  #col3 ul {
    width: 100%;
    padding-right: 0;
    position: relative;
    margin-bottom: 5px;
  }
  #col3 ul:first-of-type a {
    width: 100%;
    height: 165px;
    background: url(/../img/02.jpg);
    background-size: cover;
  }
  #col3 ul:last-of-type {
    padding-right: 0;
  }
  #col3 ul:last-of-type a {
    width: 100%;
    height: 165px;
    background: url(/../img/04.jpg);
    background-size: cover;
  }
  #col3 ul a {
    display: block;
    width: 100%;
    height: 165px;
    background: url(/../img/03.jpg);
    background-size: cover;
  }
  #col3 ul a:hover {
    opacity: 1;
  }
  #col3 ul a:hover span.bg, #col3 ul a:hover .text_area {
    opacity: 0;
  }
  #col3 ul a span.bg {
    display: block;
    height: 100%;
    width: 100%;
    background: rgba(0, 0, 0, 0.5);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transition: 0.3s;
  }
  #col3 ul .text_area {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  }
  #col3 ul .text_area p {
    color: #fff;
  }
  #col3 ul .text_area .sub_title {
    font-size: 10px;
    font-weight: 400;
  }
  #col3 ul .text_area .title {
    font-size: 38px;
    line-height: 38px;
    font-weight: 200;
  }

  #col4 {
    margin-bottom: 30px;
  }
  #col4 .col {
    justify-content: center;
  }
  #col4 ul {
    width: 50%;
    min-width: 50%;
    padding-right: 2px;
    margin-bottom: 40px;
  }
  #col4 ul:last-of-type {
    padding-right: 0;
  }
  #col4 ul:hover .img_area, #col4 ul:hover .title, #col4 ul:hover .text, #col4 ul:hover .data {
    opacity: 0.6;
  }
  #col4 ul .img_area, #col4 ul .title, #col4 ul .text, #col4 ul .data {
    transition: 0.3s;
  }
  #col4 ul .img_area img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    font-family: 'object-fit: cover;';
  }
  #col4 ul .title {
    padding: 0 10px;
    font-size: 18px;
    line-height: 24px;
    font-weight: 400;
    margin-top: 15px;
  }
  #col4 ul .text {
    padding: 0 10px;
    font-size: 14px;
    line-height: 22px;
    margin-top: 10px;
  }
  #col4 ul .info {
    justify-content: space-between;
    align-items: center;
    padding: 0 10px;
    margin-top: 10px;
  }
  #col4 ul .info .data {
    font-size: 12px;
  }

  #calendar h1 {
    margin-bottom: 0 !important;
  }

  /*-- ABOUT OUTPUT WORKSHOP 共通 --*/
  #ABOUT main, #OUTPUT main, #WORKSHOP main {
    max-width: 100%;
    min-width: 100%;
    padding: 100px 0 0px;
  }

  #ABOUT .sec, #OUTPUT .sec, #WORKSHOP .sec {
    max-width: 100%;
    min-width: 100%;
    margin: 0 auto;
  }
  #ABOUT .sec > h3, #OUTPUT .sec > h3, #WORKSHOP .sec > h3 {
    width: 100%;
    text-align: left;
    font-size: 18px;
    font-weight: 400;
    line-height: 18px;
  }
  #ABOUT .sec > h3 + p, #OUTPUT .sec > h3 + p, #WORKSHOP .sec > h3 + p {
    width: 100%;
    text-align: left;
    font-size: 11px;
    line-height: 10px;
    margin-top: 10px;
  }
  #ABOUT .sec .col_box, #OUTPUT .sec .col_box, #WORKSHOP .sec .col_box {
    width: 350px;
    margin-top: 30px;
  }
  #ABOUT .sec .col_box .img_area, #OUTPUT .sec .col_box .img_area, #WORKSHOP .sec .col_box .img_area {
    width: 100%;
  }
  #ABOUT .sec .col_box .img_area img, #OUTPUT .sec .col_box .img_area img, #WORKSHOP .sec .col_box .img_area img {
    margin: 0 auto;
    border-radius: 50%;
    display: block;
    width: 130px;
    height: 130px;
    object-fit: cover;
    font-family: 'object-fit: cover;';
  }
  #ABOUT .sec .col_box h3, #OUTPUT .sec .col_box h3, #WORKSHOP .sec .col_box h3 {
    width: 100%;
    text-align: center;
    font-size: 18px;
    font-weight: 400;
    line-height: 18px;
    margin-top: 27px;
  }
  #ABOUT .sec .col_box h4, #OUTPUT .sec .col_box h4, #WORKSHOP .sec .col_box h4 {
    width: 100%;
    text-align: center;
    font-size: 13px;
    font-weight: 300;
    line-height: 13px;
    margin-top: 8px;
  }
  #ABOUT .sec .col_box p, #OUTPUT .sec .col_box p, #WORKSHOP .sec .col_box p {
    font-size: 13px;
    font-weight: 300;
    line-height: 20px;
    margin-top: 25px;
  }
  #ABOUT .sec .col_box ul, #OUTPUT .sec .col_box ul, #WORKSHOP .sec .col_box ul {
    justify-content: flex-start;
    flex-wrap: nowrap;
    margin: 7px 0;
  }
  #ABOUT .sec .col_box ul:first-of-type, #OUTPUT .sec .col_box ul:first-of-type, #WORKSHOP .sec .col_box ul:first-of-type {
    margin-top: 15px;
  }
  #ABOUT .sec .col_box ul li, #OUTPUT .sec .col_box ul li, #WORKSHOP .sec .col_box ul li {
    margin-right: 10px;
    font-size: 12px;
    font-weight: 200;
    line-height: 16px;
  }
  #ABOUT .sec .col_box ul li:first-of-type, #OUTPUT .sec .col_box ul li:first-of-type, #WORKSHOP .sec .col_box ul li:first-of-type {
    min-width: 50px;
  }
  #ABOUT .sec .col_box .url, #OUTPUT .sec .col_box .url, #WORKSHOP .sec .col_box .url {
    font-size: 12px;
    font-weight: 300;
    line-height: 12px;
    margin-top: 15px;
  }
  #ABOUT .sec .col_box .url a, #OUTPUT .sec .col_box .url a, #WORKSHOP .sec .col_box .url a {
    color: #787878;
  }
  #ABOUT .sec .col_box .sns_link, #OUTPUT .sec .col_box .sns_link, #WORKSHOP .sec .col_box .sns_link {
    margin-top: 8px;
  }
  #ABOUT .sec .col_box .sns_link a span, #OUTPUT .sec .col_box .sns_link a span, #WORKSHOP .sec .col_box .sns_link a span {
    margin: 0;
  }
  #ABOUT .sec .col_box .sns_link a span:before, #OUTPUT .sec .col_box .sns_link a span:before, #WORKSHOP .sec .col_box .sns_link a span:before {
    margin-right: 5px;
  }
  #ABOUT .sec .title_area, #OUTPUT .sec .title_area, #WORKSHOP .sec .title_area {
    width: 100%;
  }
  #ABOUT .sec .title_area h3, #OUTPUT .sec .title_area h3, #WORKSHOP .sec .title_area h3 {
    font-size: 18px;
    font-weight: 400;
    line-height: 8px;
  }
  #ABOUT .sec .title_area h3 + p, #OUTPUT .sec .title_area h3 + p, #WORKSHOP .sec .title_area h3 + p {
    font-size: 10px;
    line-height: 10px;
    margin-top: 10px;
	 margin-bottom: 10px;
  }
  #ABOUT .sec .content_area, #OUTPUT .sec .content_area, #WORKSHOP .sec .content_area {
    width: 100%;
    margin-top: 13px;
  }
  #ABOUT .sec .content_area h2, #OUTPUT .sec .content_area h2, #WORKSHOP .sec .content_area h2 {
    font-size: 24px;
    line-height: 30px;
    font-weight: 400;
  }
  #ABOUT .sec .content_area h2 + .content, #OUTPUT .sec .content_area h2 + .content, #WORKSHOP .sec .content_area h2 + .content {
    margin-top: 18px;
  }
  #ABOUT .sec .content_area h3, #OUTPUT .sec .content_area h3, #WORKSHOP .sec .content_area h3 {
    font-size: 18px;
    line-height: 18px;
    font-weight: 400;
  }
  #ABOUT .sec .content_area h3 + table, #OUTPUT .sec .content_area h3 + table, #WORKSHOP .sec .content_area h3 + table {
    margin-top: 30px;
  }
  #ABOUT .sec .content_area iframe, #OUTPUT .sec .content_area iframe, #WORKSHOP .sec .content_area iframe {
    width: 100%;
    height: 300px;
    margin-bottom: 35px;
  }
  #ABOUT .sec .content_area .col, #OUTPUT .sec .content_area .col, #WORKSHOP .sec .content_area .col {
    justify-content: flex-start;
    flex-wrap: nowrap;
  }
  #ABOUT .sec .content_area .col li, #OUTPUT .sec .content_area .col li, #WORKSHOP .sec .content_area .col li {
    font-size: 13px;
    line-height: 20px;
    margin-bottom: 0px;
  }
  #ABOUT .sec .content_area .col li:first-of-type, #OUTPUT .sec .content_area .col li:first-of-type, #WORKSHOP .sec .content_area .col li:first-of-type {
    width: 60px;
    min-width: 60px;
    margin-right: 10px;
  }
  #ABOUT .sec .content_area .content, #OUTPUT .sec .content_area .content, #WORKSHOP .sec .content_area .content {
    flex-wrap: wrap;
  }
  #ABOUT .sec .content_area .content img, #OUTPUT .sec .content_area .content img, #WORKSHOP .sec .content_area .content img {
    width: 100%;
    height: 180px;
    object-fit: cover;
  }
  #ABOUT .sec .content_area .content img + .text_area, #OUTPUT .sec .content_area .content img + .text_area, #WORKSHOP .sec .content_area .content img + .text_area {
    margin-top: 20px;
    padding-left: 0px;
    max-width: 100%;
  }
  #ABOUT .sec .content_area .content .text_area, #OUTPUT .sec .content_area .content .text_area, #WORKSHOP .sec .content_area .content .text_area {
    max-width: 100%;
    display: block;
  }
  #ABOUT .sec .content_area .content .text_area h3, #OUTPUT .sec .content_area .content .text_area h3, #WORKSHOP .sec .content_area .content .text_area h3 {
    font-size: 15px;
    line-height: 20px;
    font-weight: 400;
  }
  #ABOUT .sec .content_area .content .text_area h3 + p, #OUTPUT .sec .content_area .content .text_area h3 + p, #WORKSHOP .sec .content_area .content .text_area h3 + p {
    margin-top: 10px;
  }
  #ABOUT .sec .content_area .content .text_area p, #OUTPUT .sec .content_area .content .text_area p, #WORKSHOP .sec .content_area .content .text_area p {
    font-size: 13px;
    line-height: 20px;
  }
  #ABOUT .sec .content_area table, #OUTPUT .sec .content_area table, #WORKSHOP .sec .content_area table {
    width: 100%;
    margin-top: 20px;
  }
  #ABOUT .sec .content_area table + .content, #OUTPUT .sec .content_area table + .content, #WORKSHOP .sec .content_area table + .content {
    margin-top: 70px;
  }
  #ABOUT .sec .content_area table tr, #OUTPUT .sec .content_area table tr, #WORKSHOP .sec .content_area table tr {
    border-bottom: 1px solid #cdcdcd;
  }
  #ABOUT .sec .content_area table tr:first-of-type, #OUTPUT .sec .content_area table tr:first-of-type, #WORKSHOP .sec .content_area table tr:first-of-type {
    border-top: 1px solid #cdcdcd;
  }
  #ABOUT .sec .content_area table th, #OUTPUT .sec .content_area table th, #WORKSHOP .sec .content_area table th {
    min-width: 70px;
    font-size: 12px;
    line-height: 16px;
    text-align: center;
    background: #eeeeee;
    padding: 0 5px;
    font-weight: normal;
  }
  #ABOUT .sec .content_area table th:nth-of-type(2), #OUTPUT .sec .content_area table th:nth-of-type(2), #WORKSHOP .sec .content_area table th:nth-of-type(2) {
    border-left: 1px solid #cdcdcd;
  }
  #ABOUT .sec .content_area table td, #OUTPUT .sec .content_area table td, #WORKSHOP .sec .content_area table td {
    width: auto;
    padding: 10px 15px;
    font-size: 12px;
    line-height: 16px;
  }
  #ABOUT .sec .content_area .caption, #OUTPUT .sec .content_area .caption, #WORKSHOP .sec .content_area .caption {
    margin-top: 10px;
  }
  #ABOUT .sec .content_area .caption p, #OUTPUT .sec .content_area .caption p, #WORKSHOP .sec .content_area .caption p {
    font-size: 12px;
    line-height: 16px;
    margin-bottom: 10px;
    padding-left: 17px;
    position: relative;
  }
  #ABOUT .sec .content_area .caption p:before, #OUTPUT .sec .content_area .caption p:before, #WORKSHOP .sec .content_area .caption p:before {
    content: "※";
    position: absolute;
    top: 0;
    left: 0px;
  }
  #ABOUT .sec .content_area .step.money, #OUTPUT .sec .content_area .step.money, #WORKSHOP .sec .content_area .step.money {
    margin-top: 20px;
  }
  #ABOUT .sec .content_area .step.money li, #OUTPUT .sec .content_area .step.money li, #WORKSHOP .sec .content_area .step.money li {
    text-align: center;
    min-width: 100px;
    font-size: 13px;
    line-height: 13px;
    padding: 8px;
    border: 3px solid #cdcdcd;
    margin: 0 28px 0 0;
    position: relative;
  }
  #ABOUT .sec .content_area .step.money li:before, #OUTPUT .sec .content_area .step.money li:before, #WORKSHOP .sec .content_area .step.money li:before {
    content: "+";
    position: absolute;
    left: -22px;
  }
  #ABOUT .sec .content_area .step.money li:first-of-type:before, #OUTPUT .sec .content_area .step.money li:first-of-type:before, #WORKSHOP .sec .content_area .step.money li:first-of-type:before {
    content: none;
  }
  #ABOUT .sec .content_area .step.money li:last-of-type:before, #OUTPUT .sec .content_area .step.money li:last-of-type:before, #WORKSHOP .sec .content_area .step.money li:last-of-type:before {
    content: "=";
  }

  #partition {
    display: block;
    margin-top: 70px;
    min-width: 100%;
  }
  #partition img {
    width: 100%;
    height: 600px;
    object-fit: cover;
    font-family: 'object-fit: cover;';
  }

  #ABOUT #access, #OUTPUT .price {
    justify-content: space-around;
    margin-top: 100px;
    margin-bottom: 60px;
  }

  /*-- ABOUT --*/
  #ABOUT #hello_area {
    display: block;
    max-width: 100%;
    min-width: 100%;
    margin: 0 auto;
  }
  #ABOUT #hello_area h2, #ABOUT #hello_area p {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
  }
  #ABOUT #hello_area h2 {
    font-size: 20px;
    line-height: 26px;
    font-weight: 300;
  }
  #ABOUT #hello_area h2 + p {
    margin-top: 18px;
  }
  #ABOUT #hello_area p {
    font-size: 14px;
    line-height: 22px;
    font-weight: 300;
  }
  #ABOUT #hello_area p + p {
    margin-top: 15px;
  }

  #ABOUT #manager {
    margin-top: 100px;
    justify-content: center;
  }

  /*-- OUTPUT WORKSHOP共通 --*/
  #OUTPUT #hello_area, #WORKSHOP #hello_area {
    display: block;
    max-width: 100%;
    min-width: 100%;
    margin: 0 auto;
    position: relative;
    text-align: right;
    padding: 0 10px;
  }
  #OUTPUT #hello_area .text_area, #WORKSHOP #hello_area .text_area {
    text-align: left;
    position: static;
    top: 36%;
    display: block;
    width: 100%;
    background: rgba(255, 255, 255, 0);
    margin-top: 25px;
  }
  #OUTPUT #hello_area .text_area h2, #WORKSHOP #hello_area .text_area h2 {
    font-size: 20px;
    font-weight: 400;
    line-height: 30px;
  }
  #OUTPUT #hello_area .text_area p, #WORKSHOP #hello_area .text_area p {
    font-size: 14px;
    line-height: 22px;
    margin-top: 10px;
  }
  #OUTPUT #hello_area img, #WORKSHOP #hello_area img {
    width: 100%;
    height: 270px;
    object-fit: cover;
  }
}
@media (max-width: 768px) and (min-width: 1200px) {
  #OUTPUT #hello_area img, #WORKSHOP #hello_area img {
    width: 100%;
  }
}
@media (max-width: 768px) and (min-width: 1440px) {
  #OUTPUT #hello_area img, #WORKSHOP #hello_area img {
    width: 100%;
  }
}

@media (max-width: 768px) {
  #OUTPUT .sec, #WORKSHOP .sec {
    margin-top: 70px;
    justify-content: space-around;
  }

  /*-- OUTPUT --*/
  #OUTPUT #flow .content_area {
    flex-wrap: wrap;
    justify-content: center;
  }
  #OUTPUT #flow .content_area .content {
    width: 100%;
    padding: 0 0px 0 0;
    position: relative;
    text-align: center;
  }
  #OUTPUT #flow .content_area .content + .content {
    margin-top: 20px;
  }
  #OUTPUT #flow .content_area .content:last-of-type:after {
    content: none;
  }
  #OUTPUT #flow .content_area .content:after {
    content: "∨";
    transform: scaleY(0.5);
    display: block;
    position: static;
    margin-top: 10px;
    font-size: 40px;
    font-weight: 200;
  }
  #OUTPUT #flow .content_area .content img {
    width: 250px;
    height: 250px;
    border-radius: 50%;
    margin: 0 auto;
  }
  #OUTPUT #flow .content_area .content img + h4 {
    margin-top: 15px;
  }
  #OUTPUT #flow .content_area .content h4 {
    text-align: left;
    font-size: 15px;
    line-height: 18px;
    font-weight: 400;
  }
  #OUTPUT #flow .content_area .content h4 + p {
    margin-top: 5px;
  }
  #OUTPUT #flow .content_area .content p {
    text-align: left;
    font-size: 13px;
    line-height: 20px;
  }

  /*-- INFOMATION --*/
  #INFOMATION main {
    padding: 65px 0 0px;
  }

  /*-- DETAIL --*/
  #DETAIL main {
    min-width: 100%;
  }

  #DETAIL #hello_area {
    font-size: 15px;
    padding: 0 15px;
    width: 100%;
  }
  #DETAIL #hello_area h1 {
    font-size: 16px;
    line-height: 16px;
    text-align: right;
    margin-bottom: 30px;
  }

  #col2_page {
    width: 100%;
    padding-top: 60px;
    justify-content: center;
  }

  #main_area {
    width: 100%;
  }

  #title_area {
    width: 100%;
  }
  #title_area .img_area {
    width: 100%;
    margin: 0 auto;
  }
  #title_area .img_area img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    font-family: 'object-fit: cover;';
  }
  #title_area .data {
    font-size: 12px;
    line-height: 12px;
    color: #787878;
    margin-top: 25px;
  }
  #title_area h1 {
    font-size: 22px;
    line-height: 28px;
    margin-top: 10px;
    font-weight: 400;
  }
  #title_area span.title {
    font-size: 12px;
    line-height: 14px;
    font-weight: 200;
    color: #505050;
    margin-top: 15px;
  }
  #title_area .tag {
    margin-top: 15px;
  }
  #title_area p.text_area {
    font-size: 13px;
    line-height: 22px;
    margin-top: 23px;
  }

  #visual_editor {
    margin-top: 50px;
    padding: 0 15px;
  }
  #visual_editor h2 {
    font-size: 20px;
    line-height: 28px;
    font-weight: 300;
    margin-top: 30px;
  }
  #visual_editor h3 {
    font-size: 16px;
    line-height: 22px;
    font-weight: 400;
    margin-top: 30px;
  }
  #visual_editor p {
    font-size: 13px;
    line-height: 22px;
    margin-top: 20px;
  }
  #visual_editor ul {
    margin-top: 15px;
  }
  #visual_editor li {
    font-size: 13px;
    line-height: 22px;
    margin-top: 3px;
  }

  #visual_editor table {
    width: 100%;
    font-size: 13px;
    line-height: 20px;
    margin-top: 10px;
  }
  #visual_editor table tr {
    border-top: 1px solid #CBCBCB;
  }
  #visual_editor table tr:last-of-type {
    border-bottom: 1px solid #CBCBCB;
  }
  #visual_editor table tr td {
    padding: 10px;
  }
  #visual_editor table tr td:first-of-type {
    width: 30%;
    text-align: center;
    background: #eeeeee;
  }

  .intro {
    margin-top: 60px;
    padding: 0 20px;
  }
  .intro h3 {
    font-size: 18px;
    line-height: 22px;
    font-weight: 400;
    width: 100%;
    margin-bottom: 30px;
  }
  .intro .img_area {
    width: 125px;
    margin: 0 auto 10px;
  }
  .intro .img_area img {
    border-radius: 50%;
    display: block;
    width: 125px;
    height: 125px;
    object-fit: cover;
    font-family: 'object-fit: cover;';
  }
  .intro .text_area {
    width: 100%;
    max-width: 795px;
    padding-left: 0px;
  }
  .intro .text_area .name {
    font-size: 16px;
    line-height: 16px;
    font-weight: 400;
    margin-top: 8px;
  }
  .intro .text_area p {
    font-size: 13px;
    line-height: 22px;
    margin-top: 8px;
  }
  .intro .text_area .url {
    font-size: 13px;
    line-height: 20px;
    color: #787878;
    margin-top: 10px;
  }

  #side_area {
    display: none;
  }

  .sns_link_area {
    margin-top: 50px;
    margin-bottom: 20px;
    margin-left: 0;
  }

  #sort_area {
    font-size: 13px;
    line-height: 20px;
    border-top: 1px solid #c6c6c6;
    padding: 40px 15px;
    margin: 40px 0 0;
  }
  #sort_area h1 {
    font-size: 16px;
    line-height: 16px;
    text-align: right;
    margin-bottom: 30px;
  }
  #sort_area .col {
    justify-content: flex-start;
    align-items: center;
  }
  #sort_area .archive {
    margin-top: 15px;
  }
  #sort_area .archive form {
    position: relative;
    /* Google Chrome, Safari, Opera 15+, Android, iOS */
    /* Firefox 18- */
    /* Firefox 19+ */
    /* IE 10+ */
  }
  #sort_area .archive form .month-year-input {
    width: 150px;
    margin-right: 2px;
    padding-left: 10px;
  }
  #sort_area .archive form ::-webkit-input-placeholder {
    color: #cdcdcd;
    font-family: kozuka-mincho-pro, serif;
  }
  #sort_area .archive form :-moz-placeholder {
    color: #cdcdcd;
    opacity: 1;
    font-family: kozuka-mincho-pro, serif;
  }
  #sort_area .archive form ::-moz-placeholder {
    color: #cdcdcd;
    opacity: 1;
    font-family: kozuka-mincho-pro, serif;
  }
  #sort_area .archive form :-ms-input-placeholder {
    color: #cdcdcd;
    font-family: kozuka-mincho-pro, serif;
  }
  #sort_area .archive span:before {
    top: 8px;
    right: 7px;
    position: absolute;
    font-size: 13px;
    color: #aaa;
  }
  #sort_area .title {
    font-size: 15px;
    width: 100%;
    display: block;
    margin-bottom: 9px;
  }
  #sort_area .colon:before {
    content: "：";
    position: static !important;
    margin-right: 15px;
  }

  #page_nav_area {
    border-top: 1px solid #C6C6C6;
    border-bottom: 1px solid #C6C6C6;
    padding: 30px 0;
    margin: 0 0 0 0;
  }
  #page_nav_area ul {
    justify-content: center;
  }
  #page_nav_area li {
    font-size: 13px;
    margin: 0 10px;
  }
  #page_nav_area li span:before {
    font-size: 16px;
    color: #323232;
  }
  #page_nav_area li.current {
    opacity: 0.6;
  }
  #page_nav_area li:first-of-type {
    padding-right: 20px;
  }
  #page_nav_area li:first-of-type:after {
    content: "";
    display: block;
    width: 9px;
    height: 1px;
    background: #323232;
    margin: 5px auto 0 auto;
  }
  #page_nav_area li:last-of-type {
    padding-left: 20px;
  }
  #page_nav_area li:last-of-type:after {
    content: "";
    display: block;
    width: 9px;
    height: 1px;
    background: #323232;
    margin: 5px auto 0 auto;
  }
  #page_nav_area li:after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: #323232;
    margin-top: 5px;
  }

  /*-- CONTACT --*/
  #CONTACT main {
    padding: 120px 0 50px;
    border-bottom: 1px solid #cccccc;
  }

  #CONTACT form {
    width: 100%;
    max-width: 100%;
    min-width: 100%;
    margin: 20px auto;
    padding: 0 15px;
  }
  #CONTACT form.confirm .cont li:first-of-type {
    margin-top: 0;
  }
  #CONTACT form ul {
    width: 100%;
    display: block;
    justify-content: flex-start;
    align-items: center;
    padding: 0;
    margin-bottom: 20px;
  }
  #CONTACT form ul li {
    font-size: 13px;
    width: 100%;
    margin-right: 60px;
    position: relative;
  }
  #CONTACT form ul li:first-of-type {
    width: 280px;
  }
  #CONTACT form ul li:first-of-type span.req {
    color: #fff;
    padding: 3px 5px;
    font-size: 11px;
    position: static;
    margin-left: 10px;
    background: #646464;
  }
  #CONTACT form ul li:last-of-type {
    margin-right: 0;
  }
  #CONTACT form ul + p {
    margin: 20px 0 0 30px;
  }
  #CONTACT form .cont {
    align-items: flex-start;
  }
  #CONTACT form .cont li:first-of-type {
    margin-top: 10px;
  }
  #CONTACT form input {
    width: 260px;
    height: 40px;
    border-radius: 0;
    font-size: 13px;
    line-height: 16px;
    font-family: kozuka-mincho-pro, serif;
    font-weight: 300;
    padding-left: 10px;
    border-color: #D7D7D7;
    margin-top: 10px;
  }
  #CONTACT form textarea {
    font-size: 13px;
    width: 100%;
    height: 150px;
    font-family: kozuka-mincho-pro, serif;
    font-weight: 300;
    border-color: #D7D7D7;
    border-radius: 0;
    margin-top: 10px;
  }
  #CONTACT form .form_btn_area {
    width: 100%;
    text-align: center;
    margin-top: 30px;
  }
  #CONTACT form .form_btn_area .btn {
    padding: 0;
    border-radius: 0;
    border: 1px solid #787878;
    position: relative;
    margin: 20px 15px 0;
    width: 250px;
    font-family: kozuka-mincho-pro, serif;
  }
  #CONTACT form .form_btn_area .btn p {
    display: block;
    padding: 12px 0px;
    font-size: 15px;
    line-height: 15px;
    font-weight: 400;
    text-align: center;
    transition: 0.3s;
  }
  #CONTACT form .form_btn_area .btn p:hover {
    opacity: 1;
    background: black;
    color: #fff;
    transition: 0.3s;
  }
  #CONTACT form .form_btn_area .btn p:before, #CONTACT form .form_btn_area .btn p:after {
    content: "";
    display: block;
    background: #787878;
    position: absolute;
    bottom: -4px;
    right: -4px;
  }
  #CONTACT form .form_btn_area .btn p:before {
    width: 1px;
    height: 100%;
  }
  #CONTACT form .form_btn_area .btn p:after {
    width: 100%;
    height: 1px;
  }
  #CONTACT form .form_btn_area .btn p p {
    color: #000;
  }

  /*-- form --*/
  input, select {
    padding: 5px;
    border-radius: 0;
    border: 1px solid #787878;
    padding-left: 30px;
    font-size: 13px;
    color: #323232;
  }

  #contact {
    width: 100%;
    padding: 40px 15px 0;
    margin-top: 50px;
  }
  #contact h1 {
    font-size: 24px;
    line-height: 24px;
    font-weight: 500;
    text-align: center;
    margin-bottom: 40px;
  }
  #contact h1:after {
    content: none;
  }
  #contact ul {
    justify-content: center;
    align-items: center;
  }
  #contact ul li.left, #contact ul li.right {
    width: 100%;
  }
  #contact ul .left {
    padding-right: 0;
    border-right: none;
  }
  #contact ul .left .text_area {
    width: 100%;
    text-align: center;
  }
  #contact ul .left .text_area a {
    padding: 10px 0px 7px !important;
  }
  #contact ul .left .text_area .info {
    font-size: 13px;
    line-height: 13px;
    font-weight: 200;
    margin-bottom: 5px;
  }
  #contact ul .left .text_area .number {
    font-size: 26px;
    line-height: 26px;
    font-weight: 400;
  }
  #contact ul .right {
    padding-left: 0;
    margin-top: 20px;
  }
  #contact ul .right .cont_btn {
    width: 100%;
    text-align: center;
  }
  #contact ul .right .cont_btn a {
    padding: 20px 0px !important;
  }

  #link_area {
    margin-top: 60px;
  }
  #link_area ul {
    justify-content: center;
  }
  #link_area ul li {
    width: 50%;
    margin: 0 0 20px;
    padding: 0 5px;
  }
  #link_area ul li img {
    width: 100%;
  }

  footer {
    margin-bottom: 40px;
  }
  footer .sns_link_r {
    display: none;
  }
  footer .footer_nav {
    display: none;
  }
  footer .footer_logo {
    display: none;
  }
  footer .copyright {
    text-align: center;
    font-size: 10px;
    line-height: 10px;
    margin-top: 13px;
  }

  .tag {
    font-size: 12px;
    line-height: 12px;
    padding: 2px 5px;
    border: 1px solid #505050;
    display: inline-block;
  }

  .btn {
    border: 1px solid #787878;
    position: relative;
  }
  .btn a {
    display: block;
    font-size: 18px;
    line-height: 18px;
    font-weight: 400;
  }
  .btn a:before, .btn a:after {
    content: "";
    display: block;
    background: #787878;
    position: absolute;
    bottom: -4px;
    right: -4px;
  }
  .btn a:before {
    width: 1px;
    height: 100%;
  }
  .btn a:after {
    width: 100%;
    height: 1px;
  }

  .sns_link_r span {
    width: 22px;
    height: 22px;
    display: inline-block;
    position: relative;
    margin: 0 8px;
    background: #323232;
    border-radius: 50% 50%;
    padding: 5px;
  }
  .sns_link_r span:before {
    font-size: 14px;
    color: #fff;
    position: absolute;
    top: 4px;
    left: 4px;
  }

  /*-- PRIVACY --*/
  #PRIVACY main {
    padding: 100px 0 50px;
  }

  #PRIVACY .sec {
    margin-top: 50px;
    padding: 0 15px;
  }
  #PRIVACY .sec h3 {
    font-size: 18px;
    line-height: 24px;
    font-weight: 400;
  }
  #PRIVACY .sec h3 + p {
    margin-top: 8px;
  }
  #PRIVACY .sec p {
    font-size: 13px;
    line-height: 22px;
  }
  #PRIVACY .sec p + h3 {
    margin-top: 30px;
  }
  #PRIVACY .sec p + p {
    margin-top: 10px;
  }
  #PRIVACY .sec p + ul {
    margin-top: 12px;
  }
  #PRIVACY .sec ul + h3 {
    margin-top: 23px;
  }
  #PRIVACY .sec ul + p {
    margin-top: 13px;
  }
  #PRIVACY .sec ul li {
    font-size: 13px;
    line-height: 18px;
    padding-left: 1em;
    text-indent: -1em;
  }
  #PRIVACY .sec ul li + li {
    margin-top: 5px;
  }
  #PRIVACY .sec .caption {
    font-size: 12px;
    line-height: 16px;
    padding-left: 1em;
    text-indent: -1em;
  }
  #PRIVACY .sec .caption + h3 {
    margin-top: 32px;
  }

  /*=====================
  	calendar_config
  =====================*/
  .cal_wrapper {
    max-width: 1440px;
    /* 最大幅 */
    min-width: 300px;
    /* 最小幅 */
    max-height: 100%;
    margin: 2.0833% auto;
  }

  .googlecal {
    position: relative;
    padding-bottom: 100%;
    /* 縦横比 */
    height: 0;
    overflow: hidden;
  }

  .googlecal iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
  }
}
@media only screen and (max-width: 768px) and (min-width: 600px) {
  /* 画面幅が600px以上の場合の縦横比の指定 */
  .googlecal {
    padding-bottom: 75%;
  }
}
@media (max-width: 768px) {
  /*=====================
  	slide_config
  =====================*/
  .slick-dotted.slick-slider {
    margin-bottom: 0 !important;
  }

  .slick-dots {
    position: absolute;
    bottom: 4px !important;
    right: 20px !important;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: right !important;
  }

  .slick-dots li {
    position: relative;
    display: inline-block;
    width: 40px !important;
    height: 20px;
    margin: 0 7px !important;
    padding: 0;
    cursor: pointer;
  }

  .slick-dots li button:before {
    font-family: 'slick';
    font-size: 6px;
    line-height: 0px !important;
    position: absolute;
    top: 0px !important;
    right: 0 !important;
    width: 40px !important;
    height: 2px !important;
    content: "" !important;
    text-align: right !important;
    opacity: .25;
    color: black;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    background: #fff;
  }

  /*=====================
  	SIDE_MENU
  =====================*/
  .side {
    display: none;
  }
}
/*================================================================================
	320 - 480
================================================================================*/
@media (max-width: 480px) {
  #col4 ul {
    width: 100%;
    min-width: 100%;
  }

  #ABOUT .sec .content_area .step.money, #OUTPUT .sec .content_area .step.money, #WORKSHOP .sec .content_area .step.money {
    margin-top: 25px;
  }
  #ABOUT .sec .content_area .step.money li, #OUTPUT .sec .content_area .step.money li, #WORKSHOP .sec .content_area .step.money li {
    text-align: center;
    min-width: 60px;
    font-size: 12px;
    line-height: 16px;
    padding: 5px 5px;
    border: 2px solid #cdcdcd;
    margin: 0 18px 0 0;
    position: relative;
  }
  #ABOUT .sec .content_area .step.money li:before, #OUTPUT .sec .content_area .step.money li:before, #WORKSHOP .sec .content_area .step.money li:before {
    content: "+";
    position: absolute;
    left: -15px;
    top: 13px;
  }
  #ABOUT .sec .content_area .step.money li:first-of-type:before, #OUTPUT .sec .content_area .step.money li:first-of-type:before, #WORKSHOP .sec .content_area .step.money li:first-of-type:before {
    content: none;
  }
  #ABOUT .sec .content_area .step.money li:last-of-type, #OUTPUT .sec .content_area .step.money li:last-of-type, #WORKSHOP .sec .content_area .step.money li:last-of-type {
    margin: 0;
  }
  #ABOUT .sec .content_area .step.money li:last-of-type:before, #OUTPUT .sec .content_area .step.money li:last-of-type:before, #WORKSHOP .sec .content_area .step.money li:last-of-type:before {
    content: "=";
  }
}
/*================================================================================
	icomoon
=================================================================================*/
@font-face {
  font-family: 'icomoon';
  src: url("fonts/icomoon.eot?dlodkg");
  src: url("fonts/icomoon.eot?dlodkg#iefix") format("embedded-opentype"), url("fonts/icomoon.ttf?dlodkg") format("truetype"), url("fonts/icomoon.woff?dlodkg") format("woff"), url("fonts/icomoon.svg?dlodkg#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
}
[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-icon_01:before {
  content: "\e900";
  color: #fff;
}

.icon-icon_02:before {
  content: "\e901";
}

.icon-icon_03:before {
  content: "\e902";
}

.icon-icon_04:before {
  content: "\e903";
  color: #787878;
}

.icon-icon_05:before {
  content: "\e904";
  color: #787878;
}

.icon-icon_06:before {
  content: "\e905";
  color: #787878;
}

.icon-icon_07:before {
  content: "\e906";
  color: #787878;
}

.icon-icon_08:before {
  content: "\e907";
  margin-right: 5px;
}

.icon-icon_13:before {
  content: "\e90c";
}

/*================================================================================
	Adjustment
=================================================================================*/
.w200 {
  width: 200px !important;
}

.w250 {
  width: 250px !important;
}

.mtp0 {
  margin-top: 0px !important;
}

.mtp5 {
  margin-top: 5px !important;
}

.mtp10 {
  margin-top: 10px !important;
}

.mtp20 {
  margin-top: 20px !important;
}

.mtp30 {
  margin-top: 30px !important;
}

.mtp40 {
  margin-top: 40px !important;
}

.mtp50 {
  margin-top: 50px !important;
}

.mtp60 {
  margin-top: 60px !important;
}

.mtp70 {
  margin-top: 70px !important;
}

.mtp80 {
  margin-top: 80px !important;
}

.mtp90 {
  margin-top: 90px !important;
}

.mtp100 {
  margin-top: 100px !important;
}

.mrt0 {
  margin-right: 0px !important;
}

.mrt10 {
  margin-right: 10px !important;
}

.mrt20 {
  margin-right: 20px !important;
}

.mrt30 {
  margin-right: 30px !important;
}

.mrt40 {
  margin-right: 40px !important;
}

.mrt50 {
  margin-right: 50px !important;
}

.mrt60 {
  margin-right: 60px !important;
}

.mrt70 {
  margin-right: 70px !important;
}

.mrt80 {
  margin-right: 80px !important;
}

.mrt90 {
  margin-right: 90px !important;
}

.mrt100 {
  margin-right: 100px !important;
}

.mbm0 {
  margin-bottom: 0px !important;
}

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

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

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

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

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

.mbm60 {
  margin-bottom: 60px !important;
}

.mbm70 {
  margin-bottom: 70px !important;
}

.mbm80 {
  margin-bottom: 80px !important;
}

.mbm90 {
  margin-bottom: 90px !important;
}

.mbm100 {
  margin-bottom: 100px !important;
}

.mlt0 {
  margin-left: 0px !important;
}

.mlt10 {
  margin-left: 10px !important;
}

.mlt20 {
  margin-left: 20px !important;
}

.mlt30 {
  margin-left: 30px !important;
}

.mlt40 {
  margin-left: 40px !important;
}

.mlt50 {
  margin-left: 50px !important;
}

.mlt60 {
  margin-left: 60px !important;
}

.mlt70 {
  margin-left: 70px !important;
}

.mlt80 {
  margin-left: 80px !important;
}

.mlt90 {
  margin-left: 90px !important;
}

.mlt100 {
  margin-left: 100px !important;
}

/*↓180604.追記*/
h3.small {
  font-size: 18px!important;
}
p.small {
  font-size: 14px!important;
  line-height: 20px!important;
}
.link_line {
	text-decoration: underline!important;
}
.col ul li p.comments {
	font-size: 14px;
}
span.small {
  font-size: 16px!important;
}

@media (max-width: 768px) {
.col ul li p.comments {
	font-size: 12px!important;
	line-height: 16px!important;
}
span.small {
  font-size: 12px!important;
}
}
@media only screen and (min-width: 768px) {
	.br br {
	display:none;
	}
}
.sec.exception {
  width: 100%;
  padding: 0 60px;
  margin-top: 100px;
}
/*↑180604.追記*/
/*↓180607.追記*/
#visual_editor a {
  text-decoration: underline;
}
#visual_editor ul li{
  padding-left: 1em;
}
#visual_editor ul li:before {
  content: '';
  width: 3px;
  height: 3px;
  display: inline-block;
  border-radius: 100%;
  background: black;
  position: relative;
  left: -10px;
  top: -5px;
}
@media (max-width: 768px) {
  #visual_editor img {
    width: auto;
    height: auto;
  }
}
/*↑180604.追記*/
/*↓180614.追記*/
.Emphasis {
  color: #FF6400;
  font-weight: bold;
}
/*↑180614.追記*/
/*↓180615.追記*/
#TOP #hello_area .text_area p span.small_slide {
  font-size: 15.5px;
  line-height: 40px;
  letter-spacing: 4.25px;
  color: #fff;
}
@media (max-width: 768px) {
#TOP #hello_area .text_area p span.small_slide {
  font-size: 12px;
  line-height: 30px;
}
#ABOUT #hello_area {
  padding: 0 15px;
}
}
#ABOUT #hello_area p.about_name {
  margin-top: 30px;
  text-align: right;
}
/*↑180615.追記*/
html {
  visibility: hidden;
}
html.wf-active {
  visibility: visible;
}
/*↓180705.追記*/
.Emphasis02 {
  font-weight: bold;
  background: linear-gradient(transparent 70%, #FFE0CC 70%)
}
.Emphasis03 {
  display: inline-block;
  font-size: 12px;
  padding-top: 5px;
  letter-spacing: 0;
}
@media (max-width: 768px){
#OUTPUT .sec .content_area table th .Emphasis03 {
  font-size: 10px;
  padding-top: 3px;
  line-height: 13px !important;
}
}
/*↑180705.追記*/
