@charset "utf-8";
/*
LPの変更はこのCSSで作業します        
/*
/* レスポンシブのブレイクポイントは下記を使う
※記載を追加するときには、該当CSSの要素の下に追加記載をしていく
複数ある場合にはまとめて書くようにする*/

/* col-lg- 1200px以上はそのまま */

/* col-md- 1199px以下
@media screen
and (max-width: 1199px) {
}
*/

/* col-sm- 991px 以下
@media screen
and (max-width: 991px) {
}
*/

/* col-xs- 767px 以下
@media screen
and (max-width: 767px) {
}
*/

/* Webフォント読み込み 明朝 */

@import url('https://fonts.googleapis.com/css?family=EB+Garamond');
@font-face {
  font-family: 'MyYuGothicM';
  font-weight: normal;
  src: local('YuGothic-Medium'), /* PostScript Name = localの正式な指定方法 */
  local('Yu Gothic Medium'), /* PostScript Nameを認識できないChrome用にFull Nameを指定 */
  local('YuGothic-Regular');
  /* 游ゴシックMediumが存在しないWindows8.1用 */
}

@font-face {
  font-family: 'MyYuGothicM';
  font-weight: bold;
  src: local('YuGothic-Bold'), /* PostScript Name = localの正式な指定方法 */
  local('Yu Gothic');
  /* PostScript Nameを認識できないChrome用にFull Nameを指定 */
}

.mincho {
  font-family: Times New Roman, "Hiragino Mincho ProN",游明朝,"Yu Mincho",YuMincho,HGS明朝E,メイリオ,Meiryo,serif;
}

/* 基本設定事項 */
* { box-sizing: border-box; }

html {
  min-width: 100%;
  overflow-x: hidden;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
  font-size: 10px;
}
body {
  background-color: #fff;
  font-family: "Helvetica Neue", Arial, "Hiragino Sans", "游ゴシック体", YuGothic, "YuGothic M", Meiryo, メイリオ, sans-serif;
  width: 100%;
  
  font-weight: 400;
  font-feature-settings: "palt";
  color: #212121;
  overflow-x: hidden;
  animation: fadeIn 2s ease 0s 1 normal;
  -webkit-animation: fadeIn 2s ease 0s 1 normal;
  line-height: 1.42857143;
  margin: 0;
}

.show-pc {
  display: block;
}

.show-sp {
  display: none;
}

.underline {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, rgba(239, 161, 50, 0.5)));
  background: -webkit-linear-gradient(transparent 60%, rgba(239, 161, 50, 0.5) 60%);
  background: -o-linear-gradient(transparent 60%, rgba(239, 161, 50, 0.5) 60%);
  background: linear-gradient(transparent 60%, rgba(239, 161, 50, 0.5) 60%);
  font-weight: 600;
}

p {
  font-size: 16px;
  font-style: normal;
  font-stretch: normal;
  line-height: 1.7;
  letter-spacing: normal;
}
.lead {
  margin: 0 40px;
  padding: 1.3em 0 0;
  font-weight: 500;
}

.lead p {
  font-family: Times New Roman, "Hiragino Mincho ProN",游明朝,"Yu Mincho",YuMincho,HGS明朝E,メイリオ,Meiryo,serif;
  font-size: 1.7rem;
}

.lead p span {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(80%, transparent), color-stop(80%, rgba(239, 161, 50, 0.5)));
  background: -webkit-linear-gradient(transparent 80%, rgba(239, 161, 50, 0.5) 80%);
  background: -o-linear-gradient(transparent 80%, rgba(239, 161, 50, 0.5) 80%);
  background: linear-gradient(transparent 80%, rgba(239, 161, 50, 0.5) 80%);
  font-weight: 600;
}


@keyframes fadeIn {
  0% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}
#entry {
  position: relative;
}
a {
  -webkit-transition: .5s !important;
  -o-transition: .5s !important;
  transition: .5s !important;
  text-decoration: none;
}
a:active,a:visited,a:hover,a:focus {
  text-decoration: none !important;
}
.fa.pull-left {
  margin-right: 5px;
}
.fixed {
  position: fixed;
  bottom: 100px;
}
img {
  max-width: 100%;
}
section {
  padding: 50px 0rem;
}
ul,
dl,
ol {
  margin: 0 0 0rem 0;
  padding: 0;
}

.container {
    margin: 0 auto;
    padding: 0;
    position: relative;
    width: 980px;
}
.row {
    margin-left: -15px;
    margin-right: -15px;
}
section.header-content {
  padding: 0 !important;
  max-height: 50px;
  /*background-color: rgba(0, 0, 0, 0.8);*/
  position: absolute;
  width: 100%;
  z-index: 1;
}

/* アイコンフォントのマージンあける */

i.fa {
  padding-right: 1rem;
}
/* 便利な独自CSS */

/* 親要素が指定しているフォントの60% */
.smaller50 {
  font-size: 50% !important;
}

/* 共通色 */

.main-color,
.main-color a {
  color: #bc000e !important;
}

.gray-color {
  color: #6c6c6c !important;
}

.main-color:hover a {
  opacity: 0.7 !important;
}

.bold {
  font-weight: 700 !important;
}

.underline {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(80%, transparent), color-stop(80%, rgba(239, 161, 50, 0.5)));
  background: -webkit-linear-gradient(transparent 80%, rgba(239, 161, 50, 0.5) 80%);
  background: -o-linear-gradient(transparent 80%, rgba(239, 161, 50, 0.5) 80%);
  background: linear-gradient(transparent 80%, rgba(239, 161, 50, 0.5) 80%);
  font-weight: 600;
}

.text-right {
  text-align: right;
}

.text-center {
  text-align: center;
}

.text-left {
  text-align: left;
}

.bigger {
  font-size: 170% !important;
}

.smalltext {
  font-size: 70% !important;
}

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

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

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

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

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

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

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

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

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

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

/* もともとついてしまうスタイルの調整 */

/* h1の余分なマージンを削除 */

h1 {
  margin: 0;
}

/* h2 メインタイトルの装飾 */

h2 {
  font-size: 3.5rem;
  line-height: 1.25;
  margin-top: -80px;
  padding-top: 130px;
  padding-bottom: 3rem;
  font-weight: 400;
  text-align: center;
}
h2 span.num {
  font-family: futura, Century Gothic;
  font-size: 32px;
  font-weight: bold;
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: url(../images/common/bg_num.png) no-repeat 0 0;
  background-size: contain;
  margin-right: 0.5em;
  padding: 0;
  line-height: 1;
}
h2.h2_white {
  color: #ffffff;
}
h2.h2_black {
  color: #212121;
}
h3 {
  font-size: 5rem;
  line-height: 1.25;
  margin-top: -80px;
  padding-top: 130px;
  margin-bottom: 3rem;
  font-weight: 400;
  text-align: center;
}
h4 {
  font-size: 20px;
  padding: 0.2em 0 0.2em 1em;
  position: relative;
  display: flex;
  align-items: center;
}

h4:before {
  content: "";
  position: absolute;
  background: #f5b199;
  top: 0;
  left: 0;
  width: 8px;
  height: 100%;
}

h4:after {
  content: "";
  position: absolute;
  background: #ccc;
  top: 50%;
  left: 0;
  width: 8px;
  height: 50%;
}
.pc_only {
  display: block !important;
}
.sp_only {
  display: none !important;
}
ol li,
ul li {
  list-style: none;
}

/* flexboxを使いたい場合のクラス名 */

.flex {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}

.f-align {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.f-align-stretch {
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.f-align-s {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.f-direction {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.f-jus-c {
  /* Safari etc. */
  -ms-justify-content: center;
  /* IE10        */
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.flex-row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
}

.flex-nowrap {
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
}

/* logo周り */

.header-content .logo img {
  max-height: 113px;
  width: auto;
}

.header-content .logo a {
  color: #fff;
  font-size: 3rem;
}
.header-content .logo small {
    font-size: 60%;
}
.header-content_top {
  position: absolute;
  top: 0;
  margin: 30px auto 0;
  display: block;
  text-align: center;
  width: 100%;
  font-size: 3.6rem;
  font-family: serif;
  font-weight: bold;
}
.header-content_top p {
  font-size: 3.6rem;
  width: 15em;
  background: url(../images/header_content_top_bg.png) no-repeat 50% 100%;
  background-size: contain;
  margin: 0 auto;
  padding: 1em 0 0.7em;
  display: block;
  line-height: 1.3;
  position: relative;
}
.header-content_top p:before {
  content: "";
  font-size: 3.6rem;
  width: 100%;
  height: 1rem;
  background: url(../images/header_content_top_bg.png) no-repeat 50% 100%;
  background-size: contain;
  height: 3rem;
  position: absolute;
  top: 0;
  left: 0;
}
.header-content_top img {
  width: 500px;
  height: auto;
  margin: 0 auto 50px;
}

/*                      
ヒーローイメージ
*/

.top_content {
  padding: 0 !important;
  position: relative;
}
.top_content p.present {
  position: absolute;
  left: 6%;
  top: 0px;
  width: 180px;
  z-index: 1;
}
.top_content p.present img {
  width: 100%;
  height: auto;
}
.top_content h1 {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 0 30px;
  position: relative;
  color: #000;
  font-weight: 700;
  text-align: center;
  line-height: 1.3;
  display: flex;
  flex-wrap: wrap;
}
.top_content h1 em {
  display: block;
  text-align: center;
  font-size: 3.2rem;
  font-style: normal;
  margin: 20px 0 0;
  padding: 0.3em 0.5em;
  position: relative;
  border-top: solid 2px #fff;
  background: rgba(0, 0, 0, 0.8);
  color: #fff;
  width: 100%;
}
.top_content h1 span {
  width: 60%;
}
.top_content h1 span:nth-child(2) {
  width: 40%;
}
.top_content h1 span img {
  width: 100%;
  height: auto;
}
.top_content h1 span i {
  font-size: 140%;
  padding-top: 0.2em;
}
.top_content h1 span small {
  font-size: 80%;
}
.top_content h1 small {
  font-size: 70%;
  display: block;
  font-weight: 600;
  text-align: right;
}
.top_content h1 .h1_header {
  color: #bc000e;
}
.hero_image {
  background-color: #000;
  position: relative;
  padding-top: 30px;
  min-height: 480px;
  background-image: url("../images/bg_01_02.jpg");
  background-repeat: no-repeat;
  background-color:rgba(255,255,255,0.6);
  background-blend-mode: darken;
  background-size: cover;
  background-position: center;
}
.hero_nav {
  background: rgba(0,0,0,0.9);
  width: 100%;
  min-height: 50px;
  z-index: 2;
}
.hero_nav::after,
.content03::after {
  height: 30px;
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  bottom: -30px;
}
.hero_nav::after {
  height: 30px;
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  bottom: -30px;
}
.hero_nav_list {
  width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 50px;
}
.hero_nav_list li {
  padding: 0.5em 1em;
  font-size: 1.6rem;
}
.hero_nav_list li a {
  display: flex;
  align-items: center;
  font-weight: 500;
  color: #fff;
}
.hero_nav_list li a:before {
  content: "\25BE";
  color: #B4B4B4;
  margin-right: 0.2em;
  font-size: 0.8em;
  width: 1em;
}
.hero_slide {
  opacity: 0.9;
  padding: 0;
  position: relative;
  background: url(../images/slide_03.jpg) no-repeat 50% 50% rgba(0,0,0,0.6);
  background-size: cover;
  min-height: 300px;
  background-blend-mode: darken;
}

.hero_slide::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 101%;
  background: linear-gradient(180deg, #000 0%, transparent 20%, transparent 90%, #000 100%);
}

.hero_slide ul {
  display: flex;
  flex-wrap: wrap;
  position: relative;
}

.hero_slide ul li {
  /*width: calc(100% / 2);*/
  width: 100%;
  background: #000;
}

.hero_slide ul li img {
  max-width: 100%;
  height: auto;
  image-rendering: -webkit-optimize-contrast;
  opacity: 0.4;
}

.hero_slide .container {
  position: relative;
  min-height: 300px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/*
.hero_slide .container::before,
.hero_slide .container::after {
  position: absolute;
  content: "";
  z-index: 1;
  border: 4px solid #fff;
  background-blend-mode: darken;
}

.hero_slide .container::before {
  top: 5%;
  left: 3%;
  background: url(../images/slide_left.jpg) no-repeat 0 0 rgba(0,0,0,0.5);
  width: 20%;
  height: calc(25% / 0.7);
  background-size: cover;

}

.hero_slide .container::after {
  position: absolute;
  content: "";
  bottom: 24%;
  right: 3%;
  background: url(../images/slide_right.jpg) no-repeat 0 0 rgba(0,0,0,0.5);
  width: 20%;
  height: calc(25% / 0.7);
  background-size: cover;
}
*/

.hero_slide p {
  width: 100%;
  text-align: center;
  padding: 0.4em;
  margin: 0;
  color: #fff;
  font-weight: 600;
  font-size: 3.4rem;
  z-index: 2;
  text-shadow: 3px 3px 0 #000;
}



/* fixedbtn-content */

.fixedbtn-content {
  background-color: rgba(255, 255, 255, 0.95);
  position: fixed;
  bottom: 0px;
  width: 100%;
  padding: 1rem 0;
  text-align: center;
  z-index: 101;
  -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
}

.fixedbtn-content > .container-fluid {
  padding: 0;
}

/* CVボタン 通常時 */

.cvbtn {
  margin: 0;
}

.hs-button,
.cvbtn {
  font-weight: normal !important;
  background-color: #000 !important;
  background-image: none !important;
  color: #FFF !important;
  position: relative !important;
  font-size: 20px !important;
  width: 420px;
  line-height: 2.5 !important;
  margin: 0 auto !important;
  border: none !important;
  text-shadow: none !important;
  border-radius: 0 !important;
}

.cvbtn a {
  color: #FFF;
  display: block;
  text-decoration: none;
}

.cvbtn:before {
  position: absolute;
  top: 0%;
  right: 5%;
  content: "\2B07";
}

.hs-button:before {
  position: absolute;
  top: 0%;
  right: 5%;
  content: "\f107";
  font-weight: 900;
  font-family: "Font Awesome 5 Free";
}

/* CVボタン マウスオーバー */

.hs-button:hover,
.cvbtn:hover {
  opacity: 0.8;
  color: #FFF;
  position: relative;
  font-size: 20px;
  width: 420px;
  line-height: 2.5;
  margin: 0 auto;
  border: none;
}

.content {
  
}

.content h2 {
  color: #000;
  font-weight: 700;
  position: relative;
  font-size: 4rem;
  margin-bottom: 2em;
}
.content h2:before {
  content: "\25E4";
  margin-right: 0.5em;
}
.content h2:after {
  content: "\25E2";
  margin-left: 0.5em;
}

.content h2 span {
  display: block;
  font-size: 2rem;
  font-family: Futura, Century Gothic ,sans-serif;
  font-weight: 700;
  font-style: normal;
  color: #B2B2B2;
}

.content02 h2,
.content04 h2 {
  color: #fff;

}



/* コンテンツ01*/

.content01 {
  display: block;
  position: relative;
  /*z-index: 1;*/
}

.content01 h3 {
  border-top: solid 2px #ccc;
  border-bottom: solid 2px #ccc;
  font-size: 6rem;
  font-weight: 700;
  margin: 0 40px;
  padding: 0.5em 0;
}

.content01 h3 img {
  text-align: center;
  margin: 0 auto;
}

.topic, .voices {
  margin: 0 0 5rem;
  padding: 20px;
  border: 2px solid #eee;
  background: #fafafa;
}

.topic h3,.voices h3 {
  background: #021e37;
  color: #fff;
  font-size: 2.2rem;
  text-align: center;
  padding: 0.4em;
  margin: 0;
}

.topic > ol.count-ex01 {
  margin: 0;
  padding: 1.3em 0 0;
  font-weight: 500;
}

.topic > ol.count-ex01 > li {
  font-size: 2rem;
  margin-bottom: 20px;
  counter-increment: count-ex01; 
  position: relative;
  padding-left: 5em;
  line-height: 1.8;
}

.topic > ol.count-ex01 > li:before {
 content:  "Topic 0" counter(count-ex01);
 position: absolute;
 top: 0;
 left: 0;
 font-family: serif;
}

.voices > ul {
  display: flex;
  flex-wrap: wrap;
  margin: 20px 0 0;
}

.voices > ul > li {
  width: 48%;
  margin: 1%;
  padding: 2rem;
  background: #fff;
  box-shadow: 3px 3px 0 rgba(0,0,0,0.1);
  font-size: 2.2rem;
  font-family: "BIZ UDPMincho", serif;
  font-weight: 400;
  font-style: normal;
  text-align: center;
  position: relative;
}

.voices > ul > li:before {
  content: "┏";
  font-size: 3rem;
  font-weight: bold;
  font-family: sans-serif;
  color: #ddd;
  position: absolute;
  left: 0;
  top: -0.3em;
}

.voices > ul > li:after {
  content: "┛";
  font-size: 3rem;
  font-weight: bold;
  font-family: sans-serif;
  color: #ddd;
  position: absolute;
  bottom: -0.3em;
  right: 0;
}

.voices > ul > li > em {
  color: #bf4e18;
  font-style: normal;
  font-size: 110%;
  font-weight: 700;
}


/* コンテンツ02*/

.content02,
.content04 {
  background: #4D4D4D;
  color: #FFF;
  position: relative;
}

.content02 {
  background-image: url("../images/bg_04.jpg");
  background-repeat: no-repeat;
  background-color:rgba(20,39,70,0.7);
  background-blend-mode: darken;
  background-size: cover;
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
}
.introWrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 980px;
  margin: 80px auto 0;
  padding: 0;
  position: relative;
}
.introArea,.tokuten {
  position: relative;
  box-sizing: border-box;
  background-color: rgba(255, 255, 255, 1);
  padding: 0;
  color: #212121;
  margin: 0 auto;
  width: 980px;
}
.intro_part {
  position: relative;
  background: rgb(244,219,91);
  background: linear-gradient(135deg, rgba(244,219,91,1) 0%, rgba(244,219,91,1) 50%, rgba(212,188,66,1) 50%, rgba(212,188,66,1) 100%);
  font-size: 2.4rem;
  font-weight: 600;
  color: #000;
  margin: 0 0 25px;
  padding: 0.4em 1em;
  width: 100%;
  text-align: center;
  z-index: 2;
}

.introArea h3 {
  margin: 0;
  padding: 0.5em;
  font-size: 2.8rem;
  font-weight: 600;
  color: #000;
  border-bottom: 2px solid #ddd;
}

.introArea h4 {
  margin: 0;
  padding: 0 35% 10px 5%;
  font-size: 2.4rem;
  font-weight: 600;
  text-align: center;
  display: block;
  line-height: 1.5;
}

.introArea--top {
  padding: 20px;
}
.introArea--part1 {
  background: #F7F7F7;
}
.introArea--part1 h4 {
  padding: 10px 35% 10px 5%;
}
.introArea h4 small {
  font-size: 70%;
  font-weight: 600;
  display: block;
  padding: 0 0 0.3em;
}
.introArea--last h4 {
  padding: 15px 5% 0;
}
.introArea h4:before,
.introArea h4:after {
	content: none;
}
.introArea h4 span {
	display: block;
  padding: 0.5em;
	font-size: 80%;
	font-weight: 400;
}
.introArea h4 span em {
  font-weight: 500;
  font-style: normal;
}
.introArea p.speech-content {
  padding: 0 35% 0 15px;
}
.introArea p.schedule {
  background: #021e37;
  color: #fff;
  margin: 0;
  margin: 5px 5px 1rem;
  padding: 0.6rem 0.3em 0.6rem 0.6em;
  font-size: 2.4rem;
  font-weight: 600;
  text-align: center;
}
.introArea ul {
  margin:0.5em 0 0 15px;
}
.introArea ul li {
  font-size: 1.8rem;
  font-weight: 600;
  padding: 0.2em 0 0.2em 1em;
  position: relative;
}
.introArea ul li:before {
  content: "・";
  position: absolute;
  left: 0;
}
.introArea--last p.speech-content {
  width: 88%;
  margin: 0 auto;
  padding: 20px 0 30px;
}
.introArea--last ul {
  width: 88%;
  margin: 0 auto;
}
.introArea_profile {
  background: #F7F7F7;
  padding: 15px;
  padding-right: 34%;
}
.introArea_profile p {
  margin: 0;
  padding: 0;
  font-size: 1.4rem;
}

.introArea_profile p.intro_name {
  font-size: 2.5rem; 
  font-weight: 700;
  text-align: right;
  padding: 0 0 0.3em;
}
.introArea_profile p.intro_name small {
  font-size: 60%;
}
.introArea_profile p.intro_name span {
  font-size: 1.5rem;
  font-weight: 500;
  padding-left: 1em;
  color: #666;
  font-family: futura, Century Gothic, sans-serif;
  display: block;
  line-height: 1.3;
}
.introArea_right {
  width: 33%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  background: url(../images/intro_bg_tomita.jpg) no-repeat 100% 0;
  background-size: cover;
}
.introArea_right--part1 {
  background: url(../images/intro_bg_tomita.jpg) no-repeat 100% 0;
  background-size: cover;
  width: 32%;
}
.introArea_right--part2 {
  background: url(../images/intro_bg_yoshida.png) no-repeat 100% 0;
  background-size: cover;
}
.introArea_right--part3 {
  background: url(../images/intro_bg_baba.png) no-repeat 100% 0;
  background-size: cover;
}
.name_sub {
  text-transform: uppercase;
  font-size: 1.4rem;
  margin-left: 2rem;
  font-family: Futura, Century Gothic, sans-serif;
  color: #ccc;
  letter-spacing: 0.1em;
  font-weight: normal;
}
.introArea .introImag {
  position: absolute;
  bottom: -1px;
  right: -20px;
  padding: 0;
  text-align: right;
}
.introArea .introImag img {
  width: 300px;
  height: auto;
}
.introArea--part2 {
  width: 48.5%;
  background: #f7f7f7;
  display: block;
  margin: 0;
  padding: 0;
}
.introArea--part2 h4 {
  padding: 0 0 0.5em;
  font-size: 2rem;
  line-height: 1.3;
  background: #fff;
}
.introArea--part2 .introArea_profile {
  padding: 1.4rem;
  width: auto;

}
.introArea .introImag {}
.introArea .introImag img {}

.introArea--part2 .introArea_profile p.intro_name {
  font-size:2rem;
  padding: 0.5em 0;
  text-align: center;
}
.introArea--part2 .introArea_profile p.intro_name span {
  font-size:1.4rem;
  padding: 0;
}
.introArea--part2 .introArea_profile p {
  margin: 0;
  padding: 0;
  font-size: 1.4rem;
  text-align: left;
}

.intro li .introText {
  position: relative;
  left: 33.33333%;
  padding: 20px;
}
.introArea .introText dt {
  font-size: 3.3rem;
  margin-bottom: 10px;
  font-weight: bold;
}
.introArea .introText dd {
  font-size: 1.4rem;
  margin: 0 230px 0 0;
  text-align: justify;
}
.introArea .introText dd.literary {
  font-size: 1.3rem;
  display: flex;
  flex-wrap: wrap;
  position: relative;
  color: #212121;
  padding: 10px 0 0;
}
.introArea .introText dd.literary h4 {
  width: 100%;
  margin: 0;
  padding: 0;
}
.introArea .introText dd.literary p {
  font-size: 0.8rem;
  width: 20%;
  text-align: center;
  box-sizing: border-box;
  padding: 0 3%;
  line-height: 1.2;
}
.introArea .introText dd.literary p img {
  height: 130px;
  width: auto;
  margin: 0 auto 10px;
  display: block;
  border: 1px solid #ddd;
}
.introArea .introText dd.literary p span {
  font-size: 80%;
  display: block;
  padding: 0.3em 0 0;
}
.introArea .introText dt br {
  display: none;
}
.introArea--reverse .introImag {
  position: absolute;
  bottom: -1px;
  left: -20px;
  padding: 0;
  text-align: left;
}
.introArea--reverse .introText {
  margin: 0 30px 0 0;
}
.introArea--reverse .introText dt {
  margin: 0 0 10px 210px;
}
.introArea--reverse .introText dd {
  margin: 0 0 0 210px;
}
.introBooks {
  position: relative;
  box-sizing: border-box;
  background-color: rgba(255, 255, 255, 1);
  padding: 0;
  color: #212121;
  margin: 0 auto;
  width: 980px;
}
.introBooks h3 {
  margin: 0;
  padding: 1em 0;
  font-size: 2.4rem;
}
.introBooks ul {
  display: flex;
  margin: 0 40px;
}
.introBooks ul li {
  margin: 0;
}
.introBooks ul li p {
  font-size: 1.3rem;
  line-height: 1.3;
  text-align: center;
}
.introBooks ul li img {
  margin: 0 auto;
  width: 80%;
  display: block;
  border: 1px solid #ccc;
}
.tokuten {
  margin-top: 30px;
  padding: 15px;
}
.tokuten h3 {
  font-size: 2.6rem;
  text-align: center;
  font-weight: 600;
  margin: 0;
  padding: 1rem 0;
}
.tokuten .tokuten_outer {
  display: flex;
  margin: 0 60px;
}
.tokuten .tokuten_item {
  /*width: calc(100% / 3 );*/
  text-align: center;
  margin: 40px 20px 0;
}
.tokuten .tokuten_item h3 {
  margin: 0;
  padding: 20px 0;
  font-size: 1.4rem;
}
.tokuten .tokuten_item img {
  width: 100%;
  height: auto;
  margin: 0 auto;
  display: block;
  border: 2px solid #ccc;
  box-shadow: 6px 6px 0 rgba(0,0,0,0.2);
  /*transform: rotate(4deg);*/
}
.tokuten .tokuten_item img.slides {
  border: none;
  box-shadow: none;
}
.tokuten ul {
  margin: 20px 50px 0;
  padding: 20px;
  background: #fafafa;
}
.tokuten ul li {
  font-size: 1.6rem;
  padding: 0 0 0.5em 1em;
  position: relative;
}
.tokuten ul li:last-child {
  padding-bottom: 0;
}
.tokuten ul li::before {
  content: "・";
  position: absolute;
  left: 0;
}

/* 背景白コンテンツの場合（デフォルトが白でない場合は使う） */

.white-content {
  background-color: #FFF !important;
}

/* content03 */

.content03 {
  display: block;
  position: relative;
  background: #eee;
}
/* コンテンツ04*/

.content04 {
  display: block;
  position: relative;
  background-image: url("../images/bg_02.jpg");
  background-repeat: no-repeat;
  background-color:rgba(167,56,54,0.8);
  background-blend-mode: multiply;
  background-size: cover;
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
}

.cont04_inner h3 {
  color: #fff;
  display: flex;
  align-items: center;
  background: #176F9D;
  padding: 5px;
  position: relative;
  padding-left: 16em;
}
.cont04_inner h3 span {
  background: #054364;
  position: absolute;
  left: 0;
  top: 0;
  padding: 5px 1.5em 5px 0.7em;
  height: 100%;
  overflow: hidden;
}

.cont04_inner h3 span em {
  font-style: normal;
}

.cont04_inner h3 span span {
  position: relative;
  left: unset;
  top: unset;
  padding: 0;
  color: #FDC454;
}
.content05 {
  position: relative;
  background: #fcfcfc;
}
.content05 h3 {
  background: #176F9D;
  color: #fff;
  width: 100%;
  margin: 40px 0 0;
  padding: 0.3em 0;
  text-align: center;
}
.content06 {
  background: #fff;
  /*z-index: -4;*/
   position: relative;
}
.content06:after {
  height: 30px;
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  bottom: -30px;
  background: linear-gradient(135deg, #fff 10px, transparent 0), linear-gradient(225deg, #fff 10px, transparent 0);
  background-size: 30px 30px;
  /*z-index: 5;*/
}
.content07 { 
  position: relative;
}
.detail_Area {
  max-width: 980px;
  margin: 90px auto 0;
  background: #fff;
}
.detail_Area h3 {
  background: #021e37;
  color: #fff;
  margin: 0;
  padding: 0.5em 0.8em;
  font-size: 2rem;
  font-weight: 600;
  text-align: left;
}
.detail_Area_inner {
	padding: 15px 15px 10px;
	color: #000;
}
.detail_Area_inner table {
  margin: 0 0 15px;
}
.detail_Area_inner table th {
  width: 6em;
  font-weight: 500;
}
.detail_Area_inner table th,
.detail_Area_inner table td {
  padding: 0.5em 0 0;
  vertical-align: top;
}
.detail_Area_inner p {
	font-size: 2rem;
	margin: 0;
	padding: 0 0 0.5em;
	font-weight:500;
}
.detail_Area_inner p.sponsorLogo {
  text-align: center;
}
.detail_Area_inner ul {
	padding: 0 0 15px;
}
.detail_Area_inner ul li {
	font-size: 1.2rem;
	font-weight: 400;
	position: relative;
	margin-left: 1em;
}
.detail_Area_inner ul li:before {
	content: "・";
	position: absolute;
	left: -1em;
}
.detail_Area_inner ul li p.btn {
  padding-left: 0;
  text-align: center;
  display: block;
}
.detail_Area_inner ul li p.btn:before {
    content: "";
}
.detail_Area_inner ul li p.btn a {
  background: #021043;
  color: #fff;
  display: block;
  text-align: center;
  width: 17em;
  margin: 10px auto;
  padding: 0.6em;
  font-size: 110%;
}
.detail_Area_inner ul li p.btn a:hover {
  background: #0D6491;
}
.detail_Area_inner ul.subject li:before {
	content: "※";
}

.inner_venue {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0 0 20px;
}
.inner_venue_item {
  /*width: 49%; 2col*/
  width: auto;
  position: relative;
  margin: 10px 0 0;
  padding: 0;
}
.detail_Area_inner h4.inner_venue_item_title {
  text-align: center;
  box-sizing: border-box;
  font-size: 1.5rem;
  font-weight: 500;
  margin: 0 0 0.8em;
  padding: 0.5em;
  background: #114877;
  color: #fff;
  width: 100%;
}
.detail_Area_inner h4.inner_venue_item_title:before,
.detail_Area_inner h4.inner_venue_item_title:after  {
  content: none;
  display: none;
}
.inner_venue_item h5 {
  font-size: 1.8rem;
  margin: 0;
  padding: 0 10px;
  font-weight: 500;
}
.inner_venue_item h5 small {
  display: inline-block;
  margin-left: 0.8em;
  font-weight: 400;
}
.detail_Area_inner p {
  padding: 0 10px;
}
.detail_Area_inner p.inner_venue_item_date {
  font-size: 2.4rem;
  line-height: 1.3;
  font-weight: 700;
  margin-bottom: 0.1em!important;
  color: #114877;
  position: relative;
}
.detail_Area_inner p.ended {
  color: rgba(17, 72, 119, 0.5);
  display:inline-block;
  position: relative;
}
.detail_Area_inner p.ended:after {
  content: "（終了しました。）";
  font-size: 1.4rem;
  color: #bc000e;
  margin-left: 0.5em;
}
.detail_Area_inner p.inner_venue_item_date span {
  font-size: 1.5rem;
}
.detail_Area_inner p.inner_venue_item_address {
  font-size: 1.4rem;
  font-weight: 400;
}
.detail_Area_inner p.inner_venue_item_access {
  margin: 10px 0;
}
.inner_venue_item_access a {
  background: #eee;
  display: block;
  margin: 0 20%;
  padding: 0.5em;
  text-align: center;
  font-size: 1.3rem;
  text-decoration: none;
  color: #666;
  border-radius: 6px;
  box-shadow: 0 3px 0 #ddd;
}
.detail_Area .venue {
  position: relative;
  padding: 0;
  display: flex;
  justify-content: space-between;
}
.detail_Area .venue p {
  font-size: 1.4rem;
  font-weight: 300;
}
.detail_Area .venue .gmap {
	padding: 0 0 15px;
}
.detail_Area .venue .gmapleft {
  width: calc(100% - 340px);
}
.detail_Area .venue .gmapleft h4 {
  background: #6C8490;
  color: #fff;
  font-weight: 300;
  font-size: 1.4rem;
  margin: 0;
  padding-left: 0.4em;
}
.detail_Area .venue .gmapleft h4:before,
.detail_Area .venue .gmapleft h4:after {
	content: none;
}
.detail_Area .venue .cname {
  font-weight: bold;
  font-size: 18px;
}
.detail_Area .venue .address {
  font-size: 14px;
  margin: 0;
  padding: 0 0 1em;
}
.detail_Area .venue .access {
  font-size: 12px;
  margin: 0;
  padding: 0.5em 0 10px 0.2em;
}
.detail_Area .venue .cname small {
  font-weight: normal;
  font-size: 70%;
}
.detail_Area dl {
  margin: 0;
}
.detail_Area dl dt {
  background-color: #969696;
  color: #FFF;
  font-size: 2.2rem;
  padding: 1.3rem 3rem;
  font-weight: 700;
}
.detail_Area dl dd {
  font-size: 1.8rem;
  padding: 1.3rem 3rem;
  color: #000;
  /*border: solid 1px #969696;*/
  margin-left: 0;
  background-color: #fff;
}
.detail_Area dl dd.caution {
}
.detail_Area dl dd.venue {
  position: relative;
  padding: 20px 3rem;
  display: flex;
  justify-content: space-between;
}
.detail_Area dl dd.venue .gmapleft {
  width: calc(100% - 340px);
}
.detail_Area dl dd.venue:before {
  position: absolute;
  content: "";
  width: 94%;
  height: 2px;
  background: #969696;
  left: 3%;
  top: -2px;
}
.detail_Area dl dd:after {
  clear: both;
  content: "";
  display: block;
}
.detail_Area dl dd p {
  font-size: 16px;
  margin: 0;
}
.detail_Area dl dd.inquiry p {
  font-size: 18px;
  position: relative;
  padding-left: 0;
  padding-bottom: 0.4em;
}
.detail_Area dl dd.inquiry p.number {
  margin: 0;
  padding: 0 0 0 1em;
  display: block;
}
.detail_Area dl dd.inquiry p.number small {
    font-size: 12px;
}
.detail_Area dl dd.caution p {
  font-size: 12px;
  position: relative;
  padding-left: 1em;
  padding-bottom: 0.4em;
}
.detail_Area dl dd.caution p a span {
  font-size: 70%;
}
.detail_Area dl dd.caution p:before {
  content:"・";
  position: absolute;
  left: 0;
}
.detail_Area dl dd.caution p.btn {
  padding-left: 0;
  text-align: center;
  display: block;
}
.detail_Area dl dd.caution p.btn:before {
  content: "";
}
.detail_Area dl dd.caution p.btn a {
  background: #021043;
  color: #fff;
  display: block;
  text-align: center;
  width: 15em;
  margin: 10px auto;
  padding: 0.6em;
  font-size: 170%;
}
.detail_Area dl dd.caution p.btn a:hover {
  background: #0D6491;
}
.detail_Area dl dd p span {
  font-size: 14px;
  display: block;
}
.detail_Area dl dd .gmap {
  margin: 0 0 0 20px;
  padding: 20px 0 0 0;
  background: #fff;
}
.detail_Area dl dd h4 {
  background: #bababa;
  color: #fff;
  margin: 10px 0;
  padding: 0.3em;
  font-size: 14px;
}
.detail_Area dl dd .cname {
  font-weight: bold;
  font-size: 18px;
}
.detail_Area dl dd .address {
  font-size: 14px;
  margin: 0;
  padding: 0 0 1em;
}
.detail_Area dl dd .access {
  font-size: 12px;
  margin: 0;
  padding: 0 0 0 18px;
}
.detail_Area dl dd .cname small {
  font-weight: normal;
  font-size: 70%;
}
.detail_Area dl dd .button  {
  text-align: center;
  margin: 0.5em 0 1em;
  display: block;
}
.detail_Area dl dd .button a {
  background: #f2f2f2;
  border: solid 1px #ddd;
  color: #0D6491;
  font-size: 12px;
  margin: 10px auto;
  padding: 0.4em 0.6em;
  text-align: center;
}
.detail_Area dl dd .button a:before {
  content: "\e952";
  font-family: zo-icons;
  margin-right: 0.2em;
}

.detail_Area dl dd .button a:hover {
  background: #adadad;
  border: solid 1px #adadad;
  color: #fff;
}
/* content_zuu */

.content_zuu {
  background-color: #969696;
  color: #FFF;
  padding: 1rem 0;
}
.content_zuu h3 {
  font-size: 2.5rem;
}
.content_zuu p {
  font-size: 1.4rem;
}

/* 前面に出したいコンテンツがあるときに使う */

.form-content {
  position: relative;
}
.footer-content {
  position: relative;
  z-index: 80;
  padding: 1rem;
}
.guide {
  width: 980px;
  margin: 0 auto;
  position: relative;
  display: block;
  border-top: 1px solid #ddd;
}
.guide li {
  padding: 0.5em 0;
  font-feature-settings: normal;
  font-size: 1.3rem;
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px solid #ddd;
}
.guide li em {
  width: 10em;
  display: inline-block;
  font-weight: bold;
  font-style: normal;

}
.guide li span {
  width: calc(100% - 10em);
}
.guide li::before {
  /*content: "※";
  position: absolute;
  left: 0;*/
}
.guide li ul {
  margin: 0.5em 0 0 10em;
  position: relative;
}
.guide li ul li {
  padding: 0 0 0.5em 0;
  border: none;
}
.guide li ul li::before {
  content: "";
}

/* form */

fieldset {
  margin: 0 auto !important;
  max-width: 100% !important;
}
.formArea {
  max-width: 1000px;
  margin: 20px auto 0;
}
.formArea input[type="text"],
.formArea input[type="password"],
.formArea input[type="datetime"],
.formArea input[type="datetime-local"],
.formArea input[type="date"],
.formArea input[type="month"],
.formArea input[type="time"],
.formArea input[type="week"],
.formArea input[type="number"],
.formArea input[type="email"],
.formArea input[type="url"],
.formArea input[type="search"],
.formArea input[type="tel"],
.formArea input[type="color"],
.formArea input[type="file"],
.formArea textarea {
  background-color: #ffffff;
  border: solid 1px #6c6c6c;
  font-size: 1.6rem;
  padding: 1rem;
  color: #212121;
  max-width: 100%;
  border-radius: 0;
}

.formArea .icon_n {
  font-size: 10px;
  color: #FFF;
  background-color: #d94040;
}

.formArea .hs_lastname label,
.formArea .hs_firstname label,
.formArea .hs_email label,
.formArea .hs_phone label,
.formArea .hs_seminar_date label {
  padding-left: 0;
  font-weight: normal;
}

/* セレクト */

select {
  outline: none;
  text-indent: 0.01px;
  text-overflow: '';
  background: #FFF;
  vertical-align: middle;
  font-size: inherit;
  color: inherit;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  border: solid 1px #6c6c6c;
}
.hs-fieldtype-select .input {
  position: relative;
  width: 105%;
  margin: 0;
  padding: 0;
}
.hs-fieldtype-select .input:before {
  z-index: 1;
  position: absolute;
  right: 14%;
  top: 0px;
  content: "\f078";
  font-weight: 900;
  font-family: "Font Awesome 5 Free";
  line-height: 43px;
  color: #212121;
  font-size: 12px;
  padding: 0;
  pointer-events: none;
}
select.hs-input {
  height: 40px !important;
  border: solid 1px #6c6c6c !important;
  border-radius: 0px !important;
  padding-left: 1rem !important;
}
select option {
  background-color: #fff;
  color: #333;
}
select::-ms-expand {
  display: none;
}
select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #828c9a;
}

/* エラー時のメッセージ設定 */

.formArea .hs-form-checkbox label,
.hs-error-msgs li label {
  border-left: none !important;
  padding-left: 0 !important;
}

.hs-error-msgs {
  margin: 0rem 0 1rem 0;
  padding: 0;
}

.hs-error-msgs li label {
  color: #dd4542 !important;
  font-size: 12px !important;
  text-align: left !important;
  font-style: italic !important;
}

.hs-form-required {
  color: #b71c1c !important;
}

.actions {
  text-align: center;
  margin: 1rem 0;
}

/* 初期値テキストカラー */

.hs-form input::-webkit-input-placeholder {
  color: #adadad;
  font-size: 16px;
}
.hs-form input::-moz-placeholder {
  color: #adadad;
  font-size: 16px;
}
.hs-form input:-moz-placeholder {
  color: #adadad;
  font-size: 16px;
}
.hs-form input:-ms-input-placeholder {
  color: #adadad;
  font-size: 16px;
}
.hs-richtext {
  font-weight: normal;
  font-size: 2rem !important;
}
.hs-richtext h6 {
  font-weight: normal;
}
form.form p.submit input {
  border: 1px solid #bc000e;
  background-color: #000!important;
}

/* footer */

.footer-content {
  background-color: #212121;
  color: #FFF;
  font-size: 12px;
}

/*  ＊＊＊＊＊＊＊＊＊＊＊＊
*****LP内のアニメーション部分について*****
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
用意しているアニメーション
全てクラス名で指定

「fade系」
.fadeIn
.fadeUp
.fadeDown
.fadeRight
.fadeLeft

「zoom系」
.zoomOut
.zoomIn
.zoomOutUp
.zoomOutLeft
.zoomOutDown
.zoomOutRight

「フリップ」
.flip
.flipX
.flipY

「ロール系」
.rollUp
.rollRight
.rollDown
.rollLeft

「くるっとまわって現れる」
.rotate
.rotateDownLeft
.rotateDownRight
.rotateUpLeft
.rotateUpRight

「スライド」
.slideUp
.slideUp
.slideRight
.slideDown
.slideLeft

「」

*/


/* 画面外にいる状態 */
.fadein {
  opacity : 0.05;
  transform : translate(0, 50px);
  transition : all 700ms;
}

/* 画面内に入った状態 */
.fadein.scrollin {
  opacity : 1;
  transform : translate(0, 0);
}

/* Toggle Button */
#nav-toggle {
  display: none;
  position: absolute;
  right: 12px;
  top: 14px;
  width: 34px;
  height: 36px;
  cursor: pointer;
  z-index: 101;
}
#nav-toggle div {
  position: relative;
}
#nav-toggle span {
  display: block;
  position: absolute;
  height: 4px;
  width: 100%;
  background: #666;
  left: 0;
  -webkit-transition: .35s ease-in-out;
  -moz-transition: .35s ease-in-out;
  transition: .35s ease-in-out;
}
#nav-toggle span:nth-child(1) {
  top: 0;
}
#nav-toggle span:nth-child(2) {
  top: 11px;
}
#nav-toggle span:nth-child(3) {
  top: 22px;
}
#pageTop {
  position: fixed;
  bottom: 70px;
  right: 20px;
}
#pageTop i {
  padding-top: 6px
}
#pageTop a {
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 999;
  padding: 0;
  border-radius: 25px;
  width: 50px;
  height: 50px;
  background-color: rgba(0,0,0,0.6);
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  font-size: 40px;
  text-align: center;
}
#pageTop a:after {
  content: "\2B06";
  font-family: u1f800;
  font-size: 32px;
  width: 100%;
  line-height: 1;
  margin: 0;
  padding: 0;
}
#pageTop a:hover {
  text-decoration: none;
  opacity: 0.7;
}


@media screen and (max-width: 1024px) {

  .content h2 {
    font-size: 3.6rem;
  }
  .container {
    width: auto;
    margin: 0 40px;
  }
  .hero_nav_list {
    width: auto;
    margin: 0 10px;
    font-size: 14px;
    overflow-x: auto;
  }
  .hero_nav_list li {
    padding: 0.5em;
  }
  .hero_slide {
    min-height: 180px;
  }
  .hero_slide .container {
    min-height: 180px;
  }

  .top_content p.present {
    position: absolute;
    left: 2%;
    top: 0px;
    width: 150px;
    z-index: 1;
  }
  .top_content h1 {
    font-size: 450%;
    padding-bottom: 0;
  }
  .top_content h1 em {
    font-size: 2.4rem;
  }
  .top_content .date .media p {
  }
  .top_content .date .media img {
    width: 400px;
  }
  .content01 h3 {
    margin: 0;
    font-size: 4.8rem;
  }
  .topic, .voices {
    margin: 0 5% 60px;
    padding: 10px;
  }
  .topic h3, .voices h3 {
    font-size: 2.6rem;
    margin: 0 0 20px;
  }
  .topic > ol.count-ex01 {
    padding: 0;
  }
  .topic > ol.count-ex01 > li {
    font-size: 2rem;
    margin-bottom: 0.5em;
  }
  .voices > ul > li {
    font-size: 1.8rem;
  }
  .lead {
    margin: 0 5%;
    padding: 1.3em 0 0;
  }
  .introWrap {
    width: auto;
    margin: 60px 40px 0;
  }
  .introArea {
    margin: 0;
    width: 48.5%;
  }
  .introArea_right {
    background-position: 50% 0;
    background-size: auto 120%;
  }
  .intro_part {
    font-size: 1.8rem;
    padding: 0.5em;
  }
  .introArea, .introBooks {
    width: auto;
    margin: 70px 0 0;
  }

  .introArea--top {
    margin: 0;
  }

  .introArea--part1 {
    margin: 0;
  }

  .introArea h4 {
    padding: 2.2rem 30% 0.5em 1em;
    font-size: 2rem;
  }
  .introArea--last h4 {
    padding: 15px 0 0 0;
  }
  .introArea p.schedule {
    font-size: 1.5rem;
  }
  .introArea p.speech-content {
    padding-right: 32%;
    font-size: 14px;
  }
  .introArea--last p.speech-content {
    padding-right: 0;
  }
  .introArea_profile {
    padding-right: 32%;
  }
  .introArea_profile p {
    font-size: 1.3rem;
  }
  .introArea--part2 {
    display: block;
    margin: 0;
    width: 49%;
  }
  .introArea--part2 h4 {
    padding: 1rem 1rem 0.5em;
  }
  .introArea--part2 .introArea_profile p {
    /*display: none;*/
  }
  .introArea--part2 .introArea_profile p {
    font-size: 1.3rem;
  }
  .introArea_profile p.intro_name {
    font-size: 2rem;
  }
  .introArea_profile p.intro_name span {
    font-size: 1.4rem;
  }
  .introArea_right {
    width: 30%;
    background: url(../images/intro_bg_takeuchi.jpg?20012202) no-repeat 50% 0;
    background-size: auto 100%;
  }
  .introArea_right--part1 {
    width: 30%;
    background: url(../images/intro_bg_tomita.jpg) no-repeat 50% 0;
    background-size: auto 110%;
  }
  .introArea_right--part2 {
    width: 30%;
    background: url(../images/intro_bg_yoshida.jpg) no-repeat 80% 0;
    background-size: auto 120%;
  }
  .introArea_right--part3 {
    width: 30%;
    background: url(../images/intro_bg_baba.jpg) no-repeat 80% 0;
    background-size: auto 120%;
  }
  .introBooks {
    margin: 0;
  }
  .introBooks h3 {
    font-size: 2rem;
  }
  .introBooks ul {
    margin: 0 10px;
  }
  .introBooks ul li p {
    font-size: 1.1rem;
  }
  .tokuten {
    margin: 50px auto 0;
    width: auto;
  }
  .tokuten h3 {
    font-size: 2.8rem;
  }
  .detail_Area {
    width: auto;
    margin: 0;
  }
  .top_content h1 {
    font-size: 370%;
    padding: 0;
  }
  .topic, .voices {
     margin: 0 0 50px;
  }
  .topic > ol.count-ex01 > li {
    font-size: 1.8rem;
  }
  .voices > ul > li {
    font-size: 1.6rem;
  }

  .tokuten .tokuten_outer {
    margin: 0;
  }
  .tokuten .tokuten_item {
    margin: 30px 10px 0;
  }
  .tokuten ul {
     margin: 0;
  }
  .formArea {
    width:auto;
    margin: 0;
  }
  .guide {
    width: auto;
  }
}

@media screen and (max-width: 900px) {
  .container {
    margin: 0 25px;
  }

  .hero_image {
    min-height: 400px;
  }

  .hero_slide,.hero_slide .container {
    min-height: 130px;
  }

  .hero_slide p {
    font-size: 3rem;
  }

  .introArea, .introBooks {
    margin: 20px 0 0;
  }
  .introArea--part1 {
    margin-top: 0;
  }
  .introBooks {
    margin-top: 0;
  }
  .introWrap {
    margin: 70px 25px 30px;
  }
  .introArea--part2 {
    margin: 0;
  } 
  .introArea--part2 h4 {
    font-size: 1.6rem;
  }
  .tokuten .tokuten_item img {
    width: 90%;
  }


}

@media screen and (max-width: 767px) {

  .show-pc {
    display: none;
  }
  .show-sp {
    display: block;
  }
  h2 {
    margin-top: -80px;
    padding-top: 80px;
    font-size: 7.875vw;
  }
  h2 span {
    font-size: 4.375vw;
  }

  .content h2 {
    font-size: 6.25vw;
    margin-bottom: 0.5em;
  }
  p {
    font-size: 3.75vw;
  }
  .lead {
    font-size: 3.75vw;
    margin: 0 2.5vw;
    padding: 0 0 1em;
    text-align: justify;
  }

  .container {
    margin: 0 5%;
  }

  .top_content .special {
    align-items: flex-start;
    width: 100%;
    font-size: 7.5vw;
  }
  .top_content .special p {
    font-size: 7.5vw;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .top_content .special span {
    text-align: left;
    font-size: 65%;
  }

  .top_content p.present {
    left: 5vw;
    top: 2.5vw;
    width: 27vw;
    margin: 0;
    padding: 0;
  }
  .top_content h1 {
    text-align: center;
    width: 100%;
    margin: 5vw auto 0;
    padding: 0;
    font-size: 11.25vw;
    line-height: 1.3;
  }
  .top_content h1 small {
    font-size: 50%;
    padding: 5vw 0 2.5vw;
  }

  .top_content h1 span,
  .top_content h1 span:nth-child(2) {
    width: 60%;
    margin: 0 auto 0 30vw;
  }
  .top_content h1 em {
    font-size: 4.375vw;
    margin: 5vw 0 0;
    padding: 0.4em 0.3em;
    text-align: center;
  }
  .top_content h1 img {
    max-width: auto;
    width: 100%;
  }

  .top_content .date .media {
    width: auto;
    margin: 5vw auto 0;
  }

  .top_content .date .media p {
    font-size: 3.75vw;
    margin: 2.5vw auto;
    width: auto;
    position: relative;
  }

  .top_content .date .media p small {}

  .top_content .date .media img {
    width: 96%;
    margin: 0 auto;
  }
  .top_content p.date big {
    font-size: 150%;
  }
  .top_content p.date small {
    font-size: 60%;
  }
  .top_content p.date span {
    font-size: 5vw;
  }

  .top_content .date .media h2 {
    font-size: 4.375vw;
  }
  .top_content .date .media ul {
    margin: 3.125vw 3.125vw 0;
  }
  .top_content .date .media ul li {
    font-size: 3.75vw;
    padding: 0 0 0.6em;
  }  
  .header-content {
    max-height: 15.625vw;
  }

  .header-content_top {
    position: relative;
    font-size: 5vw;
    width: auto;
    margin: 5vw 5% 0;
  }

  .header-content_top p {
    width: auto;
    font-size: 5vw;
    padding: 0.6em 0;
    display: block;
  }
  .header-content_top p:before {
    top: -0.4em;
  }
  .header-content_top img {
    width: 90%;
  }
  .header-content .logo {
    padding: 0 0 0 3.125vw;
  }
  .header-content .logo a {
    font-size: 5vw;
  }
  .header-content .logo img {
    max-height: 12.5vw;
    width: auto;
  }
  .hero_image {
    min-height: 55vw;
    padding-top: 0;
  }
  .hero_image .container {
    margin-top: 0;
    padding: 2.5vw 0 0;
  }  
  .hero_image:before {
    width: 80%;
    background-position: 100% 0;
    transform: translatex(20%);
    opacity: 70%;
  }
  .hero_nav {
    position: relative;
    min-height: unset!important;
    min-height: 8.75vw;
    overflow-x: auto;
    overflow-y: hidden;
  }
  .hero_nav::after {
    height: 6.25vw;
    bottom: -6.25vw;
    background-size: 6.25vw 6.25vw;
  }
  .hero_nav_list {
    justify-content: flex-start;
  }
  .hero_nav_list.active {
    display: inline-block;
    width: auto;
    padding-top: 2.5em;
  }
  .hero_nav_list li {
    font-size: 3.125vw;
    padding: 0 1em 0 0;
    white-space: nowrap;
  }
  .hero_slide {
    min-height: 10vw;
  }
  .hero_slide .container {
    min-height: 10vw;
  }
  .hero_slide ul::before,
  .hero_slide ul::after {
    width: 30%;
    height: calc(30% / 0.6);
    top: 7%;
    border: 2px solid #fff;
  }
  .hero_slide ul::after {
    top: unset;
    bottom: 7%;
   }
  .hero_slide p {
    font-size: 6.25vw;
    color: #fff;
    background: none;
    padding: 5vw 0;
    line-height: 1.4;
    text-shadow: 2px 2px 0 #000;
    bottom:28%;
  }
  h3 {
    font-size: 5vw;
    margin: 2em 0 0;
    padding: 0.2em 0 0.2em 1em;
  }
  .content01 h3 {
    margin: 0 0 1em;
    font-size: 5vw;
  }
  .topic, .voices {
    padding: 2.5vw;
  }
  .topic > ol.count-ex01 > li {
    font-size: 3.75vw;
  }
  .voices > ul {
    display: block;
    flex-wrap: unset;
  }
  .voices > ul > li {
    width: auto;
    font-size: 4.375vw;
    padding: 2.5vw;
    margin: 0 0 3.125vw;
  }
  .voices > ul > li:last-child {
    margin-bottom: 0;
  }
  .voices > ul > li > em {
    font-size: 110%;
  }
  .point {
    margin: 0 5%;
  }
  .point .point_inner h3 {
    display: block;
    text-align: left;
    font-size: 4.375vw;
    padding: 0 0 0.3em;
  }
  .point .point_inner h3 span {
    display: block;
  }
  .introArea {
    margin: 10vw 0 0;
    padding: 0;
  }
  .introArea--top {
    margin: 0;
    padding: 0 3.125vw;
  }
  .intro_part {
    position: relative;
    width: 100%;
    font-size: 5vw;
    margin: 0 0 2.5vw;
  }
  .introArea--part1 {
    padding-top: 0;
    margin: 0;
  }

  .introArea h3 {
    margin: 0;
    padding: 5vw 0 0;
    font-size: 5.625vw;
  }
  .introArea h4 {
    font-size: 5vw;
    padding: 0.8em 3.125vw 0.5em;
    text-align: center;
  }
  .introArea h4 span {
    font-size: 3.75vw;
  }
  .introArea h4 span em {
    font-size: 4.375vw;
  }
  .introArea p {
    text-align: justify;
    font-size: 3.75vw;
  }
  .introArea p.speech-content {
    margin: 0;
    padding: 3.75vw;
    font-size: 3.125vw;
  }
  .introArea ul,
  .introArea--last ul {
    width: auto;
    margin: 0;
    padding: 3.75vw 0;
  }
  .introArea ul li {
    font-size: 3.75vw;
  }
  .introArea--last p.speech-content {
    width: auto;
  }
  .introArea_profile {
    padding: 3.75vw;
  }
  .introArea_profile img {
    width: auto;
    height: auto;
    padding: 3.125vw 0;
  }
  .introArea_profile p {
    font-size: 3.125vw;
  }
  .introArea_profile p.intro_name {
    font-size: 5.625vw;
    text-align: center;
    line-height: 1.3;
    padding: 5vw 0 2.5vw;
  }
  .introArea_profile p.intro_name span {
    display: block;
    font-size: 3.125vw;
    font-weight: 400;
    padding: 0 0 2.5vw;
  }
  .introArea_right {
    display: none;
  }
  .name_sub {
    display: block;
    margin: 0;
    font-size: 3.125vw;
  }
  .introArea .introImag img {
    width: 100%;
    height: auto;
  }
  .introBooks {
    width: auto;
    margin: 0;
  }
  .introBooks ul {
    margin: 0;
    flex-wrap: wrap;
  }
  .introBooks ul li {
    margin: 0 0;
    width: calc(100% / 3);
  }
  .introBooks ul li p {
    font-size: 2.5vw;
  }
  .tokuten {
    margin: 5vw 0 0;
    width: auto;
  }
  .tokuten h3 {
    font-size: 4.375vw;
  }
  .tokuten .tokuten_outer {
    margin: 0;
  }
  .tokuten .tokuten_item {
    margin: 5vw 0 0;
  }
  .tokuten .tokuten_item img {
    width: 86%;
    box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.2);
    border: 1px solid #ccc;
  }
  .tokuten .tokuten_item h3 {
    margin: 5vw 0 0;
    padding: 0;
    font-size: 3.125vw;
  }
  .tokuten ul {
    margin: 5vw 0 0;
    padding: 2.5vw;
  }
  .tokuten ul li {
    font-size: 3.75vw;
  }
  .cont04_inner h3 {
    display: block;
    padding: 2em 0.5em 0.5em;
    font-size: 4.375vw;
  }
  .cont04_inner h3 span {
    display: block;
    font-size: 3.75vw;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    text-align: center;
  } 
  .cont04_inner h3 span span {
      display: inline;
  }
  .cont04_inner h3 span span {}

  .detail_Area {
    width: auto;
    margin: 0;
  }
  .detail_Area_inner {
    padding: 3.75vw;
  }

  .detail_Area_inner p {
    font-size: 5vw;
    font-weight: 600;
    text-align: justify;
  }
  .detail_Area_inner ul {
    padding-bottom: 3.75vw;
  }
  .detail_Area_inner ul li {
    padding-top: 0.3em;
    font-size: 3.125vw;
  }
  .detail_Area_inner ul li p.btn a {
    width: auto;
    font-size: 5vw;
  }
  .inner_venue {
    display: block;
    margin: 0;
    padding: 0 0 2.5vw;
  }
  .inner_venue_item h5 {
    font-size: 4.375vw;

    padding: 0;
  }
  .inner_venue_item h5 small {
    margin-left: 0;
  }
  .inner_venue_item {
    width: auto;
    margin: 0;
    padding: 0;
  }
  .detail_Area_inner p {
    padding: 0;
    font-size: 4.375vw;
  }
  .detail_Area_inner p.sponsorLogo {
    text-align: center;
  }
  .detail_Area_inner p.inner_venue_item_date {
    font-size: 4.375vw;
  }
  .detail_Area_inner p.inner_venue_item_address {
    font-size: 3.125vw;
  }
  .detail_Area_inner p.inner_venue_item_access a {
    width: auto;
    margin: 0;
  }
  .detail_Area_inner p.inner_venue_item_address {
    font-weight: 400;
  }

  .detail_Area_inner .venue {
    display: block;
  }
  .detail_Area_inner .venue .gmapleft {
    width: 100%;
  }
  .detail_Area_inner .venue .gmap {
    margin: 0;
    height: 0;
    overflow: hidden;
    padding-bottom: 56.25%;
    position: relative;
    display: block;
  }
  .detail_Area_inner .venue .gmap iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    padding-bottom: 3.75vw;
  }
  .content05 h3 {
    margin: 5vw 0;
    padding: 0.3em;
    text-align: left;
  }
  /* CVボタン 通常時 */

  .cvbtn {
    margin: 0;
  }
  .hs-button,
  .cvbtn,
  .hs-button:hover, .cvbtn:hover {
    font-size: 6.25vw !important;
    width: 94%;
    margin: 0 auto !important;
  }
  .cvbtn a {
    color: #FFF;
    display: block;
    text-decoration: none;
  }
  #pageTop {
    bottom: 90px;
  }
  .content02 {
    background-image: url("../images/bg_04.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
    height:auto;
  }

  .introWrap {
    display: block;
    width: auto;
    margin: 10vw 5% 0;
  }
  .introArea--part2 {
    display: block;
    margin: 0;
    padding: 0;
    width: auto;
  }
  .introArea p.schedule {
    margin: 0;
    font-size: 6.25vw;
  }
  .introArea--part2 h4 {
    margin: 0;
    padding:  0.8em 0.5em;
    font-size: 4.375vw;
  }
  .introArea--part2 .introArea_profile p {
    text-align: justify;
    padding:0;
    
  }
}

.fs_large { font-size: 125%; }
.fs_larger { font-size: 150%; }
.fs_largest { font-size: 200%; }
