@charset "UTF-8";
@import url(//fonts.googleapis.com/css?family=Catamaran:700);
@import url(//fonts.googleapis.com/css?family=Josefin+Sans:400,700);
@import url(//fonts.googleapis.com/css?family=Montserrat:700);
@import url(//fonts.googleapis.com/css?family=Hind:700);
@import url(//fonts.googleapis.com/css?family=Yanone+Kaffeesatz:700);
/* ======================================================
  BODY
====================================================== */
body {
 width: 100%;
 height: 100%;
 color: #27333b;
 font-family: "GenShinGothic";
 font-size: 14px;
 font-weight: 600;
 line-height: 1.75em;
 word-wrap: break-word;
 overflow-wrap: break-word;
 overflow-x: hidden;
}

@media screen and (min-width: 480px) {
 body {
  font-size: 16px;
 }
}

a {
 transition: all .3s;
}

a.move:hover {
 display: inline-block;
 transform: translate(3px, 3px);
}

/* ======================================================
  ヘッダー
====================================================== */
.header {
 margin: 0 auto;
 width: 100%;
 height: 100px;
 background: #27333b;
 z-index: 8888;
 -moz-transition: all 0.3s;
 -o-transition: all 0.3s;
 -webkit-transition: all 0.3s;
 transition: all 0.3s;
}

.header.scrolled {
 position: fixed;
 top: 0;
 right: 0;
}

.site-logo-sp {
 display: none;
}

.header-inner {
 display: flex;
 justify-content: space-between;
 align-items: center;
 margin: 0 auto;
 width: 100%;
 max-width: 1200px;
}

@media screen and (max-width: 960px) {
 .header {
  height: 70px;
 }
 .header .navigation ul .site-logo {
  display: none;
 }
 .header.scrolled .navigation ul .site-logo {
  display: none;
 }
 .header-inner {
  width: 100%;
  height: 100%;
 }
 .site-logo-sp {
  padding: .8em 1em;
  display: block;
 }
 .site-logo-sp img {
  width: auto;
  height: 100%;
  max-height: calc(70px - 1.6em);
 }
}

/*  ヘッダー -->  トグルボタン
-------------------------------------------------------*/
.toggle-btn {
 display: none;
}

@media screen and (max-width: 960px) {
 .toggle-btn {
  display: block;
  position: absolute;
  top: 20px;
  right: 20px;
  width: 37px;
  height: 30px;
  cursor: pointer;
  z-index: 2222;
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
 }
 .toggle-btn:hover {
  opacity: 0.7;
 }
 .toggle-btn span {
  background: #f5f5f5;
  border: none;
  border-radius: 2px;
  height: 5px;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: all 0.35s ease;
  transition: all 0.35s ease;
  cursor: pointer;
 }
 .toggle-btn span:nth-of-type(2) {
  top: 14px;
 }
 .toggle-btn span:nth-of-type(3) {
  top: 28px;
 }
 .toggle-btn.active span:nth-of-type(1) {
  -webkit-transform: translateY(14px) rotate(-45deg);
  transform: translateY(14px) rotate(-45deg);
 }
 .toggle-btn.active span:nth-of-type(2) {
  left: 50%;
  opacity: 0;
  -webkit-animation: active-menu-bar02 .8s forwards;
  animation: active-menu-bar02 .8s forwards;
 }
 @-webkit-keyframes active-menu-bar02 {
  100% {
   height: 0;
  }
 }
 @keyframes active-menu-bar02 {
  100% {
   height: 0;
  }
 }
 .toggle-btn.active span:nth-of-type(3) {
  -webkit-transform: translateY(-14px) rotate(45deg);
  transform: translateY(-14px) rotate(45deg);
 }
}

/* ======================================================
  フッター
====================================================== */
.footer {
 position: relative;
 width: 100%;
}

.footer a:hover {
 opacity: 0.6;
}

.footer-inner {
 margin: 0 auto;
 padding: 0 1em;
 width: 100%;
 max-width: 1200px;
}

/*  フッター -->  サイト名・サイトマップエリア
-------------------------------------------------------*/
.footer-top {
 padding: 3em 0;
 background: #27333b;
 color: #f5f5f5;
}

/*  フッター -->  footer-top -->  サイト名
-------------------------------------------------------*/
.footer-infomation {
 display: inline-block;
 padding-bottom: .5em;
 text-align: center;
 border-bottom: 1px solid #f7f7f7;
}

.footer-infomation .sitename {
 font-family: "Hind", sans-serif;
 font-size: 30px;
 font-weight: 700;
 line-height: 36px;
}

.footer-infomation .sub {
 font-family: "Montserrat", sans-serif;
 font-size: 13px;
 font-weight: 700;
 line-height: 22px;
}

.sp-social {
 display: flex;
 justify-content: center;
 margin: 0 auto;
 margin-top: 1em;
 margin-bottom: .5em;
 width: 100%;
}

@media screen and (min-width: 480px) {
 .sp-social {
  display: none;
 }
}

.social {
 display: flex;
 justify-content: center;
 margin: 0 auto;
 margin-top: 1em;
 margin-bottom: 2em;
 width: 100%;
}

.social-icon {
 padding: 0 1em;
 font-size: 20px;
 text-align: center;
}

.social-icon a {
 color: #f7f7f7;
}

.social-icon a:hover {
 color: #eee;
}

.twitter:before {
 content: "\f099";
 font-family: 'icomoon';
}

.facebook:before {
 content: "\f09a";
 font-family: 'icomoon';
}

/*  フッター -->    footer-top -->  サイトマップ
-------------------------------------------------------*/
.sitemap {
 display: none;
}

.sitemap-list {
 margin-left: 2em;
 flex-basis: calc(25% - 2em);
}

.sitemap-list ul {
 padding: 0 1em;
}

.sitemap-list ul li {
 font-size: 13px;
}

.sitemap-list a {
 color: #f1f1f1;
}

.sitemap-list-title {
 margin-bottom: 1em;
 padding: 0 1em;
 border-bottom: 1px solid #f7f7f7;
 font-family: "Montserrat", sans-serif;
 font-weight: 700;
 line-height: 3em;
}

@media screen and (min-width: 960px) {
 .sitemap {
  margin: 2em 0 3em 0;
  display: flex;
  justify-content: center;
  margin-left: -2em;
  text-align: left;
 }
}

/*  フッター -->    footer-top -->  バナースライド
-------------------------------------------------------*/
.slide-banner {
 width: 100%;
 margin: 0 auto;
}

.slick-slide img {
 width: 100%;
 height: auto;
}

.slide-banner .slick-slide {
 margin: .5em;
}

/*  フッター --> 著作権表示エリア
-------------------------------------------------------*/
.footer-bottom {
 padding: 1em 0;
 background: #f1f1f1;
}

/*  フッター -->  footer-bottom  --> 著作権表示
-------------------------------------------------------*/
.copyright {
 color: #191919;
 font-family: "Hind", sans-serif;
 font-size: 14px;
 font-weight: 700;
 text-align: center;
}

/* ------------------------------------------------------
  page top
------------------------------------------------------ */
.pagetop {
 position: absolute;
 top: -23px;
 right: 0;
}

.pagetop a {
 display: block;
 width: 46px;
 height: 46px;
 border-radius: 50%;
 color: #f1f1f1;
 background-color: #191919;
 text-align: center;
 font-size: 15px;
 line-height: 30px;
 z-index: 999;
}

.pagetop a:before {
 content: '▲';
}

.pagetop a:hover {
 opacity: 0.6;
}

/* ======================================================
  メインエリア
====================================================== */
/*  レイアウト -->  2カラムコンテナ
-------------------------------------------------------*/
.column-container {
 margin: 0 auto;
 width: 100%;
}

.column-container .main {
 /* メインカラム */
 width: 100%;
}

.column-container .aside {
 /* サイドバー */
 display: none;
}

@media screen and (min-width: 960px) {
 .column-container {
  display: flex;
  max-width: 1200px;
 }
 .column-container .main {
  /* メイン */
  margin: 0 auto;
  flex-basis: calc(100% - 300px);
  order: 1;
 }
 .column-container .aside {
  /* サイドバー */
  display: block;
  flex-basis: 300px;
  margin: 4em auto;
  padding: 0 .5em;
  order: 2;
 }
}

/*  レイアウト -->  1カラムコンテナ
-------------------------------------------------------*/
.single-container {
 margin: 0 auto;
 width: 100%;
}

.single-container .main {
 /* メイン */
 margin: 0 auto;
}

/*  レイアウト -->  メインエリア  --> ページ縦方向余白
-------------------------------------------------------*/
.page-margin {
 padding-top: 2em;
 padding-bottom: 2em;
}

@media screen and (min-width: 768px) {
 .page-margin {
  padding-top: 5em;
  padding-bottom: 5em;
 }
}

/*  レイアウト -->  メインエリア  --> コンテンツ
-------------------------------------------------------*/
.content {
 margin: 0 auto;
 width: 90%;
}

.content .content-inner {
 margin: 0 auto;
 width: 90%;
}

.centering {
 margin: 0 auto;
 width: 100%;
 text-align: center;
}

@media screen and (min-width: 768px) {
 .centering {
  max-width: 1200px;
 }
}

.lesson-header {
 position: relative;
 width: 100%;
}

.webdesign-header {
 position: relative;
 width: 100%;
}

/* ======================================================
  サイドバー
====================================================== */
.aside-inner-wrap {
 padding: 0 1em;
}

.category-list {
 margin-bottom: 2em;
 padding: 0 1em;
}

.category-list li {
 border-bottom: 1px solid #9fb0b9;
 line-height: 2.4em;
}

.category-list li:last-child {
 border-bottom: none;
}

.category-list li a {
 position: relative;
 display: block;
 padding: 0 1em 0 3.5em;
 font-size: 13px;
 font-weight: 700;
}

.category-list li a:before {
 position: absolute;
 top: 0;
 left: 1.5em;
 content: '\e90b';
 font-family: 'icomoon';
}

.category-list li a:hover {
 background: #f7f7f7;
}

.aside-banner-area {
 margin-bottom: 2em;
}

.aside-banner-area a:hover {
 opacity: 0.8;
}

.aside-banner-area p {
 margin-bottom: 1em;
}

.aside-heading {
 position: relative;
 margin-bottom: 1em;
 padding: .5em .8em;
 background: #27333b;
 border-radius: 2px;
 color: #f1f1f1;
 font-family: "Hind", sans-serif;
 font-size: 18px;
}

.aside-sub-heading {
 position: absolute;
 top: .8em;
 right: 1em;
 font-size: 11px;
}

/* ニュース一覧 */
.s-blog-wrap {
 margin: 0 auto;
 width: 100%;
}

.s-blog {
 position: relative;
 margin-bottom: 2em;
 border: 2px solid #eee;
}

.s-blog a {
 display: block;
 padding: 1em;
}

.s-blog a .post-content .image,
.s-blog a .post-content .text {
 width: 100%;
}

.s-blog a:hover {
 opacity: 0.8;
 box-shadow: 0 4px 8px 2px rgba(0, 0, 0, 0.2);
 -webkit-transition: all 0.3s;
 transition: all 0.3s;
}

/* ======================================================
  セクション
====================================================== */
.section {
 padding: 3em 0 2em 0;
}

/* ======================================================
  スクロールバー
====================================================== */
::-webkit-scrollbar {
 width: 10px;
 background-color: #f1f1f1;
}

::-webkit-scrollbar-track {
 border-radius: 1px;
}

::-webkit-scrollbar-thumb {
 background-color: #191919;
}

/* ======================================================
  button
====================================================== */
.btn-area {
 margin: 0 auto;
 text-align: center;
}

/* 申し込みボタン */
.btn1 {
 position: relative;
 display: inline-block;
 width: 100%;
 max-width: 400px;
 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.4);
 font-weight: 700;
 line-height: 60px;
}

.btn1:after {
 content: '\e90b';
 position: absolute;
 top: 0;
 right: 1.5em;
 color: #f1f1f1;
 font-family: 'icomoon';
 font-size: 18px;
}

.btn1:hover {
 background: #666;
}

.btn-black {
 background: #191919;
 color: #f1f1f1;
}

.btn-gray {
 background: #666;
 color: #f1f1f1;
}

.btn-pink {
 background: #e95464;
 color: #f1f1f1;
}

.btn-green {
 background: #008080;
 color: #f1f1f1;
}

.btn-red {
 background: #b61919;
 color: #f1f1f1;
}

/* 角丸グレーボタン */
.btn3 {
 position: relative;
 display: inline-block;
 width: 250px;
 max-width: 100%;
 background: #eee;
 border-radius: 30px;
 font-weight: 700;
 line-height: 50px;
 text-align: center;
}

.btn3:after {
 content: '\e90b';
 position: absolute;
 top: 0;
 right: 1.5em;
 font-family: 'icomoon';
 font-size: 18px;
}

.btn3:hover {
 background: #191919;
 color: #f1f1f1;
}

/* レッスンくわしくみるボタン */
.btn4 {
 position: relative;
 display: block;
 width: 100%;
 max-width: 768px;
 background: #eee;
 border: 2px solid #191919;
 box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.39);
 font-weight: 700;
 line-height: 50px;
}

.btn4:hover {
 background: #191919;
 color: #f1f1f1;
}

/* 角丸グレーボタン */
.btn5 {
 position: relative;
 display: inline-block;
 width: 100%;
 max-width: 400px;
 background: #eee;
 border-radius: 30px;
 font-weight: 700;
 line-height: 50px;
 text-align: center;
}

.btn5:after {
 content: '\e90b';
 position: absolute;
 top: 0;
 right: 1.5em;
 font-family: 'icomoon';
 font-size: 18px;
}

.btn5:hover {
 background: #191919;
 color: #f1f1f1;
}

/* ======================================================
  見出し
====================================================== */
.site-name {
 color: #f1f1f1;
 font-family: "Josefin Sans", sans-serif;
 font-size: 35px;
 line-height: 35px;
}

.page-title-area {
 text-align: center;
}

.page-title {
 margin-bottom: .5em;
 font-family: "Josefin Sans", sans-serif;
 font-size: 28px;
 font-weight: 400;
 line-height: 40px;
}

.page-title span {
 padding-left: 2em;
 font-size: 14px;
}

@media screen and (min-width: 768px) {
 .page-title {
  font-size: 40px;
  line-height: 50px;
 }
 .page-title span {
  padding-left: 1.5em;
  font-size: 16px;
 }
}

/* ======================================================
  ナビゲーション
====================================================== */
/*  ナビゲーション -->  ナビ枠
-------------------------------------------------------*/
.navigation {
 display: inline;
 opacity: 0;
 visibility: hidden;
 -webkit-transition: opacity 0.35s, visibility 0.35s;
 transition: opacity 0.35s, visibility 0.35s;
 overflow: hidden;
 z-index: 999;
}

.navigation.close {
 position: fixed;
 top: 0;
 left: 0;
 width: 100%;
 height: 0%;
 opacity: 0;
 visibility: hidden;
 -webkit-transition: opacity 0.35s, visibility 0.35s;
 transition: opacity 0.35s, visibility 0.35s;
 overflow: hidden;
}

.navigation.open {
 padding: 5em 1.5em 1em 1.5em;
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 max-width: 99.999%;
 height: auto;
 background: #27333b;
 opacity: 0.95;
 visibility: visible;
}

@media screen and (min-width: 960px) {
 .navigation {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100px;
  background: transparent;
  opacity: 1;
  visibility: visible;
 }
}

/*  ナビゲーション -->  メインメニュー (1階層目)
-------------------------------------------------------*/
.main-menu {
 display: block;
 width: 100%;
 height: 100%;
}

.main-menu > .site-logo {
 flex-basis: 300px;
}

.main-menu > .site-logo img {
 width: 100%;
 max-width: 100%;
 height: auto;
}

.main-menu > li {
 position: relative;
 display: flex;
 justify-content: flex-start;
 padding: 0 .5em;
 width: 100%;
 height: auto;
 /* 重要 */
 color: #f5f5f5;
 font-family: "Hind", sans-serif;
 font-size: 15px;
 font-weight: 700;
 text-align: left;
}

.main-menu > li p {
 line-height: 60px;
 /* 重要 */
}

.main-menu > li span {
 display: inline-block;
 padding-left: 2em;
 font-family: "GenShinGothic";
 font-size: 11px;
 font-weight: normal;
}

.main-menu li a {
 display: block;
 width: 100%;
 color: #f5f5f5;
 line-height: 50px;
}

.main-menu li:hover {
 transition: all .2s;
 transform: translate(5px, 5px);
}

.main-menu li.parent {
 display: block;
}

@media screen and (min-width: 960px) {
 .main-menu {
  margin-left: auto;
  display: flex;
  justify-content: space-around;
  align-items: center;
  width: 100%;
  max-width: 1200px;
  height: 80px;
 }
 .main-menu > li {
  margin-bottom: 0;
  justify-content: center;
  align-items: center;
  width: 20%;
  text-align: center;
 }
 .main-menu > li p {
  line-height: 1.85em;
  /* 重要 */
 }
 .main-menu > li span {
  display: block;
  padding-left: 0;
 }
 .main-menu li a {
  margin-bottom: none;
  padding: 0 1em;
  line-height: 1.85em;
 }
}

.main-menu li:after {
 position: absolute;
 top: 0;
 right: 10px;
 content: '\f0da';
 font-family: 'icomoon';
 color: #f1f1f1;
}

.main-menu li:hover:after {
 position: absolute;
 top: 0;
 right: 10px;
 content: '\f0d7';
 font-family: 'icomoon';
 color: #f1f1f1;
}

@media screen and (min-width: 960px) {
 .main-menu li:after {
  content: '';
 }
 .main-menu li:hover:after {
  content: '';
 }
}

/*  ナビゲーション -->  ウェブデザインナビゲーション
-------------------------------------------------------*/
.web-navigation {
 display: none;
}

@media screen and (min-width: 960px) {
 .web-navigation {
  display: block;
  position: relative;
  background: #555;
 }
 .pagemenu-list {
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 1200px;
 }
 .pagemenu-list li {
  position: relative;
  padding: 0 2em;
  line-height: 50px;
 }
 .pagemenu-list li:after {
  position: absolute;
  top: 0;
  right: 0;
  color: #f1f1f1;
  font-family: 'icomoon';
  content: "\e906";
 }
 .pagemenu-list li a {
  color: #f1f1f1;
 }
}

/*  ナビゲーション -->  スマホバナーメニュー
-------------------------------------------------------*/
.sp-banner-menu {
 display: flex;
 justify-content: center;
 margin-top: 1em;
 margin-bottom: 2em;
 width: 100%;
}

.sp-banner-menu p {
 padding: 0 .5em;
 flex-basis: 50%;
}

@media screen and (min-width: 480px) {
 .sp-banner-menu {
  display: none;
 }
}

/*  ナビゲーション -->  スマホボトムメニュー
-------------------------------------------------------*/
.sp-bottom-menu {
 margin: 2em auto;
 width: 100%;
}

.sp-bottom-menu li {
 font-size: 11px;
}

.sp-bottom-menu li a {
 display: block;
 padding: 0 1em;
 color: #ccc;
 line-height: 30px;
}

.sp-bottom-menu li a:hover {
 color: #27333b;
 background: #eee;
}

@media screen and (min-width: 480px) {
 .sp-bottom-menu {
  display: none;
 }
}

/* ======================================================
  jumbotron
====================================================== */
.jumbotron {
 position: relative;
}

.l-jumbotron:before {
 background: rgba(0, 0, 0, 0.8);
 position: absolute;
 top: 0;
 right: 0;
 bottom: 0;
 left: 0;
 content: ' ';
}

.jumbotron-inner {
 position: absolute;
 top: 50%;
 left: 50%;
 width: 100%;
 color: #f5f5f5;
 text-align: center;
 transform: translateY(-50%) translateX(-50%);
 -webkit-transform: translateY(-50%) translateX(-50%);
}

/* ======================================================
  breadcrumb
====================================================== */
.breadcrumb {
 margin-bottom: 2em;
 padding: .5em 1em;
 border-radius: 13px;
 background: #f3f3f3;
}

.breadcrumb-list {
 margin: 0 auto;
 max-width: 1200px;
}

.breadcrumb-list li {
 display: inline-block;
 font-size: 10px;
 line-height: 21px;
}

.breadcrumb-list li a {
 color: #191919;
}

.breadcrumb-list li:after {
 padding: 0 .5em 0 .8em;
 content: '\f0da';
 font-family: 'icomoon';
}

.breadcrumb-list li:last-child:after {
 content: '';
}

@media screen and (min-width: 768px) {
 .breadcrumb {
  margin-bottom: 2em;
  padding: .5em 1.5em;
  border-radius: 30px;
 }
 .breadcrumb-list li {
  font-size: 12px;
  line-height: 26px;
 }
 .breadcrumb-list li:after {
  padding: 0 .8em 0 1em;
 }
}

/* ======================================================
  ページネーション
====================================================== */
.pagenation-wrap {
 display: flex;
 justify-content: center;
 margin: 2em 0;
 text-align: left;
}

.pagenation-wrap p {
 padding-right: 1.5em;
 font-family: "Corporate Logo";
 font-size: 16px;
 line-height: 50px;
}

.pagenation ul {
 display: flex;
 flex-wrap: wrap;
 justify-content: flex-start;
 align-items: center;
 margin-left: -1em;
}

.pagenation ul li {
 margin-left: 1em;
 width: 50px;
 height: 50px;
 border-radius: 20px;
 font-family: "Corporate Logo";
 font-size: 16px;
 text-align: center;
 line-height: 50px;
}

.pagenation ul li.active {
 border-radius: 20px;
 background: #191919;
 color: #f1f1f1;
 cursor: not-allowed;
}

.pagenation ul li a {
 padding: 0 .8em;
 border-radius: 20px;
 display: block;
 background: #f3f3f3;
 color: #27333b;
 text-decoration: none;
}

.pagenation ul li a:hover {
 background: #191919;
 color: #f1f1f1;
 opacity: 1;
}

.prev {
 position: relative;
}

.prev:before {
 margin: 0;
 position: absolute;
 content: '\f0d9';
 font-family: 'icomoon';
}

.next {
 position: relative;
}

.next:before {
 position: absolute;
 content: '\f0da';
 font-family: 'icomoon';
}

/* ======================================================
  テーブル
====================================================== */
/* 会社概要テーブル */
.gaiyo {
 margin: 0 auto;
 margin-top: 2em;
 padding: 3em 5em;
 border-collapse: collapse;
 width: 100%;
 letter-spacing: 1.3px;
}

.gaiyo tr:nth-child(odd) {
 background: #f7f7f7;
}

.gaiyo th {
 text-align: left;
 padding: 1em 1.5em;
 width: 30%;
 font-weight: bold;
}

.gaiyo td {
 text-align: left;
 padding: 1em 1.5em;
}

.gaiyo-table {
 margin: 2em 0;
 padding: 0 20px;
 width: 100%;
 max-width: 100%;
 border-top: 1px solid #a0a0a0;
}

.gaiyo-table tr {
 border-bottom: 1px solid #a0a0a0;
}

.gaiyo-table th {
 padding: 15px 5px 15px 15px;
 padding-right: 1em;
 width: 140px;
 background: #f7f7f7;
 text-align: left;
 vertical-align: top;
}

.gaiyo-table td {
 padding: 15px 25px 15px 25px;
 vertical-align: middle;
}

.studio-wrap .gaiyo-table {
 margin-bottom: 5px !important;
}

/* 会社案内テーブル */
.company-table {
 width: 100%;
 border-collapse: collapse;
}

.company-table tr {
 background: #f1f1f1;
}

.company-table tr:nth-child(odd) {
 background: #f7f7f7;
}

.company-table th {
 width: 20%;
 padding: 1em;
 text-align: left;
}

.company-table td {
 width: 80%;
 padding: 1em;
}

/* ======================================================
  form
====================================================== */
.form-container {
 padding: 0 10px;
}

.form-content {
 margin: 2em auto;
 width: 100%;
}

.form-heading {
 margin: 2em 0 1em 0;
 padding: .8em 1em;
 border-bottom: 1px solid #27333b;
 font-size: 18px;
 font-size: 1.8rem;
 font-weight: 700;
 line-height: 20px;
}

@media screen and (min-width: 768px) {
 .form-content {
  margin: 3em auto;
  width: calc(100% - 4em);
 }
}

.contact-form {
 margin: 2em 0;
 padding: 0 20px;
 width: 100%;
 max-width: 100%;
 /* イベント予約 -> 参加人数 */
 /* セレクトボックスの矢印カスタマイズ */
 /* 郵便番号入力 */
 /* 時間入力 */
 /* 時・分 */
}

.contact-form tr {
 border-bottom: 10px solid #fff;
}

.contact-form td {
 padding: 15px 25px 15px 25px;
 vertical-align: middle !important;
}

.contact-form th {
 padding: 15px 5px 15px 15px;
 padding-right: 1em;
 width: 160px;
 background: #f7f7f7;
 text-align: left;
 vertical-align: middle !important;
}

.contact-form th span {
 display: block;
}

.contact-form td.label {
 padding: 15px 5px 15px 5px;
 width: 80px;
 background: #f7f7f7;
 text-align: center;
}

.contact-form .hosoku {
 font-size: 12px;
 line-height: 24px;
}

.contact-form input[type="text"], .contact-form input[type="email"], .contact-form input[type="tel"], .contact-form select {
 padding: 0.8em 1em;
 background: transparent;
 border: 1px solid #aaa;
 border-radius: 0;
 color: #27333b;
 font-size: 14px;
 font-size: 1.4rem;
}

.contact-form input[type="email"],
.contact-form select {
 width: 100%;
}

.contact-form input[type="radio"], .contact-form input[type="checkbox"] {
 margin-bottom: .5em;
}

.contact-form .multi div {
 margin-bottom: .5em;
 font-size: 14px;
}

.contact-form .multi div input {
 margin-left: .5em;
 margin-right: .8em;
}

.contact-form .input15 {
 width: 15%;
}

.contact-form .input20 {
 width: 20%;
}

.contact-form .input30 {
 width: 30%;
}

.contact-form .input50 {
 width: 50%;
}

.contact-form .input100 {
 width: 100%;
}

.contact-form .input-num input[type=text] {
 margin-right: 5px;
 width: 70px;
}

.contact-form .select-wrap {
 display: flex;
 align-items: center;
}

.contact-form .select {
 position: relative;
 line-height: 1em;
 margin-bottom: .5em;
}

.contact-form .select:before {
 position: absolute;
 right: 15px;
 top: 50%;
 content: '\e912';
 color: #aaa;
 font-family: 'icomoon';
 font-size: 15px;
 pointer-events: none;
 -webkit-transform: translateY(-50%);
 transform: translateY(-50%);
 z-index: 10;
}

.contact-form .select-zip {
 width: 150px;
}

.contact-form .select-time {
 margin-top: 5px;
 margin-left: 5px;
 width: 70px;
}

.contact-form .select-time-text {
 width: 30px;
 text-align: center;
}

.contact-form textarea {
 padding: 0.8em 1em;
 width: 100%;
 height: 120px;
 background: transparent;
 border: 1px solid #aaa;
 color: #27333b;
 font-size: 14px;
}

@media screen and (max-width: 768px) {
 .contact-form td {
  display: block;
  padding: 1.5em .5em;
  vertical-align: middle !important;
  width: 100%;
 }
 .contact-form th {
  display: inline-block;
  padding: 15px 5px 15px 15px;
  padding-right: 1em;
  width: 70%;
  background: #f7f7f7;
  text-align: left;
  vertical-align: top;
 }
 .contact-form th span {
  display: inline-block;
 }
 .contact-form td.label {
  display: inline-block;
  padding: 15px 5px 15px 5px;
  width: 30%;
  background: #f7f7f7;
  text-align: center;
 }
}

.form-btn-wrap {
 margin: 0 auto;
 margin: 30px 0 20px 0;
 text-align: center;
}

/* 確認・送信ボタン */
.submit-btn {
 position: relative;
 display: inline-block;
 width: 100%;
 max-width: 400px;
 background: #191919;
 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.39);
 color: #f1f1f1;
 font-size: 15px;
 font-weight: 700;
 line-height: 60px;
}

.submit-btn:after {
 content: '\e90b';
 position: absolute;
 top: 0;
 right: 1.5em;
 color: #f1f1f1;
 font-family: 'icomoon';
 font-size: 18px;
}

.submit-btn:hover {
 background: #b61919;
}

/* 戻るボタン */
input[type="button"] {
 position: relative;
 display: inline-block;
 margin-left: -20px;
 width: 400px;
 height: 70px;
 border-radius: 10px;
 border: 3px solid #191919;
 background: #f1f1f1;
 color: #27333b;
 font-size: 18px;
 font-weight: 700;
 line-height: 64px;
}

input[type="button"]:hover {
 border: 3px solid #191919;
 background: #191919;
 color: #f1f1f1;
 text-decoration: none;
 opacity: 1.0 !important;
}

input[type="button"]:after {
 position: absolute;
 top: 0;
 right: 15px;
 content: '\e900';
 color: #191919;
 font-family: 'icomoon';
}

input[type="button"]:hover:after {
 color: #f1f1f1;
}

/* 必須フィールド背景色 */
.required-input input[type=text],
.required-input input[type=email],
.required-input input[type=tel],
.required-input select {
 background: #ffeff5;
}

/* 必須ラベル */
.required {
 padding: .5em 1em;
 border-radius: 30px;
 background: #e95464;
 color: #f1f1f1;
 font-size: 12px;
 font-size: 1.2rem;
 text-align: center;
}

/* 任意ラベル */
.unrequired {
 padding: .5em 1em;
 border-radius: 30px;
 background: #ccc;
 color: #f1f1f1;
 font-size: 12px;
 font-size: 1.2rem;
 text-align: center;
}

/* ---------------------------------- レイアウト崩れ防止 */
div.wpcf7 .ajax-loader {
 display: none !important;
}

/* =============================================================================
  トップページ
============================================================================= */
/*  トップページ -->  セクション
-------------------------------------------------------*/
.f-section {
 position: relative;
 padding: 5% 0;
}

.f-section:nth-child(even) {
 background: #f9f9f9;
}

.f-section:first-child {
 padding-top: 3em;
}

.f-section:last-child {
 padding-bottom: 3em;
}

/*  トップページ -->  セクション見出し
-------------------------------------------------------*/
.front-heading {
 position: relative;
 display: inline-block;
 margin-bottom: 1em;
 padding: 0 2.5em;
 font-family: "Hind", sans-serif;
 font-size: 18px;
 font-weight: 700;
 letter-spacing: .1em;
 text-align: center;
}

.front-heading:before,
.front-heading:after {
 content: '';
 position: absolute;
 top: 50%;
 display: inline-block;
 width: 15%;
 height: 2px;
 background: #27333b;
}

.front-heading:before {
 left: 0;
}

.front-heading:after {
 right: 0;
}

/*  トップページ -->  セクション見出し（日本後）
-------------------------------------------------------*/
.front-sub-heading {
 font-weight: 700;
}

/*  トップページ -->  セクション見出しアイコン
-------------------------------------------------------*/
.image-icon {
 width: 50px;
 height: auto;
}

/*  トップページ -->  強調文字
-------------------------------------------------------*/
.f-strong {
 background: linear-gradient(transparent 60%, #dfdfdf 60%);
 font-size: 18px;
 font-weight: 700;
}

/*  トップページ -->  イントロダクション
-------------------------------------------------------*/
.introduction {
 position: relative;
 margin: 3em 0 2em 0;
 text-align: center;
 line-height: 2.6em;
}

@media screen and (min-width: 960px) {
 .introduction {
  line-height: 3.2em;
 }
}

/*  トップページ -->  サービス
-------------------------------------------------------*/
.f-service-wrap {
 margin: 0 auto;
 display: flex;
 justify-content: center;
 flex-wrap: wrap;
 margin-left: -2em;
}

.f-service {
 position: relative;
 flex-basis: calc(100% - 2em);
 margin-left: 2em;
 margin-bottom: 2em;
 padding: 1.5em 1em;
 border: 2px solid #efefef;
 background: #fff;
 text-align: center;
}

.f-service .heading {
 margin: .8em 0;
 font-family: "Hind", sans-serif;
 font-size: 16px;
 font-weight: 700;
}

.f-service .sub-heading {
 margin: .8em 0;
 font-family: "Hind", sans-serif;
 font-size: 18px;
 font-weight: 700;
}

.f-service .content {
 color: #333;
 font-size: 14px;
 line-height: 20px;
}

.f-service .number {
 font-family: "Montserrat", sans-serif;
 font-size: 20px;
 font-weight: 700;
 line-height: 20px;
 letter-spacing: .1em;
}

.f-service a {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
}

.f-section a:hover {
 opacity: 0.8;
 box-shadow: 0 4px 8px 2px rgba(0, 0, 0, 0.2);
 -webkit-transition: all 0.3s;
 transition: all 0.3s;
}

@media screen and (min-width: 768px) and (max-width: 1200px) {
 .f-service-wrap {
  flex-wrap: wrap;
  margin-left: -2em;
 }
 .f-service {
  flex-basis: calc(50% - 2em);
  margin-left: 2em;
 }
}

@media screen and (min-width: 1200px) {
 .f-service-wrap {
  flex-wrap: wrap;
  margin-left: -2em;
 }
 .f-service {
  flex-basis: calc(50% - 2em);
  margin-left: 2em;
 }
}

/* ------------------------------------------------------
 page
------------------------------------------------------ */
/*  ページ -->  法律関係文章
-------------------------------------------------------*/
.law-content {
 /* -- リスト -- */
 /* -- 数字リスト -- */
}

.law-content h2 {
 margin: 2.5em 0 1em 0;
 border-bottom: 1px solid #214167;
 font-size: 20px;
 font-weight: 700;
 line-height: 40px;
 letter-spacing: 1.1px;
}

.law-content h2 span {
 padding-right: .7em;
}

.law-content h3 {
 margin: 1.5em 0 .5em 0;
 padding: 0 1em;
 font-size: 16px;
 font-weight: 700;
 line-height: 32px;
 letter-spacing: 1.1px;
}

.law-content h3 span {
 padding-right: .7em;
}

.law-content p {
 margin-bottom: 1em;
 padding: 0 1em;
}

.law-content ul {
 margin: 1em auto;
 list-style-type: none !important;
 padding: 1em;
 border-radius: 10px;
 background: #f7f7f7;
 width: calc(100% - 2em);
}

.law-content ul li {
 position: relative;
 line-height: 1.85em;
 padding: .5em .5em .8em 2.5em;
}

.law-content ul li span {
 display: block;
 font-weight: 700;
}

.law-content ul li:before {
 position: absolute;
 display: inline-block;
 top: 21px;
 left: 0;
 width: 25px;
 height: 25px;
 font-family: 'icomoon';
 font-size: 15px;
 text-align: center;
 line-height: 25px;
 content: '\f10c';
 -moz-transform: translateY(-50%);
 -webkit-transform: translateY(-50%);
 -o-transform: translateY(-50%);
 -ms-transform: translateY(-50%);
 transform: translateY(-50%);
}

.law-content ol {
 margin: 1em auto;
 counter-reset: number;
 list-style-type: none !important;
 padding: 1em;
 border-radius: 10px;
 background: #f7f7f7;
 width: calc(100% - 2em);
}

.law-content ol li {
 position: relative;
 line-height: 1.85em;
 padding: .5em .5em .8em 2.5em;
}

.law-content ol li span {
 display: block;
 font-weight: 700;
}

.law-content ol li:before {
 position: absolute;
 display: inline-block;
 top: 21px;
 left: 0;
 width: 25px;
 height: 25px;
 background: #333;
 border-radius: 50%;
 color: #fff;
 font-family: 'Avenir','Arial Black','Arial',sans-serif;
 font-weight: 700;
 font-size: 15px;
 text-align: center;
 line-height: 25px;
 counter-increment: number;
 content: counter(number);
 -moz-transform: translateY(-50%);
 -webkit-transform: translateY(-50%);
 -o-transform: translateY(-50%);
 -ms-transform: translateY(-50%);
 transform: translateY(-50%);
}

.fit {
 width: 100%;
 height: auto;
}

[class^="swiper-button-"], .swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet::before {
 transition: all .3s ease;
}

.swiper-container {
 margin-top: 2em;
 width: 100%;
 height: 400px;
 transition: opacity .6s ease;
}

.swiper-container.swiper-container-coverflow {
 padding-top: 2%;
}

.swiper-container.loading {
 opacity: 0;
 visibility: hidden;
}

.swiper-container:hover .swiper-button-prev,
.swiper-container:hover .swiper-button-next {
 transform: translateX(0);
 opacity: 1;
 visibility: visible;
}

.swiper-slide {
 background-position: center;
 background-size: cover;
}

.swiper-slide .entity-img {
 display: none;
}

.swiper-slide .content {
 position: absolute;
 top: 40%;
 left: 0;
 width: 80%;
 padding-left: 5%;
 color: #fff;
}

.swiper-slide .content .title {
 font-size: 2.6em;
 font-weight: bold;
 margin-bottom: 30px;
}

.swiper-slide .content .caption {
 display: block;
 font-size: 13px;
 line-height: 1.4;
}

[class^="swiper-button-"] {
 width: 44px;
 opacity: 0;
 visibility: hidden;
}

.swiper-button-prev {
 transform: translateX(50px);
}

.swiper-button-next {
 transform: translateX(-50px);
}

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
 margin: 0 9px;
 position: relative;
 width: 12px;
 height: 12px;
 background-color: #fff;
 opacity: .4;
}

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet::before {
 content: '';
 position: absolute;
 top: 50%;
 left: 50%;
 width: 18px;
 height: 18px;
 transform: translate(-50%, -50%);
 border: 0px solid #fff;
 border-radius: 50%;
}

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet:hover, .swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active {
 opacity: 1;
}

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active::before {
 border-width: 1px;
}

/* ======================================================
  共通
====================================================== */
.category-select-menu-area {
 margin-bottom: .5em;
}

.category-select-menu-area:last-child {
 margin-bottom: 2em;
}

.category-select-menu {
 position: relative;
 width: 100%;
 border: #ccc solid 2px;
 border-radius: 3px;
}

.category-select-menu::after {
 position: absolute;
 top: 50%;
 right: 8px;
 margin-top: -10px;
 content: "\e912";
 color: #ccc;
 font-size: 16px;
 font-family: 'icomoon';
 z-index: -1;
}

.category-select-menu > select {
 -webkit-appearance: none;
 -moz-appearance: none;
 appearance: none;
 display: block;
 width: 100%;
 height: 45px;
 line-height: 45px;
 font-family: "GenShinGothic";
 font-size: 14px;
 padding-left: 8px;
 border: none;
 background-color: transparent;
 border-radius: 0;
 outline: none;
}

@media screen and (min-width: 768px) {
 .category-select-menu-area {
  display: none;
 }
}

/* ======================================================
ニュース
====================================================== */
/*  トップページ -->  ニュース
-------------------------------------------------------*/
.f-news-wrap {
 margin: 0 auto;
 width: 100%;
}

.f-news {
 position: relative;
 width: 100%;
 margin-bottom: 2em;
 border: 2px solid #eee;
}

.f-news a {
 display: block;
 padding: 1em;
 width: 100%;
 height: 100%;
}

.f-news a:hover {
 opacity: 0.8;
 box-shadow: 0 4px 8px 2px rgba(0, 0, 0, 0.2);
 -webkit-transition: all 0.3s;
 transition: all 0.3s;
}

@media screen and (min-width: 960px) {
 .f-news-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
 }
 .f-news {
  flex-basis: calc(50% - 1em);
 }
 .f-news a {
  padding: 2em;
 }
}

/*  ブログ・ニュース --> アーカイブページレイアウト
-------------------------------------------------------*/
.a-news-wrap {
 margin: 0 auto;
 width: 100%;
}

.a-news {
 position: relative;
 margin-bottom: 2em;
 border: 2px solid #eee;
}

.a-news a {
 display: block;
 padding: 1em;
}

.a-news a:hover {
 opacity: 0.8;
 box-shadow: 0 4px 8px 2px rgba(0, 0, 0, 0.2);
 -webkit-transition: all 0.3s;
 transition: all 0.3s;
}

@media screen and (min-width: 768px) {
 .a-news-wrap {
  padding: 0 1em;
 }
 .a-news a {
  padding: 2em;
 }
}

/*  ブログ・ニュース-->  記事
-------------------------------------------------------*/
.news-content {
 display: flex;
 margin: 0 auto;
 position: relative;
 width: 100%;
 -webkit-transition: all 0.3s;
 transition: all 0.3s;
}

.news-content .image {
 padding-left: 1em;
 flex-basis: 30%;
}

.news-content .text {
 flex-basis: 70%;
}

.news-content .text-max {
 flex-basis: 100%;
}

@media screen and (min-width: 768px) {
 .news-content .image {
  padding-left: 1.5em;
  flex-basis: 30%;
 }
 .news-content .text {
  flex-basis: 70%;
  padding-top: .5em;
 }
 .news-content .text-max {
  flex-basis: 100%;
 }
}

/*  トップ・アーカイブページ -->  アイキャッチ画像
-------------------------------------------------------*/
.news-object-fit {
 width: 100%;
 height: 100%;
 object-fit: cover;
 font-family: 'object-fit: cover;';
}

/* ======================================================
ブログ・ニュース
====================================================== */
/*  トップページ -->  ブログ
-------------------------------------------------------*/
.f-post-wrap {
 margin: 0 auto;
 width: 100%;
}

.f-post {
 position: relative;
 width: 100%;
 margin-bottom: 2em;
 border: 2px solid #eee;
}

.f-post a {
 display: block;
 width: 100%;
 height: 100%;
 padding: 1em;
}

.f-post a:hover {
 opacity: 0.8;
 box-shadow: 0 4px 8px 2px rgba(0, 0, 0, 0.2);
 -webkit-transition: all 0.3s;
 transition: all 0.3s;
}

@media screen and (min-width: 960px) {
 .f-post-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
 }
 .f-post {
  flex-basis: calc(50% - 1em);
 }
 .f-post a {
  padding: 2em;
 }
}

/*  ブログ・ニュース --> アーカイブページレイアウト
-------------------------------------------------------*/
.a-post-wrap {
 margin: 0 auto;
 width: 100%;
}

.a-post {
 position: relative;
 margin-bottom: 2em;
 border: 2px solid #eee;
}

.a-post a {
 display: block;
 padding: 1em;
}

.a-post a:hover {
 opacity: 0.8;
 box-shadow: 0 4px 8px 2px rgba(0, 0, 0, 0.2);
 -webkit-transition: all 0.3s;
 transition: all 0.3s;
}

@media screen and (min-width: 768px) {
 .a-post-wrap {
  padding: 0 1em;
 }
 .a-post a {
  padding: 2em;
 }
}

/*  関連記事
-------------------------------------------------------*/
.r-post-wrap {
 margin: 0 auto;
 width: 100%;
}

.r-post {
 position: relative;
 width: calc(100% - 1em);
 margin-bottom: 1em;
 border: 1px solid #f7f7f7;
}

.r-post a {
 display: block;
 width: 100%;
 height: 100%;
 padding: 1em;
}

.r-post a:hover {
 opacity: 0.8;
 box-shadow: 0 4px 8px 2px rgba(0, 0, 0, 0.2);
 -webkit-transition: all 0.3s;
 transition: all 0.3s;
}

@media screen and (min-width: 960px) {
 .r-post-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
 }
 .r-post {
  width: calc(50% - 1em);
 }
 .r-post a {
  padding: .5em;
 }
}

.relation-section {
 margin: 3em 0 2em 0;
}

.r-heading {
 margin-bottom: 1.5em;
 padding: 0 1em;
 border-bottom: 3px solid #27333b;
 font-size: 20px;
 font-weight: 700;
 line-height: 50px;
}

.r-post-title {
 margin: .5em 0 .3em 0;
 font-size: 14px;
 font-weight: 700;
 line-height: 18px;
}

/*  ブログ・ニュース-->  記事
-------------------------------------------------------*/
.post-content {
 display: flex;
 margin: 0 auto;
 position: relative;
 width: 100%;
 -webkit-transition: all 0.3s;
 transition: all 0.3s;
}

.post-content .image {
 flex-basis: 30%;
}

.post-content .text {
 padding-left: 1em;
 flex-basis: 70%;
}

@media screen and (min-width: 768px) {
 .post-content .image {
  flex-basis: 40%;
 }
 .post-content .text {
  padding-left: 1.5em;
  flex-basis: 60%;
  padding-top: .5em;
 }
}

/*  ブログ・ニュース-->  記事
-------------------------------------------------------*/
.relation-content {
 margin: 0 auto;
 position: relative;
 width: 100%;
 -webkit-transition: all 0.3s;
 transition: all 0.3s;
}

.relation-content .image {
 margin-bottom: 1em;
}

/*  トップ・アーカイブページ -->  アイキャッチ画像
-------------------------------------------------------*/
.post-object-fit {
 width: 100%;
 height: 100%;
 object-fit: cover;
 font-family: 'object-fit: cover;';
}

/*  トップ・アーカイブページ -->  ブログ一覧
-------------------------------------------------------*/
/* 日付 */
.dates {
 display: flex;
 justify-content: flex-end;
}

.dates span {
 margin-right: 1em;
}

.dates span:last-child {
 margin-right: 0;
}

.date {
 margin-top: .5em;
 color: #666;
 font-family: "Catamaran", sans-serif;
 font-size: 13px;
}

.post-date:before {
 margin-right: .3em;
 content: '\f017';
 font-family: "Font Awesome 5 Free";
 font-weight: 400;
}

.modified-date:before {
 margin-right: .3em;
 content: '\f2f1';
 font-family: "Font Awesome 5 Free";
 font-weight: 900;
}

/* タイトル */
.post-title {
 margin-top: .2em;
 font-size: 14px;
 font-weight: 700;
 line-height: 20px;
}

/* 新着アイコン */
.new {
 display: inline-block;
 margin: 0 .5em;
 padding: .1em .8em;
 border-radius: 20px;
 background: #e95464;
 color: #fff;
 font-family: "Hind", sans-serif;
 font-size: 12px;
}

/* カテゴリー */
.tarm {
 margin: .3em 0;
 margin-left: -.5em;
 display: flex;
 flex-wrap: wrap;
}

.tarm span {
 margin: .2em;
 padding: .3em .8em;
 border-radius: 10px;
 background: #f3f3f3;
 font-size: 11px;
 line-height: 20px;
}

/* 著者 */
.author {
 position: absolute;
 right: -10px;
 top: -20px;
 width: 80px;
 /* 著者アイコン */
}

.author .icon-area {
 border-radius: 50%;
 text-align: center;
}

.author .icon-area .author-icon {
 border: 3px solid #f3f3f3;
 border-radius: 50%;
 box-shadow: 1px 2px 2px 1px rgba(0, 0, 0, 0.2);
 width: 50px;
 height: 50px;
}

@media screen and (min-width: 768px) {
 /* 日付 */
 .date {
  font-size: 18px;
 }
 /* タイトル */
 .post-title {
  margin-top: .5em;
  font-size: 20px;
  line-height: 30px;
 }
 /* 新着アイコン */
 .new {
  margin: 0 .8em;
  padding: .2em 1em;
  font-size: 13px;
 }
 /* カテゴリー */
 .tarm {
  margin: 1em 0;
  margin-left: -.5em;
 }
 .tarm span {
  margin: .2em;
  padding: .5em 1em;
  border-radius: 20px;
  font-size: 12px;
  line-height: 20px;
 }
 .tarm span:hover {
  background: #191919;
  color: #f1f1f1;
 }
 /* 著者 */
 .author {
  /* 著者アイコン */
 }
 .author .icon-area {
  border-radius: 50%;
  text-align: center;
 }
 .author .icon-area .author-icon {
  width: 70px;
  height: 70px;
 }
}

/*  ブログ・ニュース個別ページ
-------------------------------------------------------*/
.single-post-header {
 position: relative;
 margin-bottom: .5em;
}

.single-post-title {
 margin-bottom: .5em;
 font-size: 20px;
 font-weight: 700;
 line-height: 30px;
}

.single-post-author-wrap {
 position: relative;
 margin-top: 2em;
 padding: 2em;
 border: 2px solid #f7f7f7;
}

.single-post-author-wrap:hover {
 transition: all .3s;
 background-color: #f8f8f8;
 transform: translate(3px, 3px);
}

/* 著者 */
.single-post-author {
 position: relative;
 display: flex;
 margin-top: 1em;
 align-items: center;
 /* 著者名 */
 /* 著者アイコン */
}

.single-post-author .name {
 padding-left: 1em;
 font-size: 13px;
 text-align: center;
}

.single-post-author .icon-area {
 border-radius: 50%;
 text-align: center;
}

.single-post-author .icon-area .author-icon {
 border: 3px solid #f3f3f3;
 border-radius: 50%;
 box-shadow: 1px 2px 2px 1px rgba(0, 0, 0, 0.2);
 width: 70px;
 height: 70px;
}

@media screen and (min-width: 768px) {
 .single-post-header {
  padding: 0 1em;
 }
 .single-post-title {
  font-size: 26px;
  line-height: 36px;
 }
}

/*  シェアボタン
-------------------------------------------------------*/
.share {
 margin: 2em 0;
}

.share ul {
 display: flex;
 justify-content: center;
 flex-wrap: wrap;
 margin-left: -.5em;
}

.share li {
 margin-left: .5em;
 margin-bottom: .5em;
 width: calc(50% - .5em);
}

@media screen and (min-width: 768px) {
 .share ul {
  flex-wrap: nowrap;
 }
 .share li {
  margin-bottom: 0;
  width: calc(25% - .5em);
 }
}

.share li:last-child {
 margin-right: 0;
}

.share li a {
 font-size: 14px;
 display: block;
 padding: 10px;
 text-align: center;
 text-decoration: none;
 color: #fff;
}

.share li a:hover {
 opacity: .8;
 text-decoration: none;
}

.share li a:visited {
 color: #fff;
}

.tweet a {
 background-color: #55acee;
}

.fb a {
 background-color: #315096;
}

.googleplus a {
 background-color: #dd4b39;
}

.line a {
 background-color: #00c300;
}

.profile a {
 background-color: #696969;
}

.home_icon a {
 background-color: #696969;
}

.mail a {
 background-color: #ffa500;
}

.induction {
 padding: 1.5em;
 background-color: #f8f8f8;
 border: 1px solid #ddd;
 text-align: center;
}

/* =============================================================================
  会社案内
============================================================================= */
.company {
 margin: 0 auto;
 display: flex;
 justify-content: flex-start;
 padding: 2em;
 border-bottom: 3px solid #f7f7f7;
}

.company:last-child {
 border-bottom: none;
}

.company-title {
 display: flex;
 justify-content: center;
 align-items: flex-start;
 flex-basis: calc(100px);
 align-self: stretch;
 padding: 0 2em;
}

.company-heading {
 position: relative;
 padding: 0;
 height: 100%;
 font-family: "Corporate Logo";
 font-size: 26px;
 letter-spacing: .2em;
 white-space: nowrap;
 -webkit-writing-mode: vertical-rl;
 -ms-writing-mode: tb-rl;
 writing-mode: vertical-rl;
}

.company-heading span {
 position: relative;
 margin-bottom: 1em;
 letter-spacing: 0;
 writing-mode: horizontal-tb;
}

.company-heading span:before {
 content: '';
 position: absolute;
 bottom: -15px;
 display: inline-block;
 width: 40px;
 height: 5px;
 left: 50%;
 -moz-transform: translateX(-50%);
 -webkit-transform: translateX(-50%);
 -ms-transform: translateX(-50%);
 transform: translateX(-50%);
 background-color: #214167;
 border-radius: 2px;
}

.company-content {
 display: flex;
 justify-content: center;
 align-items: flex-start;
 flex-basis: calc(100% - 100px);
 padding: 0 2em;
}

.message {
 position: relative;
}

.message .message-content {
 margin: 3em 0;
}

.message .message-content p {
 margin-bottom: 1em;
 text-align: left;
}

.message .message-content .signature {
 font-family: 'tbudgothic-std',sans-serif;
 text-align: right;
}

.history {
 list-style: none;
}

.history > li {
 margin-bottom: 60px;
 text-align: center;
}

.history-date {
 padding-top: 1em;
 padding-bottom: 1em;
 font-family: "Montserrat", sans-serif;
 font-size: 18px;
}

.history-date .icon {
 margin-bottom: 1em;
}

.history-heading {
 display: inline-block;
 margin-bottom: 1em;
 padding-bottom: .5em;
 font-weight: 700;
 border-bottom: 1px solid #27333b;
}

@media screen and (min-width: 768px) {
 .history > li {
  overflow: hidden;
  margin: 0;
  position: relative;
  display: flex;
 }
 .history-date {
  margin-top: 0;
  padding-top: .5em;
  padding-right: 2em;
  padding-bottom: 2em;
  display: flex;
  justify-content: flex-end;
  width: 25%;
 }
 .history-date .icon {
  margin: 0;
  padding-right: 1em;
 }
 .history-content {
  padding-left: 3em;
  padding-bottom: 2.5em;
  width: 75%;
  border-left: 3px solid #9fb0b9;
  text-align: left;
 }
 .history-content:before {
  content: '';
  width: 12px;
  height: 12px;
  background: #f9f9f9;
  border: 5px solid #9fb0b9;
  position: absolute;
  left: 25%;
  top: 12px;
  margin-left: -10px;
  border-radius: 100%;
 }
 .history-heading {
  display: block;
  margin-bottom: .3em;
  padding-bottom: 0;
  border-bottom: none;
 }
}

/* =============================================================================
  音楽レッスン
============================================================================= */
/*  音楽レッスン -->  セクション
-------------------------------------------------------*/
.l-section {
 position: relative;
 padding: 10% 0;
}

.l-section:nth-child(odd) {
 background: #eee;
}

/*  音楽レッスン -->  強調文字
-------------------------------------------------------*/
.l-strong {
 background: linear-gradient(transparent 60%, #dfdfdf 60%);
 font-size: 18px;
 font-weight: 700;
}

/* 音楽レッスン -->  見出し
-------------------------------------------------------*/
.l-heading-area {
 display: flex;
 width: 100%;
}

.l-heading {
 font-family: "Hind", sans-serif;
 font-size: 26px;
 font-weight: 700;
 line-height: 38px;
}

.l-heading span {
 color: #b61919;
 font-size: 40px;
}

.l-heading-border {
 border-top: 4px solid #111;
 flex-grow: 2;
}

/* 右寄せ */
.l-heading-right {
 flex-basis: auto;
 padding-left: 1em;
}

/*左寄せ */
.l-heading-left {
 flex-basis: auto;
 padding-right: 1em;
}

/* 日本語見出し */
.l-sub-heading {
 margin-bottom: 1.5em;
 color: #b61919;
 font-family: "Corporate Logo";
 font-size: 18px;
 font-weight: 700;
}

.l-sub-heading span {
 font-size: 22px;
}

@media screen and (min-width: 768px) {
 .l-heading {
  font-size: 36px;
  line-height: 42px;
 }
 .l-heading span {
  font-size: 46px;
 }
 /* 日本語見出し */
 .l-sub-heading {
  margin-top: .5em;
  margin-bottom: 1.5em;
  font-size: 24px;
 }
 .l-sub-heading span {
  font-size: 30px;
 }
}

/* 音楽レッスン -->  おすすめのポイント
-------------------------------------------------------*/
.point-image-area {
 margin: 2.5em 0;
 text-align: center;
}

.point-image {
 width: 100%;
 max-width: 100%;
}

@media screen and (min-width: 768px) {
 .point-content {
  text-align: center;
 }
 .point-image-area {
  margin: 8em 0;
 }
 .point-image {
  width: auto;
  max-width: 650px;
 }
}

/*  音楽レッスン -->  講師一覧
-------------------------------------------------------*/
.instractor-wrap {
 margin-top: 3em;
}

.instractor {
 position: relative;
 width: 100%;
 margin-bottom: 5em;
 padding-bottom: 80px;
 /* ボタン高さ分 */
}

.instractor img {
 border-radius: 10px;
}

.instractor-btn {
 position: absolute;
 bottom: 0;
 left: 0;
 width: 100%;
}

.instractor-data {
 position: relative;
 margin-top: .8em;
}

@media screen and (min-width: 768px) and (max-width: 960px) {
 .instractor-wrap {
  display: flex;
  flex-wrap: wrap;
  margin-top: 3em;
  margin-left: -2em;
  padding: 0;
 }
 .instractor {
  flex-basis: calc(50% - 2em);
  margin-bottom: 5em;
  margin-left: 2em;
 }
}

@media screen and (min-width: 960px) {
 .instractor-wrap {
  display: flex;
  flex-wrap: wrap;
  margin-top: 3em;
  margin-left: -3em;
  padding: 0;
 }
 .instractor {
  flex-basis: calc(33.33333% - 3em);
  margin-bottom: 5em;
  margin-left: 3em;
 }
}

/* パート */
.instractor-part {
 position: absolute;
 display: inline-block;
 top: 0;
 right: 0;
 padding: 0 .8em;
 background: #b61919;
 color: #f1f1f1;
 font-family: "Hind", sans-serif;
 font-size: 15px;
 font-weight: 700;
 line-height: 30px;
}

.instractor-title {
 margin-bottom: .5em;
 font-size: 20px;
 font-weight: 700;
 line-height: 26px;
}

.instractor-title span {
 /* 歴 */
 margin-left: .8em;
 font-size: 11px;
}

/*  音楽レッスン -->  フロー
-------------------------------------------------------*/
.l-flow {
 display: flex;
 justify-content: center;
 flex-wrap: wrap;
 align-items: center;
}

.l-flow .step {
 flex-basis: 100%;
 align-self: stretch;
 padding: 2em;
 background: #f9f9f9;
 text-align: left;
}

.l-flow .step .flow-heading {
 margin-bottom: .5em;
 border-bottom: 1px solid #27333b;
 font-size: 18px;
 font-weight: 700;
 line-height: 36px;
}

.l-flow .step .flow-heading span {
 padding-right: .5em;
 font-size: 20px;
 font-family: "Montserrat", sans-serif;
}

.l-flow .arrow {
 margin-top: .5em;
 height: 0;
 border-width: 20px;
 border-style: solid;
 /* 上右下左の順番で指定  */
 border-color: #9fb0b9 transparent transparent transparent;
}

@media screen and (min-width: 960px) {
 .l-flow {
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
 }
 .l-flow .step {
  margin-bottom: 2em;
  flex-basis: calc(33.33333% - 4em);
 }
 .l-flow .arrow {
  flex-basis: 3em;
  margin-left: 1em;
  border-color: transparent transparent transparent #9fb0b9;
 }
}

/*  音楽レッスン -->  よくある質問
-------------------------------------------------------*/
.qa {
 margin: 3em auto;
 width: 100%;
 text-align: left;
}

.qa dt {
 position: relative;
 padding: 1em 3.5em 1em 3em;
 width: 100%;
 border-bottom: 1px dotted #9fb0b9;
}

.qa dd {
 position: relative;
 padding: 1em 1em 3em 3em;
}

.qa dd a {
 font-weight: 700;
 text-decoration: underline;
}

.qa dd:last-child {
 padding-bottom: 0;
}

.qa dt:before {
 content: 'Q';
 position: absolute;
 top: .5em;
 left: 0;
 color: #27333b;
 font-size: 1.6em;
 font-weight: bold;
 font-family: "Montserrat", sans-serif;
}

.qa dd:before {
 content: 'A';
 position: absolute;
 top: .5em;
 left: 0;
 color: #9fb0b9;
 font-size: 1.6em;
 font-weight: bold;
 font-family: "Montserrat", sans-serif;
}

.qa dt:after {
 position: absolute;
 top: 50%;
 right: 0;
 margin-top: -10px;
 content: '\e90b';
 font-family: 'icomoon';
 font-size: 20px;
}

.qa dt.active:after {
 position: absolute;
 top: 50%;
 right: 0;
 margin-top: -10px;
 content: '\e909';
 font-family: 'icomoon';
 font-size: 20px;
}

/* =============================================================================
  ウェブ＆デザイン
============================================================================= */
/*  ウェブデザイン -->  セクション
-------------------------------------------------------*/
.w-section {
 padding: 5em 0 5em 0;
 background: #27333b;
}

@media screen and (min-width: 768px) {
 .w-section {
  padding: 5em 0 5em 0;
  background: #27333b;
 }
}

/*  ウェブデザイン -->  フレーム
-------------------------------------------------------*/
.w-content {
 position: relative;
 padding: 2em 1em;
 background: #f9f9f9;
 border-radius: 20px;
}

.w-content-reserve {
 position: relative;
 padding: 2em 1em;
 background: #e7e7eb;
 border-radius: 20px;
}

.dot-top-left {
 position: absolute;
 top: 1em;
 left: 1em;
 border-radius: 50%;
 width: 1em;
 height: 1em;
 background: #27333b;
}

.dot-top-right {
 position: absolute;
 top: 1em;
 right: 1em;
 border-radius: 50%;
 width: 1em;
 height: 1em;
 background: #27333b;
}

.dot-bottom-left {
 position: absolute;
 bottom: 1em;
 left: 1em;
 border-radius: 50%;
 width: 1em;
 height: 1em;
 background: #27333b;
}

.dot-bottom-right {
 position: absolute;
 bottom: 1em;
 right: 1em;
 border-radius: 50%;
 width: 1em;
 height: 1em;
 background: #27333b;
}

@media screen and (min-width: 768px) {
 .w-content {
  padding: 2em;
 }
 .w-content-reserve {
  padding: 2em;
 }
}

/*  ウェブデザイン -->  キャラクター
-------------------------------------------------------*/
.character1 {
 position: absolute;
 top: -150px;
 left: 50%;
 margin-left: -75px;
 text-align: center;
}

.character1 img {
 width: 150px;
 height: auto;
}

.character2 {
 position: absolute;
 top: -150px;
 left: 50%;
 margin-left: -75px;
 text-align: center;
}

.character2 img {
 width: 150px;
 height: auto;
}

@media screen and (min-width: 768px) {
 .character2 {
  position: absolute;
  text-align: center;
 }
 .character2 img {
  width: 150px;
  height: auto;
 }
}

.character3 {
 position: absolute;
 top: -150px;
 left: 50%;
 margin-left: -75px;
 text-align: center;
}

.character3 img {
 width: 150px;
 height: auto;
}

.character4 {
 position: absolute;
 top: -150px;
 right: 50%;
 margin-right: -150px;
 text-align: center;
}

.character4 img {
 width: 150px;
 height: auto;
}

/*  ウェブデザイン -->  セクションタイトル
-------------------------------------------------------*/
/* セクションタイトルエリア */
.w-heading-area {
 position: relative;
 margin: 0 auto;
 margin: 3em 0 2em 0;
 text-align: center;
}

/* セクションタイトル(横書き) */
.w-heading {
 display: inline-block;
 margin-top: .2em;
 font-family: "Yanone Kaffeesatz", sans-serif;
 font-size: 36px;
 font-weight: 700;
 letter-spacing: .1em;
 text-align: center;
}

/*  ウェブデザイン -->  できること。
-------------------------------------------------------*/
.tab {
 display: flex;
 justify-content: center;
 overflow: hidden;
}

.tab li {
 background: #ccc;
 margin-right: 1px;
 font-family: "Hind", sans-serif;
 font-size: 24px;
 line-height: 50px;
 width: 50%;
 text-align: center;
}

.tab li.active {
 background: #f9f9f9;
}

.tabcontent li {
 padding: 1em;
 background: #f9f9f9;
}

.hide {
 display: none;
}

@media screen and (min-width: 768px) {
 .tabcontent li {
  padding: 3em;
  background: #f9f9f9;
 }
}

.w-service-wrap {
 position: relative;
}

.w-service {
 position: relative;
 margin-bottom: 2em;
 padding: 2em;
 border-radius: 20px;
 text-align: center;
}

.w-service p {
 margin-top: 1em;
}

.web-bg {
 background: #e8ecef;
}

.design-bg {
 background: #e9dfe5;
}

.w-service-heading-area {
 display: inline-block;
 margin: 1em 0;
 padding: 7px 10px;
 min-width: 220px;
 max-width: 100%;
 background: #f3f3f2;
 border-radius: 20px;
}

.w-service-heading {
 font-size: 16px;
 font-weight: 700;
 text-align: center;
}

/* アイコン部分 */
.w-icon {
 margin-bottom: .5em;
}

.w-icon img {
 width: 60px;
 height: auto;
}

@media screen and (min-width: 768px) {
 .w-service-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin-left: -2em;
 }
 .w-service {
  flex-basis: calc(50% - 2em);
  align-self: stretch;
  margin-left: 2em;
  margin-bottom: 1em;
  padding: 1em;
 }
 .w-service-heading {
  font-size: 18px;
 }
}

@media screen and (min-width: 960px) {
 .w-service-wrap {
  margin-left: -2em;
 }
 .w-service {
  flex-basis: calc(33.33333% - 2em);
  margin-left: 2em;
 }
}

.web-section2 {
 background: #f3f3f3;
}

.lesson-header-inner {
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translateY(-50%) translateX(-50%);
 -webkit-transform: translateY(-50%) translateX(-50%);
}

.web-frame {
 margin: 2em auto;
 padding: 1em 1.5em;
 background: #a4c1d7;
 /* 背景色 */
 border: 4px solid #a4c1d7;
 /*線の太さ・色*/
 border-radius: 2em .8em 2em .7em/.9em 5em .8em 3em;
}

.create-num {
 position: absolute;
 left: 0;
 top: -2px;
 padding: 10px 10px 10px 10px;
 line-height: 0.8;
 font-size: 14px;
 border-radius: 20px;
 text-align: center;
 color: #ffffff;
 background-color: #33170d;
}

/*  ウェブデザイン -->  強み。
-------------------------------------------------------*/
.strength-heading {
 position: relative;
 display: inline-block;
 margin-bottom: 2em;
 padding-bottom: .5em;
 font-family: "Corporate Logo";
 font-size: 20px;
}

.strength-heading:before {
 content: '';
 position: absolute;
 bottom: -15px;
 display: inline-block;
 width: 60px;
 height: 5px;
 left: 50%;
 -moz-transform: translateX(-50%);
 -webkit-transform: translateX(-50%);
 -ms-transform: translateX(-50%);
 transform: translateX(-50%);
 background-color: black;
 border-radius: 2px;
}

.w-strength-wrap {
 margin: 0 auto;
 width: 100%;
}

.strength {
 margin-bottom: 2em;
 padding: 2em;
 width: 100%;
 background: #f3f3f3;
 text-align: center;
}

.strength p {
 margin-bottom: 2em;
}

@media screen and (min-width: 960px) {
 .w-strength-wrap {
  display: flex;
  flex-wrap: wrap;
  margin-left: -2em;
 }
 .w-strength-wrap p {
  margin-bottom: 1.5em;
 }
 .strength {
  margin-left: 2em;
  margin-bottom: 1em;
  flex-basis: calc(33.33333% - 2em);
 }
}

/*  ウェブデザイン -->  僕たちがつくります。
-------------------------------------------------------*/
.desiner-wrap {
 margin: 0 auto;
}

.desiner {
 margin-bottom: 2em;
 width: 100%;
}

.desiner .text {
 padding: 1.5em 1em;
}

.desiner .text .title {
 margin-bottom: .5em;
 font-size: 20px;
 font-weight: 700;
 line-height: 26px;
}

.desiner .text .title span {
 /* 歴 */
 margin-left: .8em;
 font-size: 11px;
}

.desiner .text .part {
 margin-bottom: .5em;
 color: #27333b;
 font-weight: 700;
}

@media screen and (min-width: 768px) {
 .desiner-wrap {
  padding: 0 5%;
  display: flex;
  margin-left: -3em;
 }
 .desiner {
  flex-basis: calc(50% - 3em);
  margin-bottom: 0;
  margin-left: 3em;
 }
}

/*  ウェブデザイン -->  フロー
-------------------------------------------------------*/
.w-flow {
 margin: 2em 0;
 display: flex;
 justify-content: center;
 flex-wrap: wrap;
 align-items: center;
}

.w-flow .step {
 flex-basis: 100%;
 align-self: stretch;
 padding: 2em;
 background: #f9f9f9;
 text-align: left;
}

.w-flow .step .flow-heading {
 margin-bottom: .5em;
 border-bottom: 1px solid #27333b;
 font-size: 18px;
 font-weight: 700;
 line-height: 36px;
}

.w-flow .step .flow-heading span {
 padding-right: .5em;
 font-size: 20px;
 font-family: "Montserrat", sans-serif;
}

.w-flow .arrow {
 margin-top: .5em;
 height: 0;
 border-width: 20px;
 border-style: solid;
 /* 上右下左の順番で指定  */
 border-color: #9fb0b9 transparent transparent transparent;
}

@media screen and (min-width: 960px) {
 .w-flow {
  margin: 3em auto;
  display: flex;
  justify-content: flex-start;
  align-items: center;
 }
 .w-flow .step {
  margin-bottom: 2em;
  flex-basis: calc(33.33333% - 4em);
 }
 .w-flow .arrow {
  flex-basis: 3em;
  margin-left: 1em;
  border-color: transparent transparent transparent #9fb0b9;
 }
}

/* ======================================================
  メンバー
====================================================== */
/*  メンバー -->  メインプロフィール
-------------------------------------------------------*/
.members-wrap {
 position: relative;
}

.members {
 margin: 3em 0;
 /* 写真エリア */
 /* メンバーメタデータエリア */
}

.members .image {
 box-shadow: 3px 5px 5px rgba(0, 0, 0, 0.39);
 z-index: 1;
}

.members .text {
 position: relative;
 text-align: left;
 z-index: 1;
}

@media screen and (min-width: 768px) {
 .members {
  margin: 3em 0;
  display: flex;
  align-items: flex-start;
  margin-left: -2em;
  /* 写真エリア */
  /* メンバーメタデータエリア */
 }
 .members .image {
  margin-left: 2em;
  flex-basis: calc(55% - 2em);
  box-shadow: 3px 5px 5px rgba(0, 0, 0, 0.39);
  z-index: 1;
 }
 .members .text {
  position: relative;
  margin-left: 2em;
  padding-left: 1.5em;
  flex-basis: calc(45% - 2em);
  align-self: flex-start;
  text-align: left;
  z-index: 1;
 }
}

/* ボーダー */
.members-border {
 display: none;
}

@media screen and (min-width: 768px) {
 .members-border {
  position: absolute;
  top: 5.2em;
  left: -6.5em;
  width: 20%;
  border-top: 1px solid #191919;
  border-radius: 3px;
  z-index: 1;
 }
}

/* メンバーの名前(英語) */
.members-enname {
 margin-top: 1em;
 margin-bottom: .2em;
 color: #ccc;
 font-family: "Montserrat", sans-serif;
 font-size: 38px;
 font-weight: 700;
 text-align: right;
 line-height: 38px;
}

/* メンバーの名前 */
.members-title {
 margin: .3em 0 .3em 0;
 font-size: 32px;
 font-weight: 700;
 letter-spacing: .1em;
 border-bottom: 1px solid "Hind", sans-serif;
}

.members-title span {
 /* 歴 */
 margin-left: .8em;
 font-size: 13px;
}

/* パート */
.members-part {
 font-size: 16px;
 font-weight: 700;
}

/* キャッチフレーズ */
.members-catchphrase {
 margin-bottom: .5em;
 color: #b61919;
 font-family: "a-otf-midashi-mi-ma31-pr6n", serif;
 font-size: 22px;
}

/* SNS */
.members-link {
 margin-top: 1.5em;
 margin-bottom: .5em;
}

.members-link-list {
 display: flex;
 margin-left: -.8em;
}

.members-link-list li {
 margin-left: .8em;
 font-size: 14px;
}

.icon-home:after {
 content: "\f0c1";
 color: #555;
 font-family: 'icomoon';
}

.icon-twitter:after {
 content: "\f099";
 color: #555;
 font-family: 'icomoon';
}

.icon-facebook:after {
 content: "\f09a";
 color: #555;
 font-family: 'icomoon';
}

.icon-instagram:after {
 content: "\f16d";
 color: #555;
 font-family: 'icomoon';
}

.members-specialty {
 margin-top: 1em;
}

.members-tag {
 margin: 1em 0;
 margin-left: -.5em;
 display: flex;
 flex-wrap: wrap;
}

.members-tag span {
 margin: .2em;
 padding: .5em .8em;
 border-radius: 20px;
 background: #eee;
 font-size: 13px;
 line-height: 30px;
}

@media screen and (min-width: 768px) {
 /* メンバーの名前(英語) */
 .members-enname {
  margin-top: 0;
  margin-bottom: .2em;
  font-size: 56px;
  line-height: 56px;
 }
}

/*  メンバー -->  プロフィール(自己紹介)
-------------------------------------------------------*/
/* プロフィール */
.members-profile,
.members-messeage {
 margin-top: 2em;
 /* プロフィールサブ画像 */
 /* プロフィールテキスト */
}

.members-profile.image,
.members-messeage.image {
 box-shadow: 3px 5px 5px rgba(0, 0, 0, 0.39);
 z-index: 1;
}

.members-profile .text,
.members-messeage .text {
 position: relative;
 margin-top: 1em;
 text-align: left;
 z-index: 1;
}

@media screen and (min-width: 768px) {
 /* プロフィール */
 .members-profile {
  display: flex;
  align-items: center;
  margin-left: -2em;
  /* プロフィールサブ画像 */
  /* プロフィールテキスト */
 }
 .members-profile .image {
  margin-left: 2em;
  flex-basis: calc(30% - 2em);
  order: 2;
 }
 .members-profile .text {
  margin-left: 2em;
  padding: 0 1.5em;
  flex-basis: calc(70% - 2em);
  order: 1;
 }
 /* プロフィール */
 .members-messeage {
  display: flex;
  align-items: center;
  margin-left: -2em;
  /* プロフィールサブ画像 */
  /* プロフィールテキスト */
 }
 .members-messeage .image {
  margin-left: 2em;
  flex-basis: calc(30% - 2em);
  order: 1;
 }
 .members-messeage .text {
  margin-left: 2em;
  padding: 0 1.5em;
  flex-basis: calc(70% - 2em);
  order: 2;
 }
}

.members-introduction {
 position: relative;
 z-index: 2;
}

.members-profile-detail-wrap {
 margin-top: 2em;
 margin-left: -2em;
}

.members-profile-detail {
 flex-basis: calc(100% - 2em);
 margin-left: 2em;
 padding: 1em;
 color: #555;
 font-size: 13px;
 font-weight: 500;
}

.l-course {
 margin: 0 auto;
 margin-top: 2em;
 max-width: 980px;
}

.l-course .course {
 margin-bottom: 1em;
}

@media screen and (min-width: 768px) {
 .l-course {
  margin-top: 3em;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
 }
 .l-course .course {
  padding: 0 .5em;
  margin-bottom: 2em;
  flex-basis: 50%;
 }
}

/* QandA */
.members-detail-wrap {
 width: 100%;
 margin: 10px auto;
 padding: 20px;
}

.accordion-toggle {
 position: relative;
 display: block;
 background: #fff;
 padding: 20px 0 10px 5px;
}

.members-detail dt.active:after {
 position: absolute;
 top: 1em;
 right: 1em;
 content: '\e90b';
 font-family: 'icomoon';
 font-size: 20px;
}

.members-detail dt:first-child {
 border-top: none !important;
}

.members-detail dt .title {
 padding-left: 10px;
 float: left;
}

.members-detail {
 display: none;
 background: #fff;
 padding: 1em 4em 1em 2.5em;
}

.accordion_icon,
.accordion_icon span {
 display: inline-block;
 transition: all .4s;
 box-sizing: border-box;
}

.accordion_icon {
 position: relative;
 width: 30px;
 height: 30px;
 float: right;
 margin-right: 5px;
}

.accordion_icon span {
 position: absolute;
 left: 6px;
 width: 50%;
 height: 2px;
 background-color: #F88789;
 border-radius: 4px;
 -webkit-border-radius: 4px;
 -ms-border-radius: 4px;
 -moz-border-radius: 4px;
 -o-border-radius: 4px;
}

.accordion_icon span:nth-of-type(1) {
 top: 5px;
 transform: rotate(0deg);
 -webkit-transform: rotate(0deg);
 -moz-transform: rotate(0deg);
 -ms-transform: rotate(0deg);
 -o-transform: rotate(0deg);
}

.accordion_icon span:nth-of-type(2) {
 top: 5px;
 transform: rotate(90deg);
 -webkit-transform: rotate(90deg);
 -moz-transform: rotate(90deg);
 -ms-transform: rotate(90deg);
 -o-transform: rotate(90deg);
}

/*＋、－切り替え*/
.accordion_icon.active span:nth-of-type(1) {
 display: none;
}

.accordion_icon.active span:nth-of-type(2) {
 top: 5px;
 transform: rotate(180deg);
 -webkit-transform: rotate(180deg);
 -moz-transform: rotate(180deg);
 -ms-transform: rotate(180deg);
 -o-transform: rotate(180deg);
}

.members-section-title {
 padding-top: -8em;
 color: #fff;
 font-family: "Montserrat", sans-serif;
 font-size: 56px;
 font-weight: 700;
 line-height: 60px;
}

.members-section-title-reserve {
 padding-top: -8em;
 color: #eee;
 font-family: "Montserrat", sans-serif;
 font-size: 56px;
 font-weight: 700;
 line-height: 60px;
}

/*  メンバー -->  料金
-------------------------------------------------------*/
.members-bg {
 background: #efefef;
}

.members-course {
 display: flex;
 justify-content: center;
 margin: 3em 0 5em -2em;
}

.members-course-item {
 margin-left: 2em;
 border-radius: 10px;
}

.members-course-item .course-content {
 padding: 1.5em 1em;
}

.members-course-item .course-content .course-price {
 margin-top: .5em;
 margin-bottom: .7em;
 color: #b61919;
 font-family: "Hind", sans-serif;
 font-size: 36px;
 font-weight: 700;
}

.members-course-item:nth-child(1),
.members-course-item:nth-child(3) {
 flex-basis: calc(320px - 2em);
 align-self: center;
 border: 3px solid rgba(33, 65, 103, 0.8);
}

.members-course-item:nth-child(1) .course-heading,
.members-course-item:nth-child(3) .course-heading {
 border-radius: 3px 3px 0 0;
 background: rgba(33, 65, 103, 0.8);
 /*#214167*/
 color: #f1f1f1;
 font-family: "Corporate Logo";
 font-size: 26px;
 line-height: 50px;
}

.members-course-item:nth-child(1) .course-heading span,
.members-course-item:nth-child(3) .course-heading span {
 padding-left: .5em;
 font-size: 16px;
}

.members-course-item:nth-child(2) {
 flex-basis: calc(360px - 2em);
 align-self: center;
 height: 380px;
 border: 3px solid #214167;
 box-shadow: 3px 5px 5px rgba(0, 0, 0, 0.39);
}

.members-course-item:nth-child(2) .course-heading {
 border-radius: 3px 3px 0 0;
 background: #214167;
 color: #f1f1f1;
 font-family: "Corporate Logo";
 font-size: 38px;
 line-height: 60px;
}

.members-course-item:nth-child(2) .course-heading span {
 padding-left: .5em;
 font-size: 16px;
}

.members-course-item:nth-child(2) .course-content .course-price {
 font-size: 50px;
}

.l-price {
 margin: 2em 0;
 display: flex;
 justify-content: center;
 align-items: stretch;
 border: 2px solid #f7f7f7;
}

.l-price .name {
 flex-basis: 30%;
 align-self: stretch;
 background: #27333b;
 color: #f7f7f7;
}

.l-price .name .course-heading {
 font-size: 30px;
 font-weight: 700;
}

.l-price .name .course-heading span {
 display: block;
}

.l-price .text {
 display: flex;
 flex-basis: 70%;
 padding: 1em;
}

.l-price .text .price {
 padding: 1em;
 font-family: "Montserrat", sans-serif;
 font-size: 30px;
 font-weight: 700;
}

/*  メンバー -->  関連記事
-------------------------------------------------------*/
/* 見出し */
.relation-heading {
 margin-bottom: 2em;
 position: relative;
 padding-left: 1em;
 border-bottom: 3px solid #191919;
 font-family: "Corporate Logo";
 font-weight: 700;
 font-size: 22px;
 line-height: 38px;
 text-align: left;
}

/* Youtube・ブログ・ニュース一覧 */
.relation-wrap {
 margin: 0 auto;
}

.relation {
 width: 100%;
 margin-bottom: 2em;
 border: 2px solid #eee;
}

.relation a {
 padding: 1em;
}

@media screen and (min-width: 768px) and (max-width: 960px) {
 /* Youtube・ブログ・ニュース一覧 */
 .relation-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-left: -2em;
  padding: 0 2em;
 }
 .relation {
  flex-basis: calc(50% - 2em);
  margin-left: 2em;
 }
}

@media screen and (min-width: 960px) {
 /* Youtube・ブログ・ニュース一覧 */
 .relation-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-left: -2em;
  padding: 0 2em;
 }
 .relation {
  flex-basis: calc(25% - 2em);
  margin-left: 2em;
 }
}

/*  メンバー -->  Youtube レスポンシブ
-------------------------------------------------------*/
.movie {
 position: relative;
 width: 100%;
 padding-top: 56.25%;
}

.movie iframe {
 position: absolute;
 top: 0;
 right: 0;
 width: 100%;
 height: 100%;
}

/* =============================================================================
  専用スタジオのご案内
============================================================================= */
.studio-wrap {
 margin: 0 auto;
 margin-top: 30px;
 margin-bottom: 25px;
 width: 100%;
}

.studio-wrap .text {
 margin-bottom: 15px;
}

@media screen and (min-width: 768px) {
 .studio-wrap {
  margin-top: 50px;
  display: flex;
 }
 .studio-wrap .image {
  width: 40%;
 }
 .studio-wrap .text {
  width: 60%;
  margin-bottom: 0;
 }
 .studio-wrap:nth-child(even) .image {
  order: 1;
 }
 .studio-wrap:nth-child(even) .text {
  padding-left: 25px;
  order: 2;
 }
 .studio-wrap:nth-child(odd) .text {
  padding-right: 25px;
 }
}

.studio-title {
 margin-bottom: 10px;
 color: #27333b;
 font-size: 16px;
 font-weight: 700;
 border-bottom: 1px solid #27333b;
 line-height: 2em;
}

@media screen and (min-width: 768px) {
 .studio-title {
  margin-bottom: 15px;
  font-size: 18px;
 }
}

.studio-map {
 margin: 0 auto;
 margin-top: 40px;
 padding: 10px;
 width: 100%;
 border: 1px solid #eee;
}

.studio-map .image {
 margin-bottom: 10px;
}

@media screen and (min-width: 768px) {
 .studio-map {
  display: flex;
  margin-top: 50px;
  padding: 20px;
 }
 .studio-map .image {
  margin-bottom: 0;
  width: 45%;
 }
 .studio-map .text {
  padding-left: 20px;
  width: 55%;
 }
}

.l-studio-banner-section {
 padding: 25px 0;
}

@media screen and (min-width: 768px) {
 .l-studio-banner-section {
  padding: 35px 0;
 }
}

.studio-content {
 margin: 0 auto;
 width: 100%;
 max-width: 800px;
}

/* =============================================================================
  大学サークル向けセミナーのご案内
============================================================================= */
.seminar-flex {
 display: flex;
 flex-wrap: wrap;
 margin-left: -5px;
}

.seminar-flex li {
 margin-left: 5px;
 margin-bottom: 5px;
 width: calc(50% - 5px);
}

@media screen and (min-width: 768px) {
 .seminar-flex {
  margin-left: -15px;
 }
 .seminar-flex li {
  margin-left: 15px;
  margin-bottom: 15px;
  width: calc(50% - 15px);
 }
}

.seminar-box {
 padding: 15px;
 background-color: #f8f8f8;
}

.seminar-box1 {
 padding: 20px 15px;
 background-color: #eee;
 border: 2px solid #9fb0b9;
}

.text-under {
 font-weight: 700;
 text-decoration: underline;
}

.seminar-price {
 margin: 0 auto;
 width: 100%;
}

.seminar-price li {
 margin-bottom: 15px;
 padding: 10px;
 background-color: #f8f8f8;
 border: 1px solid #555;
}

@media screen and (min-width: 768px) {
 .seminar-price {
  display: flex;
  margin-left: -15px;
 }
 .seminar-price li {
  margin-left: 15px;
  margin-bottom: 0;
  padding: 0 15px;
  width: calc(50% - 15px);
 }
}

.seminar-price li .text {
 padding: 15px 15px 20px 15px;
 text-align: center;
}

.seminar-price-heading {
 margin-bottom: 5px;
 font-size: 16px;
 font-weight: 700;
 font-style: italic;
 text-align: center;
 border-bottom: 1px solid #555;
 line-height: 50px;
}

.seminar-num {
 font-size: 24px;
 font-weight: 700;
}

.seminar-sub {
 font-size: 12px;
}

/* ------------------------------------------------------
  class
------------------------------------------------------ */
.paragraph p {
 margin-bottom: 1.5em;
 line-height: 1.8em;
}

.paragraph p:last-child {
 margin-bottom: 0;
}

.paragraph p:last-child {
 margin-bottom: 0;
}

.mt15 {
 margin-top: 1.5em;
}

.mt20 {
 margin-top: 2em;
}

.mt30 {
 margin-top: 3em;
}

.mt40 {
 margin-top: 4em;
}

.mt50 {
 margin-top: 5em;
}

.mt80 {
 margin-top: 8em;
}

.mb05 {
 margin-bottom: .5em;
}

.mb10 {
 margin-bottom: 1em;
}

.mb20 {
 margin-bottom: 2em;
}

.mb30 {
 margin-bottom: 3em;
}

.mb40 {
 margin-bottom: 4em;
}

.mb50 {
 margin-bottom: 5em;
}

.mb80 {
 margin-bottom: 8em;
}

.bold {
 font-weight: 700;
}

.left {
 text-align: left;
}

.right {
 text-align: right;
}

.center {
 text-align: center;
}

.none {
 display: none;
}

.sp-br {
 display: block;
}

@media screen and (min-width: 480px) {
 .sp-br {
  display: inline;
 }
}

/* ------------------------------------------------------
  image
------------------------------------------------------ */
.size-auto,
.size-full,
.size-large,
.size-medium,
.size-thumbnail {
 max-width: 100%;
 height: auto;
}

/* ホバー画像縮小表示 */
.scale {
 width: 100%;
 overflow: hidden;
}

.scale img {
 width: 100%;
 -moz-transition: -moz-transform 0.3s linear;
 -webkit-transition: -webkit-transform 0.3s linear;
 -o-transition: -o-transform 0.3s linear;
 -ms-transition: -ms-transform 0.3s linear;
 transition: transform 0.3s linear;
 -webkit-transform: scale(1);
 -moz-transform: scale(1);
 -o-transform: scale(1);
 -ms-transform: scale(1);
 transform: scale(1);
}

.scale img:hover {
 -webkit-transform: scale(1.05);
 -moz-transform: scale(1.05);
 -o-transform: scale(1.05);
 -ms-transform: scale(1.05);
 transform: scale(1.05);
}

.scale:before {
 content: "";
 position: absolute;
 width: 100%;
 height: auto;
 background: radial-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.8));
 /* 円形グラデーション */
 transition-duration: 0.3s;
 opacity: 0;
 /* 見えないように透過しておく */
}

.scale:hover:before {
 opacity: 1;
}

.img-banner {
 width: 700px;
 max-width: 100%;
 height: auto;
}
