/*@charset "UTF-8";*/

/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
body,sub,sup{position:relative}a:active,a:hover,input:focus{outline:0}abbr,acronym,fieldset,img,input,legend{border:0}legend,td,th{padding:0}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}abbr[title]{border-bottom:1px dotted}b,optgroup,strong{font-weight:700}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}svg:not(:root){overflow:hidden}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0}pre,textarea{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}blockquote,body,dd,div,dl,dt,fieldset,form,h1,h2,h3,h4,h5,h6,input,li,ol,p,pre,td,textarea,th,ul{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}address,caption,cite,code,dfn,th,var{font-style:normal;font-weight:400}ol,ul{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:400}q:after,q:before{content:''}a,img{vertical-align:top;display:inline-block}html{font-size:62.5%;line-height:1.75}body{margin:0;font-family:'Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',Meiryo,メイリオ,Osaka,'MS PGothic',arial,helvetica,sans-serif}*{-webkit-box-sizing:border-box;box-sizing:border-box}a,a:hover{text-decoration:none}

@font-face {
  /*フォントの名前*/
  font-family: "Kakushin Gyousho Medium";
  /*フォントファイルへのパス（複数指定の場合、上から順に読み込まれる）*/
  src: url("../font/Kakushin Gyousho Medium.woff") format("woff");
}
body {
  color: #36363c;
  font-family: 'Noto Serif JP', serif;
}
a {
  color: #36363C;
  }

/* ===========================================
共通
=========================================== */


@media screen and (min-width: 768px) {
  .sp-only {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .pc-only {
    display: none !important;
  }
}

article {
  position: relative;
}
.ls {
  letter-spacing: -0.1em;
}
.spOnly {
  display: none;
}
.l-column {
  max-width: calc(1000px + 40px);
  padding: 0 20px;
  margin: 0 auto;
}
.bold {
  font-weight: bold;
}
.innerKvArea {
  height: 482px;
  padding-bottom: 28px;
  position: relative;
}
.innerKvArea .l-column {
  height: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
}
.innerKvArea .pageTit {
  color: #fff;
  font-family: "Kakushin Gyousho Medium";
  font-size: 4.5rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: -0.14em;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  white-space: nowrap;
  position: absolute;
  top: 51.5%;
  left: 50%;
  transform: translate(-50%,-50%);
}
.innerKvArea .pageTit.winChrome {
  letter-spacing: -0.3em;
}
.pageTit .vertical {
  writing-mode: horizontal-tb;
  letter-spacing: 0;
}
.pageTit .rotate {
  margin: 2px 0 -7px;
  transform: rotate(-90deg);
  writing-mode: horizontal-tb;
  display: inline-block;
}
.innerKvArea .topicpath {
  display: flex;
}
.innerKvArea .topicpath li {
  color: #fff;
  font-size: 1.5rem;
  line-height: 1;
  white-space: nowrap;
}
.topicpath li + li {
  margin-left: 20px;
  position: relative;
}
.topicpath li + li:before {
  content: "";
  width: 13px;
  height: 9px;
  background: url(../img/common/ico_arrow.svg) no-repeat center / contain;
  position: absolute;
  top: 50%;
  left: -17px;
  transform: translateY(-50%);
}
.topicpath li a {
  color: #fff;
  transition: .3s;
}
.topicpath li a:hover {
  opacity: 0.7;
}
.innerPage .pageLead {
  margin: 70px 0;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.666666667;
}
.innerPage .pageLead .txt {
  font-size: 1.6rem;
  font-weight: normal;
  line-height: 1.875;
}
.innerPage .pageLead .txt + .telBox {
  margin-top: 20px;
  font-weight: normal;
}
.innerPage .secTit {
  font-family: "Kakushin Gyousho Medium";
  font-size: 4rem;
  line-height: 1.5;
  text-align: center;
  position: relative;
}
.innerPage .secTit:before {
  content: "";
  width: 406px;
  height: 153px;
  background: url(../img/common/img_secTit_bg.png) no-repeat center / contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
.bgTit {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.444444444;
  text-align: center;
  position: relative;
  z-index: 5;
}
.bgTit:before {
  content: "";
  width: 227px;
  height: 46px;
  background: url(../img/common/img_bgTit.png) no-repeat center / contain;
  position: absolute;
  left: 50%;
  top: 67%;
  transform: translate(-50%,-50%);
  z-index: -1;
}
.borderTit {
  padding-bottom: 10px;
  color: #528ad8;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.708333333;
  text-align: center;
  position: relative;
}
.borderTit:after {
  content: "";
  width: 148px;
  height: 3px;
  background: #528ad8;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
}
.blockTit {
  padding: 13px 26px;
  background: #11325f;
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.4375;
  position: relative;
}
.blockTit:before {
  content: "";
  width: 100%;
  height: 100%;
  background: url(../img/common/img_bg.png) repeat center / 86px;
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0.02;
}
.innerPage .subTit {
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  position: relative;
  display: block;
  z-index: 1;
}
.innerPage .subTit:before {
  content: '';
  width: 227px;
  height: 47px;
  background: url(../img/common/bg_subTit.png) no-repeat center / contain;
  display: block;
  position: absolute;
  left: 50%;
  top: calc( 50% + 4px );
  transform: translate(-50%,-50%);
  z-index: -1;
}

@media screen and (max-width: 767px) {
  body.hidden {
    overflow: hidden;
  }
  .spOnly {
    display: block;
  }
  .pcOnly {
    display: none;
  }
  .l-column {
    width: 100%;
    padding: 0 15px;
  }
  .innerKvArea {
    height: 250px;
    padding-bottom: 15px;
  }
  .innerKvArea .pageTit {
    font-size: 3rem;
    top: 51.5%;
    left: 50%;
    transform: translate(-50%,-50%);
  }
  .innerKvArea .pageTit .safari {
    letter-spacing: -0.45em;
  }
  .innerKvArea .topicpath {
    overflow: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .innerKvArea .topicpath::-webkit-scrollbar {
    display:none;
  }
  .innerKvArea .topicpath li {
    font-size: 1.4rem;
  }
  .innerPage .pageLead {
    margin: 50px 0;
    font-size: 1.6rem;
  }
  .innerPage .pageLead .txt {
    font-size: 1.5rem;
  }
  .innerPage .secTit {
    font-size: 3rem;
  }
  .innerPage .secTit:before {
    width: 284px;
    height: 122px;
  }
  .borderTit {
    font-size: 2rem;
  }
}

/* ===========================================
ヘッダー
=========================================== */
.header {
  width: 100%;
  top: 0;
  left: 0;
  position: fixed;
  z-index: 100;
  transition: .3s;
}
.top .header {
  background: linear-gradient(to bottom,rgba(0,0,0,0.3),rgba(0,0,0,0));
}
.header.is-show {
  background: #fff;
}
.header .l-column {
  max-width: 1240px;
  height: 98px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header .logo a {
  transition: .3s;
}
.header .logo a:hover {
  opacity: 0.7;
}
.header .nav {
  display: flex;
  align-items: center;
}
.header .spNav {
  display: none;
}
.nav li a {
  color: #fff;
}
.nav .menu {
  display: flex;
}
.nav .menu > li {
  padding: 11px 10px;
}
.nav .menu li + li {
  margin-left: 2px;
}
.nav .menu > li {
  font-size: 1.4rem;
  line-height: 1.428571429;
  transition: .3s;
  cursor: pointer;
}
.nav .menu > li.whale {
  position: relative;
}
.nav .menu > li.whale span {
  color: #A52020;
  font-size: 1.2rem;
  line-height: 1.416666667;
  white-space: nowrap;
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
}
.nav .menu > li.whale span:before {
  content: "";
  width: 1px;
  height: 14px;
  background: #A52020;
  transform: translateY(-50%) rotate(-22deg);
  position: absolute;
  top: 50%;
  left: -10px;
}
.nav .menu > li.whale span:after {
  content: "";
  width: 1px;
  height: 14px;
  background: #A52020;
  transform: translateY(-50%) rotate(22deg);
  position: absolute;
  top: 50%;
  right: -10px;
}
.header.is-show .menu > li > a {
  color: #36363C;
  transition: .3s;
}
.header.is-show .menu > li > a svg path {
  fill: #87C985;
}
.header.is-show .menu > li > a:hover {
  opacity: 0.7;
}
.nav .menu > li > a {
  transition: .3s;
}
.nav .menu > li:hover > a {
  color: #36363C;
}
.nav .menu .hover {
  position: relative;
}
.nav .menu .hover > a {
  pointer-events: none;
}
.menu .hover .subMenu {
  padding: 25px 37px;
  background: linear-gradient(to left, rgba(98, 98, 98,0.9) 0%, rgba(25, 25, 25,0.9) 100%);
  white-space: nowrap;
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
}
.hover .subMenu li {
  color: #fff;
  margin-bottom: 8px;
}
.hover .subMenu li a {
  transition: .3s;
}
.hover .subMenu li a:hover {
  opacity: 0.8;
}
.hover .subMenu li:first-of-type {
  font-size: 1.6rem;
  margin-bottom: 10px;
}
.hover .subMenu li:not(:first-of-type) a {
  font-size: 1.4rem;
}
.hover .subMenu li + li {
  padding-left: 12px;
  margin-left: 0;
  position: relative;
}
.hover .subMenu li + li:before {
  content: "";
  width: 6px;
  height: 1px;
  background: #fff;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.hover .subMenu li:last-child {
  margin-bottom: 0;
}
.menu .hover:hover .subMenu {
  display: block;
}
.nav .menu + .btnList {
  margin-left: 21px;
}
.nav .btnList {
  display: flex;
}
.nav .btnList li + li {
  margin-left: 16px;
}
.nav .btnList li a {
  width: 109px;
  padding: 6px 10px 8px;
  border: 1px solid #fff;
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1.416666667;
  text-align: center;
  transition: .3s;
}
.nav .btnList li.tel a {
  width: 126px;
  display: flex;
  align-items: center;
}
.nav .btnList li.tel a svg {
  margin-top: 2px;
  margin-right: 6px;
}
.nav .btnList li.tel a svg path {
  fill: #fff;
}
.nav .btnList li a:hover {
  background: #fff;
  color: #36363C;
}
.nav .btnList li a:hover svg path {
  fill: #87C985;
}
.is-show .nav .btnList li.tel a svg path {
  fill: #87C985;
}
.is-show .nav .btnList li a {
  color: #36363C;
  border: 1px solid #36363C;
}
.is-show .nav .btnList li a:hover {
  color: #fff;
  background: #36363C;
}
.nav .btnList .window a {
  padding-right: 15px;
  position: relative;
}
.btnList .window a span {
  display: flex;
  align-items: center;
  position: absolute;
  top: calc(50% + 2px);
  right: 10px;
  transform: translateY(-50%);
}
.window a .windowOpen path {
  transition: .3s;
}
.window a:hover .windowOpen path {
  fill: #36363C;
}
.is-show .window a .windowOpen path {
  fill: #36363C;
}
.is-show .window a:hover .windowOpen path {
  fill: #fff;
}
/*▼▼▼冬季のみコメントアウト▼▼▼*/

/* .header .whaleBan {
  display: none;
} */
/* ▲▲▲ここまで▲▲▲ */

/* ▼▼▼冬季限定ホエール▼▼▼ */
.header .whaleBan {
  position: fixed;
  bottom: 50px;
  right: 47px;
} 
/* ▲▲▲ここまで▲▲▲ */
.header .whaleBan a {
  transition: .3s;
  position: relative;
}
.header .whaleBan a:hover {
  opacity: 0.8;
}
.header .whaleBan .close {
  content: "";
  width: 26px;
  height: 26px;
  border-radius: 50%;
  position: absolute;
  left: 11px;
  top: 10px;
  z-index: 10;
  cursor: pointer;
}
.header .whaleBan.is-hide {
  display: none;
}

@media screen and (max-width:1000px) and (min-width:768px) {
  .header .logo a  {
    width: 130px;
  }
  .header .logo a img {
    max-width: 100%;
    height: auto;
  }
  .nav .menu > li {
    padding: 11px 2px;
    font-size: 1.2rem;
  }
  .nav .menu > li.whale span {
    font-size: 1rem;
    top: -5px;
    left: 50%;
    transform: translateX(-50%);
  }
  .nav .menu > li.whale span:before {
    left: -5px;
  }
  .nav .menu > li.whale span:after {
    right: -5px;
  }
  .nav .menu li + li {
    margin-left: 2px;
  }
  .nav .menu + .btnList {
    margin-left: 10px;
  }
  .nav .btnList li + li {
    margin-left: 5px;
  }
  .nav .btnList li a {
    width: 90px;
    padding: 6px 8px 8px;
    font-size: 1.2rem;
  }
  .header .whaleBan {
    position: fixed;
    bottom: 30px;
    right: 20px;
  }
}

@media screen and (max-width:767px) {
  .top .header {
    background: none;
  }
  .top .header.is-show {
    background: #fff;
  }
  .header .l-column {
    height: 73px;
  }
  .header.menu-open .l-column {
    background: #fff;
  }
  .header .logo {
    width: 105px;
  }
  .header .logo img {
    width: 100%;
    height: auto;
  }
  .header .hamburgur {
    width: 34px;
    height: 22px;
    position: relative;
  }
  .header .hamburgur span {
    width: 100%;
    height: 2px;
    background: #fff;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    transition: .5s;
  }
  .header.is-show .hamburgur span {
    background: #000;
  }
  .header.menu-open .hamburgur span {
    background: #000;
  }
  .header .hamburgur span:nth-of-type(1) {
    top: 0;
    left: 50%;
  }
  .header .hamburgur span:nth-of-type(2) {
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
  }
  .header .hamburgur span:nth-of-type(3) {
    bottom: 0;
    left: 50%;
  }
  .header.menu-open .hamburgur span:nth-of-type(1) {
    top: 50%;
    transform: translate(-50%,-50%) rotate(45deg);
  }
  .header.menu-open .hamburgur span:nth-of-type(2) {
    opacity: 0;
  }
  .header.menu-open .hamburgur span:nth-of-type(3) {
    top: 50%;
    bottom: auto;
    transform: translate(-50%,-50%) rotate(-45deg);
  }
  .header .nav {
    display: none;
  }
  .header .spNav {
    width: 100%;
    height: 100vh;
    padding: 84px 36px;
    background: #fff;
    flex-direction: column;
    display: block;
    overflow-y: scroll;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    transition: .5s;
    opacity: 0;
    pointer-events: none;
  }
  .header.menu-open .spNav {
    opacity: 1;
    pointer-events: auto;
  }
  .spNav .menu {
    margin-bottom: 37px;
  }
  @keyframes menu_on1{0%{transform:translateY(50%) rotateX(90deg)}100%{transform:translateY(0) rotateX(0)}}
  @keyframes menu_off1{0%{transform:translateY(0) rotateX(0)}100%{transform:translateY(-50%) rotateX(-90deg)}}
  .spNav a {
    animation: menu_off1 .5s linear forwards;
  }
  .menu-open .spNav a {
    animation: menu_on1 .5s linear forwards;
  }
  .spNav .menu li a {
    font-size: 1.7rem;
    font-weight: bold;
    line-height: 1.235294118;
  }
  .spNav .subMenu li {
    padding-left: 24px;
    margin-top: 11px;
    position: relative;
  }
  .spNav .subMenu li:before {
    content: "";
    width: 15px;
    height: 1px;
    background: #d6d6d6;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }
  .spNav .subMenu li a {
    font-size: 1.5rem;
    font-weight: normal;
    line-height: 1.333333333;
  }
  .spNav .menu > li + li {
    margin-top: 27px;
  }
  .spNav .btnList {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .spNav .btnList li + li {
    margin-top: 10px;
  }
  .spNav .btnList li a {
    width: 160px;
    padding: 7px 5px;
    border: 1px solid #000;
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1.416666667;
    text-align: center;
    position: relative;
  }
  .spNav .btnList .window a {
    padding-right: 12px;
  }
  .spNav .btnList li a svg path {
    fill: #000;
  }
  .nav .menu li + li {
    margin-left: 22px;
  }
  .nav .menu li a {
    font-size: 1.4rem;
    line-height: 1.428571429;
    transition: .3s;
  }
  .nav .menu > li > a:hover {
    color: #36363C;
  }
  .nav .menu .hover {
    position: relative;
  }
  .menu .hover .subMenu {
    padding: 15px 37px;
    background: linear-gradient(to left, #626262 0%, #191919 100%);
    white-space: nowrap;
    display: none;
    position: absolute;
    top: calc(100% + 11px);
    left: 0;
  }
  .hover .subMenu li {
    color: #fff;
    margin-bottom: 8px;
  }
  .hover .subMenu li a:hover {
    opacity: 0.6;
  }
  .hover .subMenu li:first-of-type {
    font-size: 1.2rem;
    margin-bottom: 10px;
  }
  .hover .subMenu li:not(:first-of-type) a {
    font-size: 1rem;
  }
  .hover .subMenu li + li {
    padding-left: 12px;
    margin-left: 0;
    position: relative;
  }
  .hover .subMenu li + li:before {
    content: "";
    width: 6px;
    height: 1px;
    background: #fff;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }
  .menu .hover:hover .subMenu {
    display: block;
  }
  .nav .menu + .btnList {
    margin-left: 21px;
  }
  .nav .btnList {
    display: flex;
  }
  .nav .btnList li + li {
    margin-left: 16px;
  }
  .nav .btnList li a {
    width: 109px;
    padding: 7px 10px;
    border: 1px solid #fff;
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1.416666667;
    text-align: center;
    transition: .3s;
  }
  .nav .btnList li a:hover {
    background: #fff;
    color: #36363C;
  }
  .nav .btnList .window a {
    padding-right: 15px;
    position: relative;
  }
  .btnList .window a span {
    display: flex;
    align-items: center;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
  }
  .window a .windowOpen path {
    transition: .3s;
  }
  .window a:hover .windowOpen path {
    fill: #36363C;
  }
  .header .whaleBan {
    bottom: 7px;
    right: 10px;
    z-index: 1;
  }
  .header .whaleBan a {
    width: 120px;
    transition: .3s;
    position: relative;
  }
  .header .whaleBan a img {
    width: 100%;
    height: auto;
  }
  .header .whaleBan a:hover {
    opacity: 0.8;
  }
  .header .whaleBan .close {
    content: "";
    width: 26px;
    height: 26px;
    border-radius: 50%;
    position: absolute;
    left: 0px;
    top: -4px;
    z-index: 10;
    cursor: pointer;
  }
  .header .whaleBan.is-hide {
    display: none;
  }
}

/* ===========================================
TOP
=========================================== */
/*KV*/
.kvArea {
  height: 90vh;
  min-height: 750px;
  max-height: 90vh;

  /*▼▼▼冬季のみコメントアウト▼▼▼*/
  /* margin-bottom: 143px;
  background: url(../img/top/img_kv_top.jpg) no-repeat center / cover; */
  /* ▲▲▲ここまで▲▲▲ */

  /*冬季限定ホエール*/
  margin-bottom: 145px;
  position: relative;
  background: url(../img/top/img_kv_whale.jpg) no-repeat center / cover; 
  /* ▲▲▲ここまで▲▲▲ */

  background-position: top;
}
.kvArea .inner:after {
  content: "";
  width: calc(100% + 40px);
  height: 140px;
  background: url(../img/common/img_bottom_bg.svg) no-repeat center / 100% auto;
  position: absolute;
  top: calc(100% - 67px);
  left: 50%;
  transform: translateX(-50%);
}
.kvArea .inner {
  height: 100%;
  padding-top: 183px;
  position: relative;
  overflow: hidden;
}
.kvArea .txtBox {
  height: 70.579518%;

  /* ▼▼▼冬季限定ホエール▼▼▼ */
  color: #1A1A1A; 
  /* ▲▲▲ここまで▲▲▲ */

  /*▼▼▼冬季のみコメントアウト▼▼▼*/
  /* color: #fff; */
  /* ▲▲▲ここまで▲▲▲ */

  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  align-items: flex-start;
  position: absolute;
  left: 50%;
  top: 55.3%;
  transform: translate(-50%,-50%);
  z-index: 10;
}
.kvArea .kvTit {
  width: 264px;
  margin-top: 10px;

  /* ▼▼▼冬季限定ホエール▼▼▼ */
  text-shadow: 0 0 6px #FFF; 
  /* ▲▲▲ここまで▲▲▲ */


  /*▼▼▼冬季のみコメントアウト▼▼▼*/
  /* filter: drop-shadow(0px 3px 30px rgba(10, 13, 106, 0.41)); */
  /* ▲▲▲ここまで▲▲▲ */

  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
}
.kvArea .kvTit span {
  font-family: "Kakushin Gyousho Medium",serif;
  font-display: block;
  font-size: 10rem;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  white-space: nowrap;
}
.kvArea .kvTit span.winChrome {
  letter-spacing: -0.3em;
}
.kvArea .kvTit span + span {
  margin: 94px 35px 0 0;
}
.kvArea .kvTit .big {
  font-size: 15rem;
  letter-spacing: -0.1em;
  line-height: 0.8;
}
.kvArea .kvTit .winChrome .big {
  letter-spacing: -0.3em;
}
.kvArea .limited {
  margin-left: 55px;
  margin-right: 112px;
}
/* 冬季限定ホエール */
.kvArea .limited {
  padding: 6px 2px;
  font-weight: bold;
  background: #1A1A1A;
  color: #FFF;
  font-size: 4rem;
  line-height: 1;
} 
  /* ▲▲▲ここまで▲▲▲ */
.kvArea .limited span {
  text-combine-upright: all;
  display: inline-block;
}
.kvArea .lead {
  width: 186px;
  overflow: hidden;
  margin-right: 47px;

  /*▼▼▼冬季のみコメントアウト▼▼▼*/
  /* border-left: 1px solid #fff;
  background: linear-gradient(to left, #FFF 1px, transparent 1px); */
  /* ▲▲▲ここまで▲▲▲ */

  /* ▼▼▼冬季限定ホエール▼▼▼ */
  border-left: 1px solid #1A1A1A;
  background: linear-gradient(to left, #1A1A1A 1px, transparent 1px); 
  /* ▲▲▲ここまで▲▲▲ */

  font-size: 1.6rem;
  font-weight: bold;
  line-height: 2.3125;
  letter-spacing: 0.22em;
  display: inline-block;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  align-self: flex-end;
  white-space: nowrap;
  background-size: 2.3125em auto;
}
.kvArea .lead .vertical {
  padding-bottom: 4px;
  writing-mode: horizontal-tb;
  line-height: 1;
  letter-spacing: -0.01em;
}
.kvArea .lead >  span {
  padding: 0 2px 10px 7px;
  position: relative;
}
.kvArea .circle {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  mix-blend-mode: overlay;
  display: block;
  z-index: 0;
  pointer-events: none;
  opacity: 0;
  animation: fade .3s  1s forwards linear;
}
@keyframes fade {
  0% {opacity:0;}
  100% {opacity:1;}
}
.kvArea .circle svg {
  width: 100vw;
  height: auto;
  max-width: 800px;
  min-width: 650px;
  animation: rotate 100s infinite linear;
}
@keyframes rotate {
  0% {transform: rotateZ(0deg);}
  100% {transform: rotateZ(360deg);}
}
@supports (-ms-ime-align:auto){
  .kvArea .circle {
    opacity: .2;
  }
  .kvArea .circle svg path {
    fill: #FFF;
  }
}

@media screen and (max-width:1000px) and (min-width:768px) {

}

@media screen and (max-width:767px) {
  .kvArea {
    height: 633px;
    min-height: 0;
    margin-bottom: 79px;
    position: relative;

    /*▼▼▼冬季のみコメントアウト▼▼▼*/
    /* background: url(../img/top/img_kv_top.jpg) no-repeat center / auto 100%; */
    /* ▲▲▲ここまで▲▲▲ */


    /* ▼▼▼冬季限定ホエール▼▼▼ */
    background: url(../img/top/img_kv_whale_sp.jpg) no-repeat 60% center / cover; 
    /* ▲▲▲ここまで▲▲▲ */

  }
  .kvArea .inner:after {
    content: "";
    width: 135.2vw;
    height: 42px;
    background: url(../img/common/img_bottom_bg.svg) no-repeat center / cover;
    position: absolute;
    top: calc(100% - 29px);
    left: 50%;
    transform: translateX(-50%);
  }
  .kvArea .inner {
    padding-top: 183px;
  }
  .kvArea .txtBox {
    padding: 0 20px;
    width: 100%;
    height: auto;
    flex-direction: column;
    align-items: center;
    position: absolute;
    left: 50%;
    top: 51.4%;
    transform: translate(-50%,-50%);
  }
  .kvArea .kvTit {
    width: 151px;
    height: auto;
    margin: 24px 10px 25px 0;

    /* ▼▼▼冬季限定ホエール▼▼▼ */
    text-shadow: 0 0 4px #FFF;
    /* ▲▲▲ここまで▲▲▲ */

    margin-bottom: 41px;
    justify-self: center;
  }
  .kvArea .kvTit span {
    font-family: "Kakushin Gyousho Medium";
    font-size: 5.5rem;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    white-space: nowrap;
  }
  .kvArea .kvTit span + span {
    margin: 65px 27px 0 0;
  }
  .kvArea .kvTit .big {
    font-size: 8rem;
    letter-spacing: -0.1em;
    line-height: 0.8;
  }
  .kvArea .limited {
    margin: 0;
  }
  /* 冬季限定ホエール */
  .kvArea .limited {
    padding: 2px 6px 5px;
    font-weight: bold;
    background: #1A1A1A;
    color: #FFF;
    font-size: 2.6rem;
    line-height: 1;
    -ms-writing-mode: horizontal-tb;
    writing-mode: horizontal-tb;
  } 
  /* ▲▲▲ここまで▲▲▲ */
  .kvArea .limited span {
    text-combine-upright: none;
    display: inline;
  }
  .kvArea .lead {
    width: calc(100% - 42px);
    margin: 0 21px;
    border-right: none;
    font-size: 1.3rem;
    line-height: 2.307692308;
    letter-spacing: 0;
    display: inline-block;
    -ms-writing-mode: tb-rl;
    writing-mode: horizontal-tb;
    align-self: flex-end;

    /*▼▼▼冬季のみコメントアウト▼▼▼*/
    /* background: linear-gradient(#fff 1px, transparent 1px);
    border-bottom: 1px solid #fff; */
    /* ▲▲▲ここまで▲▲▲ */

    /* ▲▲▲冬季限定ホエール▲▲▲ */
    background: linear-gradient(#1A1A1A 1px, transparent 1px);
    border-bottom: 1px solid #1A1A1A; 
    /* ▲▲▲ここまで▲▲▲ */

    background-size: auto 2.307692308em;
    border-left: none;
    white-space: normal;
  }
  .kvArea .lead .vertical {
    padding-bottom: 0;
    letter-spacing: 0;
  }
  .kvArea .lead >  span {
    padding: 0;
    position: relative;
  }
  .kvArea .circle svg {
    width: 100vw;
    max-width: 450px;
    min-width: 300px;
  }
}

@media screen and (max-width:350px) {
  .kvArea .kvTit {
    margin: 15px 10px 15px 0;
  }
  .kvArea .kvTit span {
    font-size: 4.5rem;
  }
  .kvArea .kvTit .big {
    font-size: 7rem;
  }
  /* 冬季限定ホエール */
  .kvArea .limited {
    font-size: 2rem;
  } 
  /* ▲▲▲ここまで▲▲▲ */
  .kvArea .lead {
    width: 100%;
    margin: 0 auto;
  }
}

/*インストラクター*/
.instructorArea {
  height: 472px;
  position: relative;
}
.instructorArea:before {
  content: "";
  width: 100%;
  height: calc(100% + 14.0625vw);
  background: url(../img/top/img_instractor_bg.png) no-repeat left 10% top / cover;
  position: absolute;
  left: 0;
  bottom: 0;
}
/* 冬季限定ホエール */
.instructorArea .scroll {
  display: none;
}
/* ▲▲▲ここまで▲▲▲ */

/*▼▼▼冬季のみコメントアウト▼▼▼*/
/* .instructorArea .scroll {
  font-size: 1rem;
  line-height: 1.6;
  position: absolute;
  left: 50%;
  top: -89px;
  transform: translateX(-50%);
  z-index: 10;
}
.instructorArea .scroll:before {
  content: "";
  position: absolute;
  width: 13px;
  height: 29px;
  border: 1px solid #36363c;
  border-radius: 13px;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
}
@keyframes anim_scroll {
  0% {
    transform: translate(-50%, 0px);
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  80% {
    transform: translate(-50%, 12px);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
.instructorArea .scroll:after {
  content: "";
  width: 5px;
  height: 5px;
  background: #36363c;
  border-radius: 50%;
  position: absolute;
  left: 50%;
  top: 26px;
  transform: translateX(-50%);
  animation: anim_scroll 2s infinite;
} */
/* ▲▲▲ここまで▲▲▲ */

.instructorArea .l-column {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  color: #fff;
}
.instructorArea .tit {
  font-family: "Kakushin Gyousho Medium";
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  position: absolute;
  left: 50%;
  top: 70px;
  transform: translateX(-55%);
  z-index: 10;
}
.instructorArea .tit .title {
  font-size: 3rem;
  line-height: 1;
  text-align: center;
}
.instructorArea .tit.winChrome .title {
  letter-spacing: -0.3em;
}
.instructorArea .tit .vertical {
  display: inline-block;
  transform: rotate(90deg);
}
.instructorArea .tit .name {
  margin-top: 54px;
  font-size: 5.1rem;
  line-height: 1.333333333;
  letter-spacing: 0.307em;
}
.instructorArea .tit.winChrome .name {
  letter-spacing: 0;
}
.instructorArea .txtBox {
  color: #fff;
  font-size: 1.6rem;
  line-height: 2.25;
  z-index: 1;
}
.instructorArea .txtBox {
  width: 391px;
  max-width: 39.1%;
  margin-top: 53px;
}
.instructorArea .txtBox .txt {
  margin-bottom: 32px;
  line-height: 2.25;
}
.instructorArea .txtBox .link {
  text-align: center;
}
.instructorArea .link a {
  width: 173px;
  padding-bottom: 5px;
  color: #fff;
  position: relative;
  transition: .3s;
}
.instructorArea .link a svg {
  position: absolute;
  right: 3px;
  top: 15px;
}
.link a {
  overflow: hidden;
  position: relative;
}
.link a:after {
  content: "";
  height: 1px;
  width: 100%;
  background: #fff;
  position: absolute;
  left: 0;
  bottom: 0;
  transition: .5s;
}
.link a:before {
  content: "";
  height: 1px;
  width: 100%;
  background: #fff;
  position: absolute;
  left: -140%;
  bottom: 0;
  transition: .5s;
}
.link a:hover:after {
  content: "";
  height: 1px;
  width: 100%;
  background: #fff;
  position: absolute;
  left: 140%;
  bottom: 0;
  transition: .5s;
}
.link a:hover:before {
  content: "";
  height: 1px;
  width: 100%;
  background: #fff;
  position: absolute;
  left: 0;
  bottom: 0;
  transition: .5s;
}

@media screen and (min-width:1280px) {

  /* ▼▼▼冬季限定ホエール▼▼▼ */
  .whaleArea {
    margin-top: 11vw;
  } 
  /* ▲▲▲ここまで▲▲▲ */

  /*▼▼▼冬季のみコメントアウト▼▼▼*/
  /* .instructorArea {
    margin-top: 20vw;
  }
  .instructorArea .scroll {
    position: absolute;
    left: 50%;
    top: -12vw;
    transform: translateX(-50%);
    z-index: 10;
  } */
  /* ▲▲▲ここまで▲▲▲ */
}

@media screen and (max-width:1000px) and (min-width:768px) {
  .instructorArea .l-column {
    height: 100%;
    padding-top: 0;
    align-items: center;
  }
  .instructorArea .tit {
    font-family: "Kakushin Gyousho Medium";
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    position: absolute;
    left: 50%;
    top: 70px;
    transform: translateX(-55%);
    z-index: 10;
  }
  .instructorArea .tit .title {
    font-size: 3rem;
    line-height: 1;
  }
  .instructorArea .tit .vertical {
    display: inline-block;
    transform: rotate(90deg);
  }
  .instructorArea .tit .name {
    margin-top: 54px;
    font-size: 5.1rem;
    line-height: 1.333333333;
    letter-spacing: 0.307em;
  }
  .instructorArea .txtBox {
    font-size: 1.6rem;
    line-height: 2.25;
  }
  .instructorArea .txtBox {
    width: 391px;
    max-width: 39.1%;
  }
  .instructorArea .txtBox .txt {
    margin-bottom: 32px;
  }
  .instructorArea .txtBox .link {
    text-align: center;
  }
  .instructorArea .link a {
    width: 173px;
    padding-bottom: 5px;
    color: #fff;
    position: relative;
    transition: .3s;
  }
  .instructorArea .link a svg {
    position: absolute;
    right: 3px;
    top: 15px;
  }
}

@media screen and (max-width:767px) {
  .instructorArea {
    height: auto;
    padding-top: 70px;
    margin-top: -70px;
    color: #fff;
    overflow: hidden;
    position: relative;
  }
  .instructorArea:before {
    background: none;
  }
  @keyframes anim_scroll {
    0% {
      transform: translate(-50%, 0px);
      opacity: 0;
    }
    40% {
      opacity: 1;
    }
    80% {
      transform: translate(-50%, 10px);
      opacity: 0;
    }
    100% {
      opacity: 0;
    }
  }
  .instructorArea .scroll {
    color: #36363c;
    position: absolute;
    left: 50%;
    top: 0px;
    transform: translateX(-50%);
    z-index: 10;
  }
  .instructorArea .scroll:before {
    height: 24px;
    border-radius: 3px;
  }
  .instructorArea .l-column {
    padding-top: 0;
    background: #000;
    display: block;
  }
  .instructorArea .tit {
    width: calc(100% + 30px);
    padding: 0 15px;
    height: 194px;
    margin: 0 -15px;
    writing-mode: horizontal-tb;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    position: static;
    left: 0;
    top: 0;
    transform: translateX(0);
  }
  .instructorArea .tit:before {
    content: "";
    width: calc(100% + 30px);
    height: 268px;
    background: url(../img/top/img_instractor_bg.png) no-repeat left 30% top / cover;
    position: absolute;
    bottom: 0;
    left: 0;
  }
  .instructorArea .tit .title {
    width: 170px;
    margin-bottom: 7px;
    font-size: 1.7rem;
    z-index: 1;
  }
  .instructorArea .tit .vertical {
    display: inline-block;
    transform: rotate(0deg);
  }
  .instructorArea .tit .name {
    width: 170px;
    margin-top: 0;
    font-size: 3.1rem;
    line-height: 1.290322581;
    letter-spacing: 0.307em;
    z-index: 1;
  }
  .instructorArea .txtBox {
    padding: 26px 0 39px;
    font-size: 1.5rem;
    line-height: 1.666666667;
  }
  .instructorArea .txtBox {
    width: 100%;
    max-width: 100%;
    margin-top: 0;
  }
  .instructorArea .txtBox .txt {
    margin-bottom: 25px;
  }
  .instructorArea .link a {
    width: 156px;
    padding-bottom: 13px;
  }
  .instructorArea .link a svg {
    top: 10px;
  }
}

/*サウスのファンダイビング*/
.funArea {
  padding: 174px 0 95px;
  background: url(../img/common/img_bg.png) repeat center / 112px;
  overflow: hidden;
}
.funArea a {
  transition: .3s;
}
.funArea .secTit {
  margin-bottom: 92px;
  font-size: 4rem;
  line-height: 1.15;
  text-align: center;
  position: relative;
  z-index: 1;
}
.funArea .secTit span {
  height: 46px;
  background: #fff;
  font-family: "Kakushin Gyousho Medium";
  display: inline-block;
}
.funArea .secTit:before {
  content: "";
  width: 158px;
  height: 156px;
  background: url(../img/top/img_fundivingTit_bg.png) no-repeat center / contain;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  z-index: -1;
}
.funArea .lead {
  margin-bottom: 41px;
  font-size: 1.8rem;
  line-height: 2.888888889;
  text-align: center;
}
.funArea .link {
  margin-bottom: 163px;
  text-align: center;
}
.funArea .link a {
  width: 290px;
  padding: 0 10px 11px 0;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 2.555555556;
  position: relative;
}
.funArea .link a svg {
  position: absolute;
  top: 48%;
  right: 4px;
  transform: translateY(-50%);
}
.funArea .link a:before {
  height: 2px;
  background: #36363c;
}
.funArea .link a:after {
  height: 2px;
  background: #36363c;
}
.commitmentArea .titBox {
  margin-bottom: 52px;
  background: url(../img/top/img_commitmentTit_bg.png) no-repeat center top 8px / 401px auto;
  display: flex;
  justify-content: center;
}
.commitmentArea .areaTit {
  font-family: "Kakushin Gyousho Medium";
  font-size: 3rem;
  line-height: 1;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-align: center;
  letter-spacing: -0.06em;
}
.commitmentBox {
  background: url(../img/top/img_commitment_bg.png) no-repeat center top / 1145px 1135px;
}
.commitmentBox .item {
  display: flex;
  justify-content: space-between;
}
.commitmentBox .item:nth-of-type(even) {
  flex-direction: row-reverse;
}
.commitmentBox .item .tit {
  color: #fff;
  font-family: "Kakushin Gyousho Medium";
  font-size: 6rem;
  line-height: 1.05;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: -0.04em;
  white-space: nowrap;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 1;
}
.commitmentBox .item .tit.winChrome {
  letter-spacing: -0.3em;
}
.original .tit span + span {
  margin-top: 77px;
}
.commitmentBox .original {
  padding-top: 9px;
  margin-bottom: 104px;
}
.commitmentBox .original .tit {
  margin: -79px 0  0 23px;
}
.commitmentBox .original .tit:before {
  content: "";
  width: 997px;
  height: 458px;
  background: url(../img/top/img_point_bg.png) no-repeat center / contain;
  position: absolute;
  top: -27px;
  right: -571px;
  z-index: -1;
}
.commitmentBox .item .txtBox {
  width: 393px;
  max-width: 39.3%;
  z-index: 10;
}
.commitmentBox .item .txtBox .txt {
  margin-bottom: 10px;
  font-size: 1.5rem;
  line-height: 2;
  position: relative;
}
.commitmentBox .item:nth-of-type(1) .txtBox .link {
  text-align: right;
}
.commitmentBox .item:nth-of-type(2) .txtBox .link,
.commitmentBox .item:nth-of-type(3) .txtBox .link {
  text-align: left;
}
.item .txtBox .link a {
   width: 263px;
   padding-right: 21px;
   text-align: center;
 }
.commitmentBox .drift {
  margin-bottom: 60px;
}
.drift .txtBox .link a {
  width: 294px;
}
.commitmentBox .drift .tit {
  margin-top: -103px;
}
.commitmentBox .drift .tit:before {
  content: "";
  width: 1234px;
  height: 488px;
  background: url(../img/top/img_drift_bg.png) no-repeat center / contain;
  position: absolute;
  top: -52px;
  right: -669px;
  z-index: -1;
}
.drift .tit span + span {
  margin-top: 52px;
}
.commitmentBox .safety .tit {
  margin: -32px 0 0 23px;
}
.safety .tit span + span {
  margin-top: 78px;
}
.commitmentBox .safety .tit:before {
  content: "";
  width: 960px;
  height: 475px;
  background: url(../img/top/img_safe_bg.png) no-repeat center / contain;
  position: absolute;
  top: -108px;
  right: -592px;
  z-index: -1;
}

@media screen and (max-width:1000px) and (min-width:768px) {
  .commitmentBox .original .tit:before {
    width: 99.6vw;
    height: 458px;
    top: -60px;
    right: -500px;
  }
  .commitmentBox .drift .tit:before {
    width: 145vw;
    height: 488px;
    top: -52px;
    right: -500%;
  }
  .commitmentBox .safety .tit:before {
    content: "";
    width: 96vw;
    height: 475px;
    top: -108px;
    right: -400%;
  }
}

@media screen and (max-width:767px) {
  .funArea {
    padding: 107px 0 76px;
    background: url(../img/common/img_bg.png) repeat center / 104px;
  }
  .funArea .secTit {
    margin-bottom: 58px;
    font-size: 2.2rem;
    line-height: 1.318181818;
  }
  .funArea .secTit span {
    height: 29px;
  }
  .funArea .secTit:before {
    width: 99px;
    height: 99px;
  }
  .funArea .lead {
    margin-bottom: 34px;
    font-size: 1.5rem;
    font-weight: normal;
    line-height: 1.666666667;
    text-align: left;
  }
  .funArea .link {
    margin-bottom: 118px;
    text-align: center;
  }
  .funArea .link a {
    width: 237px;
    padding: 0 10px 8px 0;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 2.555555556;
    position: relative;
  }
  .funArea .link a svg {
    width: 14px;
    height: 5px;
    top: 48%;
    right: 0;
    transform: translateY(-50%);
  }
  .funArea .link a:after {
    height: 1px;
    bottom: 0;
  }
  .commitmentArea .titBox {
    margin-bottom: 60px;
    background: url(../img/top/img_commitmentTit_bg.png) no-repeat center top 4px / 232px auto;
  }
  .commitmentArea .areaTit {
    font-size: 1.8rem;
    line-height: 1;
    text-align: center;
    letter-spacing: -0.06em;
  }
  .commitmentBox {
    background: none;
  }
  .commitmentBox .item {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
  }
  .commitmentBox .item:nth-of-type(even) {
    flex-direction: column;
  }
  .commitmentBox .item .tit {
    font-size: 2.6rem;
    line-height: 1.05;
    letter-spacing: -0.09em;
  }
  .commitmentBox .item .tit.winChrome {
    letter-spacing: -0.3em;
  }
  .original .tit span + span {
    margin-top: 37px;
  }
  .commitmentBox .original {
    padding-top: 9px;
    margin-bottom: 86px;
  }
  .commitmentBox .original .tit {
    margin: 0 auto 90px;
  }
  .commitmentBox .original .tit:before {
    width: 527px;
    height: 242px;
    top: 63%;
    left: 165%;
    right: auto;
    transform: translate(-50%,-50%);
  }
  .commitmentBox .item .txtBox {
    width: 100%;
    max-width: 100%;
    z-index: 10;
  }
  .commitmentBox .item .txtBox .txt {
    margin-bottom: 12px;
    font-size: 1.5rem;
    line-height: 1.666666667;
    position: relative;
  }
  .commitmentBox .item:nth-of-type(1) .txtBox .link {
    text-align: center;
  }
  .commitmentBox .item:nth-of-type(2) .txtBox .link,
  .commitmentBox .item:nth-of-type(3) .txtBox .link {
    text-align: center;
  }
  .commitmentBox .item .link {
    margin-bottom: 0;
  }
  .item .txtBox .link a {
     width: 190px;
     padding-right: 21px;
     text-align: center;
   }
  .commitmentBox .drift {
    margin-bottom: 98px;
  }
  .drift .txtBox .link a {
    width: 249px;
  }
  .commitmentBox .drift .tit {
    margin: 0 auto 87px;
  }
  .commitmentBox .drift .tit:before {
    width: 650px;
    height: 257px;
    top: 58%;
    right: auto;
    left: 213%;
    transform: translate(-50%,-50%);
  }
  .drift .tit span + span {
    margin-top: 25px;
  }
  .commitmentBox .safety .tit {
    margin: 0 auto 84px;
  }
  .safety .tit span + span {
    margin-top: 10px;
  }
  .safety .txtBox .link a {
    width: 242px;
  }
  .commitmentBox .safety .tit:before {
    width: 458px;
    height: 227px;
    top: 53%;
    right: auto;
    left: 113%;
    transform: translate(-50%,-50%);
  }
}

/*スタッフブログ*/
.blogArea {
  padding: 159px 0 0;

  /*▼▼▼冬季のみコメントアウト▼▼▼*/
  /* margin-bottom: 104px; */
  /* ▲▲▲ここまで▲▲▲ */

  /* ▼▼▼冬季限定ホエール▼▼▼ */
  margin-bottom: 130px; 
  /* ▲▲▲ここまで▲▲▲ */
}
.blogArea .secTit {
  margin-bottom: 96px;
  font-family: "Kakushin Gyousho Medium";
  font-size: 4rem;
  line-height: 1.5;
  text-align: center;
  position: relative;
}
.blogArea .secTit:before {
  content: "";
  width: 442px;
  height: 175.5px;
  background: url(../img/top/img_blogTit_bg.png) no-repeat center / contain;
  position: absolute;
  top: 26%;
  left: 50%;
  transform: translate(-50%,-50%);
}
.blogList {
  display: flex;
  margin: 0 -18px;
}
.blogList li {
  width: calc((100% - 108px) / 3);
  margin: 0 18px;
  font-family: Hiragino Sans,ヒラギノ角ゴシック;
  display: flex;
}
.blogList li a {
  width: 100%;
  display: flex;
  flex-direction: column;
}
.blogList li .img {
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: 11px;
  position: relative;
}
.blogList li .img:before {
  content: "";
  display: block;
  padding-top: 70.8737864%;
}
.blogList li .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
.blogList li .txtBox {
  display: flex;
  flex-direction: column;
  flex: 1;
  position: relative;
}
.blogList li .txtBox:before {
  content: "";
  position: absolute;
  left: 0;
  z-index: -1;
}
.blogList li:nth-of-type(3n + 1) .txtBox:before {
  width: 174px;
  height: 134px;
  background: url(../img/blog/img_blog_01_bg.png) no-repeat center  / contain;
  top: -30px;
}
.blogList li:nth-of-type(3n + 2) .txtBox:before {
  width: 185px;
  height: 134px;
  background: url(../img/blog/img_blog_02_bg.png) no-repeat center  / contain;
  top: -30px;
}
.blogList li:nth-of-type(3n + 3) .txtBox:before {
  width: 181px;
  height: 129px;
  background: url(../img/blog/img_blog_03_bg.png) no-repeat center  / contain;
  top: -36px;
}
.blogList li .date {
  font-size: 1rem;
  font-weight: bold;
  line-height: 2.6;
}
.blogList li .tit {
  margin-bottom: 5px;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.75;
}
.blogList li .txt {
  margin-bottom: 25px;
  font-size: 1.5rem;
  line-height: 1.866666667;
}
.blogList li .link {
  width: 100px;
  padding: 0 8px 5px 0;
  margin-top: auto;
  font-family: 'Noto Serif JP', serif;
  font-size: 1.2rem;
  line-height: 1.916666667;
  text-align: center;
  align-self: center;
  overflow: hidden;
  position: relative;
}
.blogList li .link:before {
  content: "";
  height: 1px;
  width: 100%;
  background: #36363c;
  position: absolute;
  left: -140%;
  bottom: 0;
  transition: .5s;
}
.blogList li .link:after {
  content: "";
  height: 1px;
  width: 100%;
  background: #36363c;
  position: absolute;
  left: 0;
  bottom: 0;
  transition: .5s;
}
.blogList li a:hover .link:after {
  left: 140%;
}
.blogList li a:hover .link:before {
  left: 0;
}
.blogList li .link svg {
  position: absolute;
  top: 46%;
  right: 3px;
  transform: translateY(-50%);
}

@media screen and (max-width:767px) {
  .blogArea {
    padding: 91px 0 0;
    margin-bottom: 78px;
  }
  .blogArea .secTit {
    margin-bottom: 57px;
    font-size: 2.2rem;
    line-height: 1.409090909;
  }
  .blogArea .secTit:before {
    width: 237px;
    height: 94px;
    top: 26%;
    left: 50%;
    transform: translate(-50%,-50%);
  }
  .blogList {
    margin: 0 -15px;
    padding-left: 15px;
    overflow: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .blogList::-webkit-scrollbar {
    display:none;
  }
  .blogList li {
    width: 225px;
    margin: 0;
    min-width: 225px;
  }
  .blogList li + li {
    margin-left: 25px;
  }
  .blogList li .img {
    border-radius: 5px;
    margin-bottom: 11px;
  }
  .blogList li .img img {
  }
  .blogList li .txtBox {
    display: flex;
    flex-direction: column;
    flex: 1;
    position: relative;
  }
  .blogList li .txtBox:before {
    content: "";
    position: absolute;
    left: -15px;
    z-index: -1;
  }
  .blogList li:nth-of-type(1) .txtBox:before,
  .blogList li:nth-of-type(4n) .txtBox:before {
    width: 129px;
    height: 99px;
    top: -25px;
  }
  .blogList li:nth-of-type(2) .txtBox:before {
    width: 137px;
    height: 99px;
    background: url(../img/blog/img_blog_02_bg.png) no-repeat center  / contain;
    top: -25px;
  }
  .blogList li:nth-of-type(3) .txtBox:before {
    width: 138px;
    height: 99px;
    background: url(../img/blog/img_blog_03_bg.png) no-repeat center  / contain;
    top: -30px;
  }
  .blogList li:last-of-type {
    margin-right: 15px;
  }
  .blogList li .tit {
    margin: -4px 0 7px;
    font-size: 1.5rem;
  }
  .blogList li .txt {
    margin-bottom: 20px;
    font-size: 1.3rem;
    line-height: 1.692307692;
  }
  .blogList li .link {
    margin-top: auto;
    text-align: center;
  }
  .blogList li .link a {
    width: 100px;
    padding: 0 8px 5px 0;
    font-size: 1.2rem;
    line-height: 1.916666667;
    font-family: 'Noto Serif JP', serif;
    position: relative;
  }
  .blogList li .link a:after {
    height: 1px;
    background: #36363c;
  }
  .blogList li .link a svg {
    position: absolute;
    top: 46%;
    right: 3px;
    transform: translateY(-50%);
  }
}
/* テレビ取材協力 */
.coverageArea {
  margin-bottom: 48px;
}
.coverageArea .bg {
  padding: 39px 35px 38px 34px;
  background-color: #FFF;
  border: 3px solid #DDDDDD;
  display: flex;
  position: relative;
}
.coverageArea .img {
  margin-right: 40px;
  width: 40%;
  max-width: 231px;
  display: flex;
  align-items: center;
  flex: 1 0 auto;
}
.coverageArea .img img {
  width: 100%;
  height: auto;
}
.coverageArea .titBox {
  position: relative;
}
.coverageArea .titBox:after {
  content: '';
  width: 358px;
  height: 95px;
  background: url(../img/top/img_coverage_bg.png) no-repeat center / contain;
  position: absolute;
  display: block;
  top: 0;
  left: 0;
}
.coverageArea .titBox .position {
  font-size: 1.8rem;
  font-weight: bold;
}
.coverageArea .titBox .tit {
  font-size: 3rem;
  font-weight: bold;
  line-height: 1.45;
  margin-top: -10px;
}
.coverageArea .titBox .tit span {
  font-size: 4.5rem;
}
.coverageArea .lead {
  font-size: 1.8rem;
  margin-top: 6px;
}
.coverageArea .txtBox .link {
  text-align: left;
  position: relative;
  z-index: 1;
  margin-top: 20px;
}
.coverageArea .txtBox .link a {
  width: 500px;
  padding: 1px 20px 3px 20px;
  color: #FFF;
  border: 1px solid #36363C;
  background: #36363c;
  font-size: 1.6rem;
  line-height: 2.3125;
  text-align: left;
  position: relative;
  transition: .3s;
  overflow: visible;
}
.coverageArea .txtBox .link.min a {
  width: auto;
}
.coverageArea .txtBox .link a svg {
  top: 48%;
  right: 20px;
  transform: translateY(-50%);
}
.coverageArea .txtBox .link a svg path {
  stroke: #FFF;
  transition: .3s;
}
.coverageArea .txtBox .link a:hover {
  background: transparent;
  color: #36363C;
}
.coverageArea .txtBox .link a:hover svg path {
  stroke: #36363C;
}
.coverageArea .txtBox .link a:before {
  content: '';
  background: url(../img/common/bg_style-01-lightbule.svg) repeat 55px/55px;
  width: 100%;
  height: 100%;
  position: absolute;
  display: block;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  z-index: 0;
  opacity: 0.04;
}
.coverageArea .txtBox .link a:after {
  display: none;
}
.coverageArea .txtBox .catchyLogo {
  padding: 11px 11px 13px;
  background: #FFF;
  border: 1px solid #36363C;
  position: absolute;
  box-sizing: content-box;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 4px;
  transition: .3s;
}
.coverageArea a:hover .catchyLogo {
  top: 40%;
}
@media screen and (max-width:767px) {
  .coverageArea .bg {
    padding: 35px 15px 30px;
    flex-direction: column;
    align-items: center;
  }
  .coverageArea .img {
    margin: 0 0 20px;
    width: 55%;
    max-width: 200px;
  }
  .coverageArea .titBox .position {
    font-size: 1.5rem;
    font-weight: bold;
  }
  .coverageArea .titBox:after {
  width: 100%;
  height: 100px;
}
  .coverageArea .titBox .tit {
    font-size: 2.6rem;
    line-height: 1.3;
    margin-top: -3px;
  }
  .coverageArea .titBox .tit span {
    font-size: 3.5rem;
  }
  .coverageArea .lead {
    font-size: 1.5rem;
    margin-top: 15px;
  }
  .coverageArea .txtBox .link a {
    width: 100%;
    line-height: 1.5;
    padding: 11px 16px 13px 16px;
    font-size: 1.5rem;
  }
  .coverageArea .txtBox .catchyLogo {
    width: 70px;
    height: 24px;
  }
}

/* チャーターエリア */
.charterArea {
  margin-bottom: 48px;
}

/* 冬季限定ホエール */
.charterArea {
  margin-bottom: 90px;
} 
/* ▲▲▲ここまで▲▲▲ */

.charterArea .bg {
  padding: 35px 35px 35px 34px;
  background-color: #006F7E;
  display: flex;
  justify-content: space-between;
  position: relative;
}
.charterArea .bg:before {
  content: "";
  width: 100%;
  height: 100%;
  background: url(../img/common/img_bg.png) repeat center / 153px;
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0.02;
}
.charterArea .bg .txtBox {
  margin: 27px  60px 0 0;
  color: #fff;
}
.charterArea .txtBox .tit {
  margin-bottom: 17px;
  font-size: 2.9rem;
  font-weight: bold;
  line-height: 1.448275862;
}
.charterArea .txtBox .link {
  padding-right: 7px;
  text-align: left;
  position: relative;
  z-index: 1;
}
.charterArea .txtBox .link a {
  width: 170px;
  padding: 2px 20px 2px 24px;
  color: #006F7E;
  border: 1px solid #fff;
  background: #fff;
  font-size: 1.6rem;
  line-height: 2.3125;
  text-align: left;
  position: relative;
  transition: .3s;
}
.charterArea .txtBox .link a svg {
  position: absolute;
  top: 48%;
  right: 20px;
  transform: translateY(-50%);
}
.charterArea .txtBox .link a svg path {
  stroke: #006F7E;
  transition: .3s;
}
.charterArea .txtBox .link a:hover {
  background: transparent;
  color: #fff;
}
.charterArea .txtBox .link a:hover svg path {
  stroke: #fff;
}
.charterArea .txtBox .link a:before {
  display: none;
}
.charterArea .img img {
  width: 100%;
  min-height: 248px;
  object-fit: cover;
}
@media screen and (max-width:767px) {
  .charterArea {
    margin-bottom: 40px;
  }
  .charterArea .bg {
    padding: 15px 15px 30px 15px;
    flex-direction: column-reverse;
    justify-content: flex-start;
  }
  .charterArea .bg:before {
    background: url(../img/common/img_bg.png) repeat center / 112px;
  }
  .charterArea .bg .txtBox {
    width: 100%;
    max-width: 100%;
    margin: 18px 0 0 0;
  }
  .charterArea .txtBox .tit {
    margin-bottom: 18px;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.448275862;
  }
  .charterArea .txtBox .link {
    padding-right: 7px;
    text-align: center;
  }
  .charterArea .txtBox .link a {
    width: 165px;
    padding: 2px 20px 2px 24px;
    font-size: 1.5rem;
    line-height: 2.133333333;
  }
  .charterArea .bg .img {
    max-width: 100%;
    height: 50vw;
  }
  .charterArea .bg .img img {
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
  }
}

/*ホエールエリア*/
.whaleArea {
  /*▼▼▼冬季のみコメントアウト▼▼▼*/
  /* margin-bottom: 158px; */
  /* ▲▲▲ここまで▲▲▲ */

  /* ▼▼▼冬季限定ホエール▼▼▼ */
  margin-bottom: 130px;
  position: relative; 
  /* ▲▲▲ここまで▲▲▲ */
}

/*▼▼▼冬季のみコメントアウト▼▼▼*/
/* .whaleArea .scroll {
    display: none;
} */
  /* ▲▲▲ここまで▲▲▲ */

/* ▼▼▼冬季限定ホエール▼▼▼ */
.whaleArea .scroll {
  font-size: 1rem;
  line-height: 1.6;
  position: absolute;
  left: 50%;
  top: -89px;
  transform: translateX(-50%);
  z-index: 10;
}
.whaleArea .scroll:before {
  content: "";
  position: absolute;
  width: 13px;
  height: 29px;
  border: 1px solid #36363c;
  border-radius: 13px;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
}
@keyframes anim_scroll {
  0% {
    transform: translate(-50%, 0px);
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  80% {
    transform: translate(-50%, 12px);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
.whaleArea .scroll:after {
  content: "";
  width: 5px;
  height: 5px;
  background: #36363c;
  border-radius: 50%;
  position: absolute;
  left: 50%;
  top: 26px;
  transform: translateX(-50%);
  animation: anim_scroll 2s infinite;
}  
/* ▲▲▲ここまで▲▲▲ */

.whaleArea .bg {
  padding: 35px 35px 35px 135px;
  background-color: #11325f;
  display: flex;
  justify-content: space-between;
  position: relative;
}
.whaleArea .bg:before {
  content: "";
  width: 100%;
  height: 100%;
  background: url(../img/common/img_bg.png) repeat center / 153px;
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0.02;
}
.whaleArea .bg .limited {
  width: 62px;
  padding: 57px 0 15px;
  background: #fff;
  color: #11325f;
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 1.153846154;
  letter-spacing: 0.15em;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  display: flex;
  align-items: center;
  position: absolute;
  top: 0;
  left: 35px;
}
.whaleArea .bg .limited img {
  position: absolute;
  left: 50%;
  top: 14px;
  transform: translate(-50%);
}
.whaleArea .bg .txtBox {
  width: 409px;
  max-width: 49.1586538%;
  margin-top: 27px;
  color: #fff;
}
.whaleArea .txtBox .tit {
  margin-bottom: 17px;
  font-size: 2.9rem;
  font-weight: bold;
  line-height: 1.448275862;
}
.whaleArea .txtBox .txt {
  margin-bottom: 19px;
  font-size: 1.5rem;
  line-height: 1.733333333;
}
.whaleArea .txtBox .link {
  padding-right: 7px;
  text-align: left;
  position: relative;
  z-index: 1;
}
.whaleArea .txtBox .link a {
  width: 170px;
  padding: 2px 20px 2px 24px;
  color: #11325F;
  border: 1px solid #fff;
  background: #fff;
  font-size: 1.6rem;
  line-height: 2.3125;
  text-align: left;
  position: relative;
  transition: .3s;
}
.whaleArea .txtBox .link a svg {
  position: absolute;
  top: 48%;
  right: 20px;
  transform: translateY(-50%);
}
.whaleArea .txtBox .link a svg path {
  stroke: #11325F;
  transition: .3s;
}
.whaleArea .txtBox .link a:hover {
  background: transparent;
  color: #fff;
}
.whaleArea .txtBox .link a:hover svg path {
  stroke: #fff;
}
.whaleArea .txtBox .link a:before {
  display: none;
}
.whaleArea .txtBox .link a:after {
  display: none;
}
.whaleArea .bg .img {
  max-width: 41.5662651%;
}
.whaleArea .bg .img img {
  width: 100%;
  height: auto;
}

@media screen and (min-width:1280px) {
  /* ▼▼▼冬季限定ホエール▼▼▼ */
  .whaleArea .scroll {
    position: absolute;
    left: 50%;
    top: -7.3vw;
    transform: translateX(-50%);
    z-index: 10;
  } 
  /* ▲▲▲ここまで▲▲▲ */
}

@media screen and (max-width:767px) {
  .whaleArea {
    margin-bottom: 65px;
  }
  .whaleArea .bg {
    padding: 15px 15px 30px 15px;
    background-color: #11325f;
    display: flex;
    flex-direction: column-reverse;
    justify-content: flex-start;
    position: relative;
  }
  .whaleArea .bg:before {
    background: url(../img/common/img_bg.png) repeat center / 112px;
  }
  .whaleArea .bg .limited {
    width: 44px;
    padding: 35px 0 9px;
    font-size: 1.6rem;
    line-height: 1.153846154;
    letter-spacing: 0.15em;
    left: 31px;
  }
  .whaleArea .bg .limited img {
    width: 15px;
    height: 20px;
    left: 50%;
    top: 9px;
  }
  .whaleArea .bg .txtBox {
    width: 100%;
    max-width: 100%;
    margin-top: 18px;
  }
  .whaleArea .txtBox .tit {
    margin-bottom: 13px;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.448275862;
  }
  .whaleArea .txtBox .txt {
    margin-bottom: 18px;
    font-size: 1.5rem;
    line-height: 1.666666667;
  }
  .whaleArea .txtBox .link {
    padding-right: 7px;
    text-align: center;
  }
  .whaleArea .txtBox .link a {
    width: 165px;
    padding: 2px 20px 2px 24px;
    font-size: 1.5rem;
    line-height: 2.133333333;
  }
  .whaleArea .bg .img {
    max-width: 100%;
    height: 68.8vw;
  }
  .whaleArea .bg .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  /* ▼▼▼冬季限定ホエール▼▼▼ */
  .whaleArea .scroll {
    color: #36363c;
    position: absolute;
    left: 50%;
    top: -70px;
    transform: translateX(-50%);
    z-index: 10;
  }
  .whaleArea .scroll:before {
    height: 24px;
    border-radius: 3px;
  } 
  /* ▲▲▲ここまで▲▲▲ */
}

/*メニューエリア*/
.menuArea {
  margin-bottom: 50px;
}
.menuArea .menuList {
  display: flex;
  justify-content: space-between;
}
.menuArea .menuList li {
  width: calc((100% - 74px) / 3);
  position: relative;
}
.menuArea .menuList .img {
  overflow: hidden;
}
.menuArea .menuList .img img {
  width: 100%;
  height: auto;
  transition: .5s;
}
.menuArea .menuList a:hover .img img {
  transform: scale(1.05);
}
.menuArea .menuList .tit {
  width: 57px;
  height: 217px;
  padding: 19px 0 10px;
  background: #153562;
  color: #fff;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.1em;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  display: flex;
  align-items: center;
  position: absolute;
  top: -41px;
  right: 12px;
  z-index: 1;
}
.menuArea .menuList .tit:before {
  content: "";
  width: 100%;
  height: 100%;
  background: url(../img/common/img_bg.png) repeat center / 50px;
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0.02;
}
.menuArea .menuList .txt {
  width: 84.5860194%;
  padding: 16px 18px;
  background: linear-gradient(rgba(255, 255, 255, 0.9) 0%, #fff 100%);
  margin-top: -64px;
  font-size: 1.5rem;
  line-height: 1.866666667;
  position: relative;

}

@media screen and (max-width:999px) {
  .menuArea .menuList .txt {
    width: 84.5860194%;
    padding: 16px 18px;
    background-color: rgba(255,255,255,0.9);
    margin-top: -5.4vw;
    font-size: 1.5rem;
    line-height: 1.866666667;
    position: relative;
  }
}

@media screen and (max-width:767px) {
  .menuArea {
    margin-bottom: 40px;
  }
  .menuArea .menuList {
    display: block;
  }
  .menuArea .menuList li {
    width: 100%;
  }
  .menuArea .menuList li a {
    width: 100%;
  }
  .menuArea .menuList li + li {
    margin-top: 31px;
  }
  .menuArea .menuList .img {
    width: 100%;
    height: 52vw;
    margin-bottom: 10px;
  }
  .menuArea .menuList .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .menuArea .menuList .tit {
    height: 141px;
    width: 40px;
    padding: 8px 0;
    font-size: 1.6rem;
    letter-spacing: 0.1em;
    top: 0;
    right: 20px;
  }
  .menuArea .menuList .txt {
    width: 100%;
    padding: 0;
    margin-top: 0;
  }
}
/*　たびいろバナー */
.banArea {
  margin-bottom: 91px;
}
.banArea img {
  width: 100%;
  height: auto;
}
@media screen and (max-width:767px) {
  .banArea {
    margin-bottom: 70px;
  }
}
/*コンタクトエリア*/
.contactArea {
  padding: 88px 0 72px;
  background-color: #29292e;
  color: #fff;
  position: relative;
}
.contactArea:before {
  content: "";
  width: 100%;
  height: 100%;
  background: url(../img/common/img_bg.png) repeat center / 153px;
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0.02;
}
.contactArea .l-column {
  display: flex;
}
.contactArea .l-column > div {
  width: 50%;
  padding: 0 10px;
  text-align: center;
}
.contactArea .l-column > div + div {
  margin-left: 43px;
}
.contactArea .tit {
  margin-bottom: 36px;
  color: #36363c;
  font-family: "Kakushin Gyousho Medium";
  font-size: 2rem;
  position: relative;
  z-index: 1;
}
.contactArea .tit:before {
  content: "";
  position: absolute;
  transform: translate(-50%,-50%);
  z-index: -1;
}
.contactArea .contactBox .tit:before {
  width: 227px;
  height: 62px;
  background: url(../img/top/img_contactTit_bg.png) no-repeat center / contain;
  top: 59%;
  left: 52%;
}
.contactArea .reserveBox .tit:before {
  width: 233px;
  height: 56px;
  background: url(../img/top/img_reservetTit_bg.png) no-repeat center / contain;
  top: 50%;
  left: 52%;
}
.contactArea .txt {
  margin-bottom: 31px;
  font-size: 1.5rem;
  line-height: 1.866666667;
}
.contactArea .link {
  width: 100%;
  margin-top: -20px;
  display: flex;
  justify-content: center;
}
.contactArea .link a {
  width: 205px;
  padding: 5px 0 16px 0;
  margin: 15px 13px 0;
  color: #fff;
  font-family: Hiragino Sans,ヒラギノ角ゴシック;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.533333333;
  position: relative;
}
.contactArea .link .tel {
  padding-left: 31px;
}
.contactArea .link .contact {
  padding-right: 31px;
}
.contactArea .link .reserve {
  padding-right: 26px;
}
.contactArea .link a svg {
  position: absolute;
  top: 37%;
  transform: translateY(-50%);
}
.contactArea .link .tel svg {
  top: 40%;
  left: 21px;
}
.contactArea .link .contact svg {
  top: 36%;
  right: 7px;
}
.contactArea .link .reserve svg {
  top: calc(33% + 2px);
  right: 8px;
}
.formError {
  z-index: 10 !important;
}

@media screen and (max-width:999px) {
  .contactArea .link {
    flex-wrap: wrap;
  }
}

@media screen and (max-width:767px) {
  .contactArea {
    padding: 59px 0 69px;
  }
  .contactArea:before {
    background: url(../img/common/img_bg.png) repeat center / 111px;
  }
  .contactArea .l-column {
    flex-direction: column;
    align-items: center;
  }
  .contactArea .l-column > div {
    width: 100%;
    padding: 0;
    text-align: center;
  }
  .contactArea .l-column > div + div {
    margin: 75px 0 0 0;
  }
  .contactArea .tit {
    margin-bottom: 34px;
    font-size: 1.8rem;
  }
  .contactArea .contactBox .tit:before {
    width: 188px;
    height: 51px;
    top: 56%;
    left: 50%;
  }
  .contactArea .reserveBox .tit:before {
    width: 193px;
    height: 46px;
    top: 42%;
    left: 50%;
  }
  .contactArea .txt {
    margin-bottom: 31px;
    font-size: 1.4rem;
    line-height: 2;
  }
  .contactArea .link {
    width: 100%;
    margin-top: -35px;
    display: flex;
    justify-content: center;
  }
  .contactArea .link a {
    width: 205px;
    padding-bottom: 13px;
    margin: 35px 13px 0;
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1.5;
    position: relative;
  }
  .contactArea .link a + a {
  }
  .contactArea .link a:after {
    height: 1px;
    background: #fff;
  }
  .contactArea .link .tel {
    padding-left: 31px;
  }
  .contactArea .link .contact {
    padding-right: 19px;
  }
  .contactArea .link .reserve {
    padding-right: 26px;
  }
  .contactArea .link a svg {
    position: absolute;
    top: 29%;
    transform: translateY(-50%);
  }
  .contactArea .link .tel svg {
    left: 25px;
  }
  .contactArea .link .contact svg {
    top: 36%;
    right: 7px;
  }
  .contactArea .link .reserve svg {
    top: 33%;
    right: 8px;
  }
}


/*フッター*/
.footer {
  padding-top: 75px;
  position: relative;
  overflow: hidden;
}
.footer a {
  transition: .3s;
}
.footer a:hover {
  opacity: 0.7;
}
.footer:before {
  content: "";
  width: calc(100% + 40px);
  height: 104px;
  background: url(../img/common/img_footer_bg.png) no-repeat center / contain;
  position: absolute;
  left: 50%;
  bottom: -2px;
  transform: translateX(-50%);
}
.footer .flexBox {
  margin-bottom: 68px;
  display: flex;
  justify-content: space-between;
}
.footer .info .logo {
  margin-bottom: 10px;
}
.footer .info .ltd {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 15px;
}
.footer .info .address {
  margin-bottom: 25px;
  font-size: 1.4rem;
  line-height: 2;
}
.footer .info .snsList {
  display: flex;
}
.footer .snsList li + li {
  margin-left: 22px;
}
.footer .flexBox .footerMenu {
  margin-top: 7px;
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
}
.footer .footerMenu li {
  letter-spacing: 0.1em;
  display: flex;
  flex-direction: row-reverse;
}
.footer .footerMenu li a {
  width: 15px;
  font-size: 1.5rem;
  line-height: 1;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
.footer .footerMenu > li + li {
  margin-right: 34px;
}
.footer .footerMenu li .subMenu {
  margin-right: 19px;
  display: flex;
  flex-direction: row-reverse;
}
.footerMenu .subMenu {
  margin-top: 32px;
}
.footerMenu .subMenu li {
  width: 15px;
  position: relative;
}
.footerMenu .subMenu li:before {
  content: "";
  width: 1px;
  height: 10px;
  background: #d6d6d6;
  position: absolute;
  top: -15px;
  left: 50%;
  transform: translateY(-50%);
}
.footerMenu .subMenu li + li {
  margin-right: 16px;
}
.footerMenu .subMenu li .vertical {
  text-combine-upright: all;
  display: inline-block;
}
.footer .copy {
  margin-bottom: 47px;
  font-family: Hiragino Sans,ヒラギノ角ゴシック;
  font-size: 1rem;
  line-height: 1.7;
  text-align: right;
}
.footer .powered {
  padding: 20px 0;
  background: #29292e;
  text-align: center;
  position: relative;
}
.footer .powered a {
  font-family: Hiragino Sans,ヒラギノ角ゴシック;
  font-weight: 300;
  color: #fff;
  font-size: 1.2rem;
  line-height: 1.7;
}
.footer .powered a img {
  margin-left: 10px;
}
.footer .powered a:hover {
  text-decoration: none;
}

@media screen and (max-width:767px) {
  .footer {
    padding-top: 48px;
  }
  .footer:before {
    width: calc(100% + 155px);
    height: 40px;
    background: url(../img/common/img_footer_bg.png) no-repeat center / contain;
    left: 50%;
    bottom: 21px;
  }
  .footer .flexBox {
    margin-bottom: 30px;
    flex-direction: column-reverse;
    justify-content: flex-start;
    align-items: center;
  }
  .footer .info {
    text-align: center;
  }
  .footer .info .logo {
    width: 200px;
    margin: 0 auto 10px;
  }
  .footer .info .logo img {
    width: 100%;
    height: auto;
  }
  .footer .info .address {
    margin-bottom: 20px;
  }
  .footer .info .snsList {
    width: 202px;
    display: flex;
    justify-content: space-between;
  }
  .footer .snsList li + li {
    margin-left: 22px;
  }
  .footer .snsList .twitter svg {
    width: 33px;
    height: 27px;
  }
  .footer .snsList .line svg {
    width: 27px;
    height: 29px;
  }
  .footer .snsList .facebook svg {
    width: 29px;
    height: 29px;
  }
  .footer .snsList .instagram svg {
    width: 29px;
    height: 29px;
  }
  .footer .flexBox .footerMenu {
    margin: -22px 0 52px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
  }
  .footer .footerMenu li {
    width: auto;
    margin: 22px 25px 0 0;
    letter-spacing: 0;
    display: flex;
    flex-direction: column;
  }
  .footer .footerMenu li.block {
    width: 100%;
  }
  .footer .footerMenu li a {
    width: auto;
    font-size: 1.2rem;
    line-height: 1;
    writing-mode: horizontal-tb;
  }
  .footer .footerMenu > li + li {
    margin-right: 25px;
  }
  .footer .footerMenu li .subMenu {
    margin-right: 19px;
    display: flex;
    flex-direction: column;
  }
  .footerMenu .subMenu {
    margin: 0 0 0 25px;
  }
  .footerMenu .subMenu li {
    width: auto;
  }
  .footerMenu .subMenu li:before {
    width: 14px;
    height: 1px;
    top: 50%;
    left: -22px;
    transform: translateY(-50%);
  }
  .footerMenu .subMenu li + li {
    margin-right: 16px;
  }
  .footerMenu .subMenu li .vertical {
    text-combine-upright: all;
    display: inline-block;
  }
  .footer .copy {
    margin-bottom: 40px;
    font-family: Hiragino Sans,ヒラギノ角ゴシック;
    font-size: 1rem;
    line-height: 1.7;
    text-align: center;
  }
  .footer .powered {
    padding: 12px 0;
    background: #29292e;
    text-align: center;
    position: relative;
  }
  .footer .powered a {
    color: #fff;
    font-size: 1rem;
    line-height: 1.7;
  }
  .footer .powered a:hover {
    text-decoration: none;
  }
}


/* ===========================================
ショップ
=========================================== */
/*ショップエリア*/
.shopArea {
  margin-bottom: 75px;
}
.shop .innerKvArea {
  background: url(../img/shop/img_kv.jpg) no-repeat center / cover;
}
.shopArea .flexBox {
  height: 470px;
  display: flex;
  align-items: center;
  position: relative;
}
.shopArea .flexBox + .flexBox {
  margin-top: 72px;
}
.shopArea .flexBox:nth-of-type(even) {
  flex-direction: row-reverse;
}
.shopArea .flexBox .txtBox {
  width: 43%;
}
.shopArea .flexBox .tit {
  margin-bottom: 20px;
  font-size: 2.4em;
  font-weight: bold;
  line-height: 1.5;
}
.shopArea .flexBox .txt {
  font-size: 1.5rem;
  line-height: 1.866666667;
}
.shopArea .flexBox .img {
  width: calc(50vw + 1%);
  height: 100%;
  position: absolute;
}
.shopArea .flexBox:nth-of-type(odd) .img {
  left: calc(43% + 6%);
}
.shopArea .flexBox:nth-of-type(even) .img {
  right: calc(43% + 6%);
}
.shopArea .flexBox .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.shipDetail {
  width: 81%;
  padding: 32px 0 32px 79px;
  margin: -24px auto 0;
  background: rgba(253,253,253,0.9);
  position: relative;
  z-index: 1;
}
.shipDetail .tit {
  width: 46px;
  padding: 13px 0 13px;
  background: #36363c;
  color: #fff;
  font-size: 1.8rem;
  line-height: 1.111111111;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.11em;
  white-space: nowrap;
  display: flex;
  align-items: center;
  position: absolute;
  top: 0;
  left: 26px;
}
.shipDetail dl {
  margin-top: -23px;
  font-size: 1.5rem;
  line-height: 1.866666667;
  display: flex;
  flex-wrap: wrap;
}
.shipDetail dl div {
  margin: 23px 27.5px 0;
  display: flex;
}
.shipDetail dl dt {
  margin-right: 26px;
  white-space: nowrap;
}
.shipDetail dl dt {
  font-weight: bold;
}

@media screen and (max-width:767px) {
  .shopArea {
    margin-bottom: 50px;
  }
  .shopArea .flexBox {
    height: auto;
    display: block;
  }
  .shopArea .flexBox + .flexBox {
    margin-top: 50px;
  }
  .shopArea .flexBox .txtBox {
    width: 100%;
    margin-bottom: 20px;
  }
  .shopArea .flexBox .tit {
    margin-bottom: 20px;
    font-size: 2.2rem;
  }
  .shopArea .flexBox .img {
    width: 100%;
    height: auto;
    position: static;
  }
  .shopArea .flexBox:nth-of-type(odd) .img {
    left: auto;
  }
  .shopArea .flexBox:nth-of-type(even) .img {
    right: auto;
  }
  .shopArea .flexBox .img img {
    width: 100%;
    height: auto;
    object-fit: fill;
  }
  .shipDetail {
    width: 90%;
    padding: 25px 0 25px 55px;
    margin: -24px auto 0;
  }
  .shipDetail .tit {
    width: 35px;
    padding: 13px 0 13px;
    font-size: 1.5rem;
    letter-spacing: 0.07em;
    display: flex;
    align-items: center;
    left: 15px;
  }
  .shipDetail dl {
    margin-top: -15px;
    display: block;
  }
  .shipDetail dl div {
    margin: 15px 15px 0;
    display: block;
  }
  .shipDetail dl dt {
    margin-right: 20px;
  }
}

/*サウスのおもてなし*/
.hospitalityArea {
  padding: 99px 0 75px;
  margin-bottom: 103px;
  background: url(../img/common/img_bg.png) repeat center / 153px;
}
.hospitalityArea .secTit {
  margin-bottom: 75px;
}
.hospitalityList {
  margin-top: -21px;
  display: flex;
  flex-wrap: wrap;
}
.hospitalityList li {
  width: calc((100% - 51px) / 3);
  padding: 26px 24px 22px;
  margin-top: 21px;
  border: 1px solid #DDDDDD;
  border-radius: 6px;
  background: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.hospitalityList li + li {
  margin-left: 25px;
}
.hospitalityList li:nth-of-type(3n + 1) {
  margin-left: 0;
}
.hospitalityList li .tit {
  margin-bottom: 16px;
  color: #11325f;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.666666667;

}
.hospitalityList li .ico {
  height: 60px;
  margin-bottom: 13px;
  display: flex;
  align-items: center;
}
.hospitalityList li .txt {
  font-size: 1.5rem;
  line-height: 1.866666667;
}
.hospitalityArea .hospitalityList {
  margin-bottom: 57px;
}
.handlingBox .boxTit  {
  margin-bottom: 27px;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.625;
  text-align: center;
}
.handlingList {
  margin-bottom: 45px;
  display: flex;
  justify-content: space-between;
}
.handlingList .item {
  width: 31.7%;
  padding: 22px 20px;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 6px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.handlingList .wide {
  width: 65.9%;
  display: flex;
  flex-direction: row;
}
.handlingList .wide .advance,
.handlingList .wide .after {
  width: calc((100% - 7.141882%) / 2);
  display: flex;
  flex-direction: column;
  align-items: center;
}
.handlingList .wide .after {
  margin-left: 7.141882%;
  position: relative;
}
.handlingList .wide .after:before {
  content: "";
  width: 2px;
  height: 100%;
  background: #f8f8f8;
  position: absolute;
  top: 0;
  left: -8.070941%;
}
.handlingList .item .tit {
  margin-bottom: 8px;
  color: #11325f;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 2.166666667;
}
.handlingList .item .ico {
  height: 77px;
  margin-bottom: 1px;
  display: flex;
  align-items: center;
}
.handlingList .item .txt {
  font-size: 1.5rem;
  line-height: 1.866666667;
  text-align: center;
}
.hospitalityArea .attention {
  font-size: 1.5rem;
  line-height: 1.866666667;
  text-align: center;
}

@media screen and (max-width:767px) {
  .hospitalityArea {
    padding: 70px 0 50px;
    margin-bottom: 80px;
    background: url(../img/common/img_bg.png) repeat center / 100px;
  }
  .hospitalityArea .secTit {
    margin-bottom: 60px;
  }
  .hospitalityList {
    margin-top: -21px;
    flex-direction: column;
    align-items: center;
  }
  .hospitalityList li {
    width: 90%;
  }
  .hospitalityList li + li {
    margin: 21px 0 0 0;
  }
  .hospitalityList li .ico {
    height: 60px;
    margin-bottom: 13px;
    display: flex;
    align-items: center;
  }
  .hospitalityArea .hospitalityList {
    margin-bottom: 57px;
  }
  .handlingBox .boxTit  {
    margin-bottom: 20px;
    font-size: 2.2rem;
  }
  .handlingList {
    margin-bottom: 40px;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
  }
  .handlingList .item {
    width: 90%;
    padding: 22px 20px;
  }
  .handlingList .item + .item {
    margin-top: 20px;
  }
  .handlingList .wide {
    width: 90%;
    flex-direction: column;
  }
  .handlingList .wide .advance,
  .handlingList .wide .after {
    width: 100%;
  }
  .handlingList .wide .after {
    margin-top: 30px;
  }
  .handlingList .wide .after:before {
    width: 100%;
    height: 2px;
    top: -15px;
    left: 0;
  }
  .handlingList .item .tit {
    margin-bottom: 8px;
    color: #11325f;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 2.166666667;
  }
  .hospitalityArea .attention {
    text-align: left;
  }
}

/*集合場所*/
.placeArea {
  margin-bottom: 89px;
}
.placeArea .secTit {
  margin-bottom: 79px;
}
.placeMap {
  padding: 38px 25px 20px;
  margin-bottom: 47px;
  border: 3px solid #36363c;
  background: url(../img/common/img_bg.png) repeat center / 152px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  position: relative;
}
.placeMap .address {
  padding: 20px 25px 19px 17px;
  background: #36363c;
  display: flex;
  position: absolute;
  left: 0;
  top: 0;
}
.placeMap .address .txtBox {
  margin-left: 16px;
  color: #fff;
  font-family: Hiragino Sans,ヒラギノ角ゴシック;
}
.placeMap .address .tit {
  margin-bottom: 9px;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.111111111;
}
.placeMap .address .txt {
  font-size: 1.5rem;
  line-height: 1.333333333;
}
.placeMap .img:nth-of-type(1) {
  width: 24.631578947%;
  margin-bottom: 7px;
}
.placeMap .img:nth-of-type(2) {
  width: 72.184211%;
}
.placeMap .img img {
  width: 100%;
  height: auto;
}
.placeArea .link {
  text-align: center;
}
.placeArea .link a {
  width: 234px;
  padding: 0 5px 9px 0;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 2.3125;
}
.placeArea .link a svg {
  position: absolute;
  right: 2px;
  top: 39%;
  transform: translateY(-50%);
}
.placeArea .link a:before,
.placeArea .link a:after {
  background: #36363c;
}

@media screen and (max-width:767px) {
  .placeArea {
    margin-bottom: 70px;
  }
  .placeArea .secTit {
    margin-bottom: 70px;
  }
  .placeMap {
    padding: 0 15px 15px;
    margin-bottom: 47px;
    border: 3px solid #36363c;
    background: url(../img/common/img_bg.png) repeat center / 100px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    position: relative;
    flex-direction: column;
  }
  .placeMap .address {
    width: calc(100% + 30px);
    padding: 15px 20px 14px 12px;
    margin: 0 -15px 15px;
    position: static;
  }
  .placeMap .address svg {
    width: 23.736px;
    height: auto;
  }
  .placeMap .address .txtBox {
    margin-left: 16px;
    color: #fff;
    font-family: Hiragino Sans,ヒラギノ角ゴシック;
  }
  .placeMap .address .tit {
    margin-bottom: 5px;
    font-size: 1.6rem;
  }
  .placeMap .img:nth-of-type(1) {
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
    margin-bottom: 15px;
    position: relative;
  }
  .placeMap .img:nth-of-type(1) img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 84%;
    position: absolute;
    left: 0;
    top: 0;
  }
  .placeMap .img:nth-of-type(2) {
    width: 100%;
  }
}


/*メンバーズ会員*/
.membersArea {
  padding-top: 98px;
  margin: -98px 0 91px;
}
.membersArea .bg {
  background: #11325f;
  position: relative;
}
.membersArea .bg:before {
  content: "";
  width: 100%;
  height: 100%;
  background: url(../img/common/img_bg.png) repeat center / 153px;
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0.02;
}
.membersArea .flexBox {
  padding: 35px 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.membersArea .txtBox {
  width: 37.090163934%;
  color: #fff;
  text-align: center;
}
.membersArea .txtBox .tit {
  margin-bottom: 9px;
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 1.428571429;
}
.membersArea .txtBox .tit span {
  margin-top: 3px;
  font-size: 2rem;
  line-height: 1.5;
  display: block;
}
.membersArea .txtBox .txt {
  font-size: 1.6rem;
  line-height: 1.9375;
}
.benefitsBox {
  width: 50.819672131%;
  padding: 19px 20px 18px 97px;
  background: #fff;
  position: relative;
}
.benefitsBox .tit {
  width: 47px;
  height: 97px;
  padding: 21px 0 17px;
  background: #153562;
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.47em;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  display: flex;
  align-items: center;
  position: absolute;
  top: 0;
  left: 25px;
}
.benefitsBox .tit:before {
  content: "";
  width: 100%;
  height: 100%;
  background: url(../img/common/img_bg.png) repeat center / 62px;
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0.02;
}
.benefitsBox li + li {
  margin-top: 1px;
}
.benefitsBox li {
  font-size: 1.5rem;
  line-height: 2;
  display: flex;
  align-items: flex-start;
}
.benefitsBox li .num {
  width: 18px;
  height: 18px;
  margin: 7px 10px 0 0;
  color: #b54141;
  font-size: 1.1rem;
  line-height: 1.536363636;
  text-align: center;
  position: relative;
  display: inline-block;
}
.benefitsBox li .num:before {
  content: "";
  width: 18px;
  height: 18px;
  background: url(../img/shop/img_num_circle.png) no-repeat center / contain;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
}
.benefitsBox li span + span {
  flex: 1;
}

@media screen and (max-width:767px) {
  .membersArea {
    padding-top: 73px;
    margin: -73px 0 70px;
  }
  .membersArea .bg:before {
    background: url(../img/common/img_bg.png) repeat center / 100px;
  }
  .membersArea .flexBox {
    padding: 35px 12px;
    display: block;
  }
  .membersArea .txtBox {
    width: 100%;
    margin-bottom: 25px;
  }
  .membersArea .txtBox .tit {
    margin-bottom: 9px;
    font-size: 2.6rem;
  }
  .membersArea .txtBox .tit span {
    margin-top: 3px;
    font-size: 1.8rem;
  }
  .membersArea .txtBox .txt {
    font-size: 1.5rem;
  }
  .benefitsBox {
    width: 100%;
    padding: 19px 20px 18px 70px;
  }
  .benefitsBox .tit {
    width: 40px;
    height: 97px;
    padding: 21px 0 17px;
    font-size: 1.8rem;
    top: 0;
    left: 15px;
  }
  .benefitsBox li + li {
    margin-top: 5px;
  }
}

/*マップ*/
.mapArea {
  margin-bottom: 94px;
}
.mapArea .flexBox {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.mapArea .map {
  width: 53.3%;
  height: 100%;
}
.mapArea .map iframe {
  width: 100%;
  height: 100%;
  min-height: 373px;
}
.mapArea .txtBox {
  width: 41.3%;
}
.mapArea .txtBox .tit {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.555555556;
}
.mapArea .txtBox .txt {
  margin-bottom: 21px;
  font-size: 1.5rem;
  line-height: 1.866666667;
}
.mapArea .txtBox .txt a {
  text-decoration: underline;
}
.mapArea .txtBox .txt a:hover {
  text-decoration: none;
}
.mapArea .txtBox .logo a {
  transition: .3s;
}
.mapArea .txtBox .logo a:hover {
  opacity: 0.7;
}

@media screen and (max-width:767px) {
  .mapArea {
    margin-bottom: 60px;
  }
  .mapArea .flexBox {
    display: block;
  }
  .mapArea .map {
    width: 100%;
    height: 0;
    margin-bottom: 25px;
    overflow: hidden;
    padding-bottom: 75%;
    position: relative;
  }
  .mapArea .map iframe {
    width: 100%;
    height: 100%;
    min-height: 0;
    position: absolute;
    left: 0;
    top: 0;
  }
  .mapArea .txtBox {
    width: 100%;
  }
  .mapArea .txtBox .tit {
    font-size: 1.6rem;
    margin-bottom: 10px;
  }
  .mapArea .txtBox .txt {
    margin-bottom: 21px;
    font-size: 1.5rem;
    line-height: 1.866666667;
  }
}

/* ===========================================
スタッフ
=========================================== */
.staff .innerKvArea {
  background: url(../img/staff/img_kv.jpg) no-repeat center 20% / cover;
}
.staffArea .flexBox {
  padding: 58px 0 78px;
  display: flex;
  justify-content: space-between;
  position: relative;
}
.staffArea .flexBox:nth-of-type(even) {
  flex-direction: row-reverse;
}
.staffArea .flexBox:not(:nth-of-type(1)) {
  padding: 83px 0 79px;
}
.staffArea .flexBox .txtBox {
  width: 43.4%;
}
.staffArea .flexBox:not(:nth-of-type(1)) .txtBox {
  width: 45%;
}
.staffArea .txtBox .tit {
  margin-bottom: 16px;
  font-family: "Kakushin Gyousho Medium";
  font-size: 3.5rem;
  line-height: 1.142857143;
}
.staffArea .flexBox:not(:nth-of-type(1)) .tit {
  margin-bottom: -1px;
  font-size: 2.4rem;
  line-height: 1.666666667;
}
.staffArea .txtBox .name {
  margin-bottom: 31px;
  font-family: "Kakushin Gyousho Medium";
  font-size: 6rem;
  line-height: 1.183333333;
}
.staffArea .flexBox:not(:nth-of-type(1)) .name {
  margin-bottom: 20px;
  font-size: 3.8rem;
  line-height: 1.868421053;
}
.staffArea .txtBox .profile {
  margin-bottom: 32px;
  font-size: 1.6rem;
  line-height: 1.875;
}
.staffArea .txtBox .txt {
  font-size: 1.6rem;
  line-height: 2;
}
.staffArea .flexBox .imgBox {
  width: 50vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
}
.staffArea .flexBox:nth-of-type(1) .imgBox {
  display: flex;
  flex-direction: column;
}
.staffArea .flexBox:nth-of-type(1) .imgBox > .img {
  height: 66.6666667%;
}
.staffArea .flexBox:nth-of-type(1) .flexImg {
  height: 33.3333333%;
  border-top: 1px solid #fff;
  display: flex;
}
.staffArea .flexImg .img {
  width: 50%;
  height: auto;
}
.staffArea .flexImg .img + .img {
  border-left: 1px solid #fff;
}
.staffArea .flexBox .imgBox .img {
  height: 100%;
}
.staffArea .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}
.staffArea .flexBox:nth-of-type(even) .imgBox {
  width: 50vw;
  position: absolute;
  top: 0;
  left: auto;
  right: 50%;
}
.staffArea .flexBox:nth-of-type(1) .flexImg .img:nth-of-type(1) img {
  object-position: center right;
}
.staffArea .flexBox:nth-of-type(2) img {
  object-position: center 35%;
}

@media screen and (max-width:767px) {
  .staff .innerKvArea {
    background: url(../img/staff/img_kv.jpg) no-repeat center 20% / cover;
  }
  .staffArea {
    margin-bottom: 60px;
  }
  .staffArea .flexBox {
    padding: 0;
    flex-direction: column-reverse;
  }
  .staffArea .flexBox:nth-of-type(even) {
    flex-direction: column-reverse;
  }
  .staffArea .flexBox + .flexBox {
    margin-top: 70px;
  }
  .staffArea .flexBox:not(:nth-of-type(1)) {
    padding: 0;
  }
  .staffArea .flexBox .txtBox {
    width: 100%;
  }
  .staffArea .flexBox:not(:nth-of-type(1)) .txtBox {
    width: 100%;
  }
  .staffArea .txtBox .tit {
    margin-bottom: 10px;
    font-size: 2.8rem;
  }
  .staffArea .flexBox:not(:nth-of-type(1)) .tit {
    margin-bottom: -1px;
    font-size: 2rem;
  }
  .staffArea .txtBox .name {
    margin-bottom: 25px;
    font-size: 4.8rem;
    line-height: 1.183333333;
  }
  .staffArea .flexBox:not(:nth-of-type(1)) .name {
    margin-bottom: 20px;
    font-size: 3rem;
  }
  .staffArea .txtBox .profile {
    font-size: 1.5rem;
    margin-bottom: 25px;
  }
  .staffArea .txtBox .txt {
    font-size: 1.5rem;
  }
  .staffArea .flexBox .imgBox {
    width: 100%;
    height: auto;
    margin-bottom: 30px;
    position: static;
    top: auto;
    left: auto;
  }
  .staffArea .flexImg .img {
    width: 50%;
    height: auto;
  }
  .staffArea .flexBox:nth-of-type(even) .imgBox {
    width: 100%;
    position: static;
    top: auto;
    right: auto;
  }
}

/* ===========================================
ライセンス講習
=========================================== */
.license .innerKvArea {
  background: url(../img/license/img_kv.jpg) no-repeat center / cover;
}
.license .pageLead {
  margin-bottom: 119px;
}
.license .lead .txt {
  margin-top: 35px;
}
.licenseArea {
  margin-bottom: 95px;
}
.licenseArea .odCourse {
  margin-bottom: 162px;
}
.licenseArea .odCourse .secTit {
  margin-bottom: 108px;
}
.licenseArea .bgTit {
  margin-bottom: 38px;
}
.bgTit.tableTit {
  margin-bottom: 40px;
}
.licenseArea .txt {
  width: 77.5%;
  margin: 0 auto 67px;
  font-size: 1.5rem;
  line-height: 1.866666667;
}
.licenseArea .txt a {
  color: #1cbfe6;
  text-decoration: underline;
}
.licenseArea .txt a:hover {
  text-decoration: none;
}
.licenseTable {
  width: 44.7%;
  margin: 0 auto 70px;
  border-bottom: 1px solid #36363C;
  font-size: 1.5rem;
  line-height: 1.4;
}
.licenseTable tr {
  padding: 9px 20px 12px;
  border-top: 1px solid #36363C;
}
.licenseTable tr th {
  width: 223px;
  padding: 9px 20px 11px;
  font-weight: bold;
  position: relative;
}
.licenseTable tr th:before {
  content: "";
  width: 1px;
  height: 100%;
  background: #E2E2E2;
  position: absolute;
  top: 0;
  right: 0;
}
.licenseTable tr td {
  padding: 9px 70px 11px 9px;
  text-align: center;
}
.licenseTable tr td span {
  font-size: 1.2rem;
  line-height: 1.416666667;
}
.licenseArea .link {
  margin-top: -18px;
  text-align: center;
}
.licenseArea .link a {
  width: 551px;
  padding: 0 23px 20px 0;
  font-size: 3.7rem;
  font-weight: bold;
  line-height: 2.324324324;
}
.licenseArea .link a:before,
.licenseArea .link a:after {
  height: 2px;
  background: #36363c;
}
.licenseArea .link a svg {
  position: absolute;
  top: 42%;
  right: 18px;
  transform: translateY(-50%);
}
.sodCourse {
  margin-bottom: 162px;
}
.sodCourse .secTit {
  margin-bottom: 100px;
}
.eanCourse .secTit {
  margin-bottom: 100px;
}

@media screen and (max-width:767px) {
  .license .innerKvArea .pageTit {
    line-height: 1.5;
  }
  .license .pageLead {
    margin-bottom: 60px;
  }
  .license .lead .txt {
    margin-top: 20px;
  }
  .licenseArea {
    margin-bottom: 95px;
  }
  .licenseArea .odCourse {
    margin-bottom: 120px;
  }
  .licenseArea .odCourse .secTit {
    margin-bottom: 60px;
  }
  .licenseArea .bgTit {
    margin-bottom: 38px;
  }
  .bgTit.tableTit {
    margin-bottom: 40px;
  }
  .licenseArea .txt {
    width: 100%;
    margin: 0 auto 50px;
  }
  .licenseTable {
    width: 100%;
    margin: 0 auto 70px;
  }
  .licenseTable tr {
    padding: 9px 20px 12px;
    border-top: 1px solid #36363C;
  }
  .licenseTable tr th {
    width: auto;
    padding: 9px 20px 11px 4px;
  }
  .licenseTable tr td {
    padding: 9px 30px 11px 9px;
  }
  .licenseArea .link a {
    width: 290px;
    padding: 0 23px 10px 0;
    font-size: 2rem;
    font-weight: bold;
    line-height: 2.324324324;
  }
  .licenseArea .link a:before,
  .licenseArea .link a:after {
    height: 2px;
    background: #36363c;
  }
  .licenseArea .link a svg {
    width: 23px;
    height: 23px;
    top: 42%;
    right: 10px;
  }
  .sodCourse {
    margin-bottom: 120px;
  }
  .sodCourse .secTit {
    margin-bottom: 40px;
  }
  .eanCourse .secTit{
    margin-bottom: 40px;
  }
}

/* ===========================================
オンライン講習
=========================================== */
.online article {
  font-family: Hiragino Sans,ヒラギノ角ゴシック;
}
.online .topicpath {
  font-family: 'Noto Serif JP', serif;
}
.online .innerKvArea {
  background: url(../img/license/online/img_kv.jpg) no-repeat center / cover;
}
.online .pageLead {
  margin: 65px 0 57px;
  text-align: center;
}
.featuresArea {
  margin-bottom: 84px;
}
.featuresArea .borderTit {
  margin-bottom: 44px;
}
.featuresList {
  display: flex;
  justify-content: space-between;
}
.featuresList li {
  width: calc((100% - 10%) / 3);
}
.featuresList li .tit {
  margin-bottom: 12px;
  color: #528ad8;
  font-size: 2rem;
  line-height: 1.7;
  text-align: center;
}
.featuresList li .tit span {
  padding-left: 28px;
  position: relative;
}
.featuresList li .tit svg {
  position: absolute;
  top: -1px;
  left: 0;
}
.featuresList li .img {
  margin-bottom: 19px;
}
.featuresList li .img img {
  width: 100%;
  height: auto;
}
.featuresList li .txt {
  font-size: 1.5rem;
  line-height: 1.733333333;
}

@media screen and (max-width:767px) {
  .online .innerKvArea .pageTit {
    line-height: 1.5;
  }
  .online .pageLead {
    margin: 50px 0 40px;
    text-align: left;
  }
  .featuresArea {
    margin-bottom: 70px;
  }
  .featuresArea .borderTit {
    margin-bottom: 30px;
  }
  .featuresList {
    display: block;
  }
  .featuresList li {
    width: 100%;
  }
  .featuresList li + li {
    margin-top: 30px;
  }
  .featuresList li .tit {
    font-size: 1.8rem;
  }
}

.environmentArea {
  margin-bottom: 106px;
}
.environmentArea .l-column {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.environmentArea .txtBox {
  width: 48.7%;
}
.environmentArea .borderTit {
  margin-bottom: 47px;
  text-align: left;
}
.environmentArea .borderTit:after {
  left: 0;
  transform: none;
}
.environmentArea .txt {
  font-size: 1.4rem;
  line-height: 1.714285714;
}
.environmentArea .img {
  width: 41.3%;
}
.environmentArea .img img {
  width: 100%;
  height: auto;
}

@media screen and (max-width:767px) {
  .environmentArea {
    margin-bottom: 70px;
  }
  .environmentArea .l-column {
    display: block;
  }
  .environmentArea .txtBox {
    width: 100%;
  }
  .environmentArea .borderTit {
    margin-bottom: 30px;
    text-align: center;
  }
  .environmentArea .borderTit:after {
    left: 50%;
    transform: translateX(-50%);
  }
  .environmentArea .txt {
    margin-bottom: 15px;
  }
  .environmentArea .img {
    width: 100%;
  }
}

.flowArea {
  margin-bottom: 96px;
}
.flowArea .borderTit {
  margin-bottom: 63px;
}
.flowArea .flowList {
  width: 81.2%;
  margin: 0 auto 71px;
}
.flowArea .flowList li {
  padding-left: 37px;
  position: relative;
}
.flowArea .flowList li + li {
  margin-top: 23px;
}
.flowArea .flowList li:before {
  content: "";
  width: 14px;
  height: 14px;
  background: #528ad8;
  border-radius: 50%;
  position: absolute;
  top: 10px;
  left: 0;
}
.flowArea .flowList li:not(:last-of-type):after {
  content: "";
  width: 2px;
  height: calc(100% + 25px);
  background: #528ad8;
  position: absolute;
  top: 15px;
  left: 7px;
  transform: translateX(-50%);
}
.flowArea .flowList li .tit {
  margin-bottom: 3px;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.7;
}
.flowArea .flowList li .txt {
  font-size: 1.4rem;
  line-height: 1.714285714;
}
.applicationBtn {
  text-align: center;
}
.applicationBtn a {
  width: 272px;
  padding: 12px 21px 11px 20px;
  background: #528ad8;
  border: 2px solid #528ad8;
  color: #fff;
  font-size: 1.8rem;
  line-height: 1.722222222;
  letter-spacing: 0.06em;
  text-align: center;
  position: relative;
  transition: .3s;
}
.applicationBtn a:hover {
  color: #528ad8;
  background: #fff;
}
.applicationBtn a svg {
  position: absolute;
  top: 50%;
  right: 17px;
  transform: translateY(-50%);
  transition: .3s;
}
.applicationBtn a:hover path {
  stroke: #528ad8;
}


@media screen and (max-width:767px) {
  .flowArea {
    margin-bottom: 70px;
  }
  .flowArea .borderTit {
    margin-bottom: 40px;
  }
  .flowArea .flowList {
    width: 81.2%;
    margin: 0 auto 40px;
  }
  .flowArea .flowList li {
    padding-left: 37px;
    position: relative;
  }
  .flowArea .flowList li + li {
    margin-top: 20px;
  }
  .flowArea .flowList li:before {
    content: "";
    width: 14px;
    height: 14px;
    background: #528ad8;
    border-radius: 50%;
    position: absolute;
    top: 8px;
    left: 0;
  }
  .flowArea .flowList li:not(:last-of-type):after {
    content: "";
    width: 2px;
    height: calc(100% + 25px);
    background: #528ad8;
    position: absolute;
    top: 15px;
    left: 7px;
    transform: translateX(-50%);
  }
  .flowArea .flowList li .tit {
    font-size: 1.8rem;
  }
  .applicationBtn {
    text-align: center;
  }
  .applicationBtn a {
    width: 272px;
    padding: 12px 21px 11px 20px;
    background: #528ad8;
    border: 2px solid #528ad8;
    color: #fff;
    font-size: 1.8rem;
    line-height: 1.722222222;
    letter-spacing: 0.06em;
    text-align: center;
    position: relative;
    transition: .3s;
  }
  .applicationBtn a:hover {
    color: #528ad8;
    background: #fff;
  }
  .applicationBtn a svg {
    position: absolute;
    top: 50%;
    right: 17px;
    transform: translateY(-50%);
    transition: .3s;
  }
  .applicationBtn a:hover path {
    stroke: #528ad8;
  }
}

/* ===========================================
体験ダイビング
=========================================== */
.experience .innerKvArea {
  background: url(../img/experience/img_kv.jpg) no-repeat center / cover;
}
.innerPage.experience .pageLead {
  margin: 68px 0 42px;
}
.experienceArea {
  margin-bottom: 95px;
}
.imgList {
  margin: -2.3% 0 52px 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;

}
.imgList li {
  width: calc((100% - 4.6%) / 3);
  margin-top: 2.3%;
}
.imgList li img {
  width: 100%;
  height: 100%;
}
.experience .blockTit {
  margin-bottom: 23px;
}
.experience .blockTit + .txt {
  font-size: 1.5rem;
  line-height: 1.866666667;
}
.experience .txt + .blockTit {
  margin-top: 56px;
}
.experienceArea .link {
  margin-top: 47px;
  text-align: center;
}
.experienceArea .link a {
  width: 551px;
  padding: 0 23px 20px 0;
  font-size: 3.7rem;
  font-weight: bold;
  line-height: 2.324324324;
}
.experienceArea .link a svg {
  position: absolute;
  top: 42%;
  right: 18px;
  transform: translateY(-50%);
}
.experienceArea .link a:before,
.experienceArea .link a:after {
  height: 2px;
  background: #36363c;
}
.experienceArea .txt .txtRed {
  color: #B54141;
}

@media screen and (max-width:767px) {
  .experience .pageTit {
    line-height: 1.5;
  }
  .innerPage.experience .pageLead {
    margin: 50px 0;
  }
  .experienceArea {
    margin-bottom: 70px;
  }
  .imgList {
    margin-bottom: 52px;
  }
  .imgList li img {
    width: 100%;
    height: 100%;
  }
  .experience .blockTit {
    margin-bottom: 20px;
  }
  .experience .txt + .blockTit {
    margin-top: 50px;
  }
  .experienceArea .link {
    margin-top: 35px;
  }
  .experienceArea .link a {
    width: 290px;
    padding: 0 23px 10px 0;
    font-size: 2rem;
    font-weight: bold;
    line-height: 2.324324324;
  }
  .experienceArea .link a svg {
    width: 23px;
    height: 23px;
    top: 42%;
    right: 10px;
  }
}

/* ===========================================
ショップツアー
=========================================== */
.tour .innerKvArea {
  background: url(../img/tour/img_kv.jpg) no-repeat center / cover;
}
.tour .pageTit {
  line-height: 1.5;
}
.tourArea {
  margin-bottom: 95px;
}
.tourArea .blockTit {
    margin-bottom: 23px;
}
.tourArea .blockTit + .txt {
    font-size: 1.5rem;
    line-height: 1.866666667;
}
.tourArea .txt + .blockTit {
    margin-top: 56px;
}
.tourArea .link {
  text-align: center;
}
.tourArea .link a {
  width: 551px;
  padding: 0 23px 20px 0;
  font-size: 3.7rem;
  font-weight: bold;
  line-height: 2.324324324;
}
.tourArea .link a:before,
.tourArea .link a:after {
    height: 2px;
    background: #36363c;
}
.tourArea .link a svg {
  position: absolute;
  top: 42%;
  right: 18px;
  transform: translateY(-50%);
}
.tourArea .link {
    margin-top: 47px;
    text-align: center;
}
.tourArea .txt a {
  color: #1cbfe6;
  text-decoration: underline;
}
.tourArea .txt a:hover {
  text-decoration: none;
}
@media screen and (max-width:767px) {
  .tourArea {
    margin-bottom: 70px;
  }
  .tourArea .blockTit {
      margin-bottom: 20px;
  }
  .tourArea .blockTit + .txt {
      font-size: 1.5rem;
      line-height: 1.866666667;
  }
  .tourArea .txt + .blockTit {
      margin-top: 50px;
  }
  .tourArea .link a {
    width: 290px;
    padding: 0 23px 10px 0;
    font-size: 2rem;
    font-weight: bold;
    line-height: 2.324324324;
  }
  .tourArea .link a svg {
    width: 23px;
    height: 23px;
    top: 42%;
    right: 10px;
  }
  .tourArea .link {
      margin-top: 35px;
  }
}

/* ===========================================
スタッフブログ
=========================================== */
.blog .innerKvArea {
  background: url(../img/blog/img_kv.jpg) no-repeat center / cover;
}
.blogIndexArea {
  padding-top: 71px;
  margin-bottom: 95px;
}
.blogIndexArea .blogList {
  margin: -90px -18px 81px;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.blogIndexArea .blogList li {
  margin: 90px 18px 0;
}
.wp-pagenavi {
  display: flex;
  justify-content: center;
}
.wp-pagenavi .current,
.wp-pagenavi a {
  font-family: Hiragino Sans,ヒラギノ角ゴシック;
  font-size: 1.6rem;
  line-height: 1;
  padding: 8px !important;
  border: 1px solid #e3e3e3;
  transition: .3s;
}
.wp-pagenavi a:hover {
  opacity: 0.6;
}
.wp-pagenavi .current {
  border: 1px solid #36363c;
  font-weight: normal !important;
  pointer-events: none;
}
.wp-pagenavi a + .current,
.wp-pagenavi .current + a,
.wp-pagenavi a + a {
  margin-left: 8px;
}

@media screen and (max-width:767px) {
  .blog .pageTit {
    line-height: 1.5;
  }
  .blogIndexArea {
    padding-top: 50px;
    margin-bottom: 60px;
  }
  .blogIndexArea .blogList {
    margin: -60px 0 50px;
    padding: 0 15px;
    overflow: visible;
  }
  .blogIndexArea .blogList li {
    width: 100%;
    margin: 50px 0 0;
  }
  .blogIndexArea .blogList li + li {
    margin-left: 0;
  }
  .blogIndexArea .wp-pagenavi {
    display: flex;
    justify-content: center;
  }
}

/* ===========================================
ブログ個別ページ
=========================================== */
.blogDetailArea {
  padding: 72px 0 94px;
  background: url(../img/common/img_bg.png) repeat center / 153px;
}
.blogDetailArea .blogBg {
  padding: 55px 50px 66px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0px 3px 9px rgba(0, 0, 0, 0.05);
  font-family: Hiragino Sans,ヒラギノ角ゴシック;
}
.blogBg .titBox {
  padding-bottom: 26px;
  margin-bottom: 23px;
  border-bottom: 1px solid #c4c4c4;
}
.blogBg .titBox .tit {
  margin-bottom: 18px;
  font-size: 3rem;
  font-weight: bold;
  line-height: 1;
}
.blogBg .titBox .date {
  margin: 0;
  font-size: 1.2rem;
  font-weight: bold;
}
.blogBg .txtBox p:first-of-type {
  margin-top: 0;
}
.blogBg p {
  margin: 40px 0 37px;
  font-size: 1.5rem;
  line-height: 2;
}
.blogBg p a {
  color: #1cbfe6;
  text-decoration: underline;
}
.blogBg p a:hover {
  text-decoration: none;
}
.blogBg .wp-block-image {
  margin: 0;
}
.blogBg .wp-block-image img {
  border: 3px solid #FDFDFD;
  height: auto;
}
.blogBg .wp-block-image + .wp-block-image {
  margin-top: 30px;
}
.detailPagenation {
  height: 30px;
  margin: 46px 0 35px;
  font-family: Hiragino Sans,ヒラギノ角ゴシック;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.detailPagenation li a {
  position: relative;
  transition: .3s;
}
.detailPagenation .prev a {
  padding-left: 54px;
}
.detailPagenation .next a {
  padding-right: 54px;
}
.detailPagenation li a:hover{
  opacity: 0.7;
}
.detailPagenation li a svg {
  position: absolute;
  top: 21%;
}
.detailPagenation .prev a svg {
  left: -3px;
}
.detailPagenation .next a svg {
  right: -3px;
}
.detailPagenation .prev,
.detailPagenation .next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.detailPagenation .prev {
  left: 0;
}
.detailPagenation .next {
  right: 0;
}
.relatedArea {
  padding: 37px 50px 24px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0px 3px 9px rgba(0, 0, 0, 0.05);
  font-family: Hiragino Sans,ヒラギノ角ゴシック;
  display: flex;
  justify-content: space-between;
}
.relatedArea .snsBox {
  width: 21.111111111%;
}
.relatedArea .snsBox li + li {
  margin-top: 15px;
}
.relatedArea .snsBox li a {
  transition: .3s;
}
.relatedArea .snsBox li a:hover {
  opacity: 0.7;
}
.relatedArea .snsBox li img {
  width: 100%;
  height: auto;
}
.relatedArea .blogBox {
  width: 74.444444444%;
}
.relatedArea .blogList {
  margin: 0 -10px;
}
.relatedArea .blogList li {
  width: calc((100% - 40px) / 3);
  margin: 0 10px;
  z-index: 1;
}
.relatedArea .blogList li a {
  transition: .3s;
}
.relatedArea .blogList li a:hover {
  opacity: 0.7;
}
.relatedArea .blogList .img {
  margin-bottom: 6px;
}
.relatedArea .blogList .date {
  margin-bottom: -3px;
}
.relatedArea .blogList li:nth-of-type(3n + 1) .txtBox:before {
  width: 123px;
  height: 95px;
  background: url(../img/blog/img_blog_01_bg.png) no-repeat center  / contain;
  top: -38px;
}
.relatedArea .blogList li:nth-of-type(3n + 2) .txtBox:before {
  width: 131px;
  height: 95px;
  background: url(../img/blog/img_blog_02_bg.png) no-repeat center  / contain;
  top: -35px;
}
.relatedArea .blogList li:nth-of-type(3n + 3) .txtBox:before {
  width: 128px;
  height: 92px;
  background: url(../img/blog/img_blog_03_bg.png) no-repeat center  / contain;
  top: -32px;
}
.relatedArea .relatedTit {
  margin-bottom: 24px;
  position: relative;
}
.relatedArea .relatedTit:after {
  content: "";
  width: 100%;
  height: 1px;
  background: #29292e;
  position: absolute;
  right: 0;
  bottom: 7px;
}
.relatedArea .relatedTit span {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.722222222;
  position: relative;
  display: inline-block;
}
.relatedArea .relatedTit span:after {
  content: "";
  width: calc(100% + 7px);
  height: 1px;
  background: #fff;
  position: absolute;
  left: 0;
  bottom: 7px;
  z-index: 1;
}

@media screen and (max-width:767px) {
  .blogDetailArea {
    padding: 50px 0 70px;
    background: url(../img/common/img_bg.png) repeat center / 100px;
  }
  .blogDetailArea .blogBg {
    padding: 30px 20px;
  }
  .blogBg .titBox {
    padding-bottom: 10px;
  }
  .blogBg .titBox .tit {
    margin-bottom: 5px;
    font-size: 2.4rem;
    line-height: 1.5;
  }
  .blogBg p {
    margin: 30px 0;
  }
  .blogBg p a {
    word-break: break-all;
  }
  .blogBg .wp-block-image img {
    width: 100%;
    height: auto;
  }
  .blogBg .wp-block-image + .wp-block-image {
    margin-top: 20px;
  }
  .detailPagenation {
    height: 30px;
    margin: 40px 0 30px;
  }
  .detailPagenation .prev a {
    padding-left: 40px;
  }
  .detailPagenation .next a {
    padding-right: 40px;
  }
  .detailPagenation li a svg {
    width: 25.6px;
    height: 8.8px;
    top: 29%;
  }
  .relatedArea {
    padding: 37px 20px 24px;
    display: block;
  }
  .relatedArea .snsBox {
    width: 100%;
    margin-bottom: 40px;
  }
  .relatedArea .snsBox .snsList {
    display: flex;
  }
  .relatedArea .snsList li + li {
    margin: 0 0 0 10px;
  }
  .relatedArea .snsBox li a {
    width: 100%;
  }
  .relatedArea .snsBox li img {
    width: 100%;
    height: auto;
  }
  .relatedArea .blogBox {
    width: 100%;
    height: 100%;
  }
  .relatedArea .blogList li {
    padding-bottom: 10px;
  }
  .relatedArea .relatedTit {
    margin-bottom: 20px;
  }
}

/* ===========================================
サウスのファンダイビング
=========================================== */
/* 共通 */
.funDiveNav {
  padding-top: 20px;
  margin-bottom: 96px;
}
.funDiveNav .funList {
  display: flex;
  justify-content: space-between;
}
.funDiveNav .funList li {
  width: calc( 100% / 4 - 20px );
  display: flex;
}
.funDiveNav .funList li a {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;

}
.funDiveNav .funList li span {
  display: block;
  width: 100%;
  height: 165px;
  position: relative;
  font-size: 2.6rem;
  color: #FFF;
  font-family: "Kakushin Gyousho Medium";
  text-align: center;
  line-height: 1.269230;
  display: flex;
  justify-content: center;
  align-items: center;
}
.funDiveNav .funList li span:after {
  content: '';
  width: 100%;
  height: 100%;
  background: #182A72;
  opacity: 0.6;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  mix-blend-mode: multiply;
  z-index: -1;
  transition: .5s;
}
.funDiveNav .funList li a:hover span:after {
  opacity: .3;
}
.funDiveNav .funList li span:before {
  content: '';
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
}
.funDiveNav .funList li.fun span:before {
  background: url(../img/fundiving/common/bg_fun.jpg) no-repeat center / cover;
}
.funDiveNav .funList li.sea span:before {
  background: url(../img/fundiving/common/bg_sea.jpg) no-repeat center / cover;
}
.funDiveNav .funList li.drift span:before {
  background: url(../img/fundiving/common/bg_drift.jpg) no-repeat center / cover;
}
.funDiveNav .funList li.safety span:before {
  background: url(../img/fundiving/common/bg_safety.jpg) no-repeat center / cover;
}
.funDiveNav li .link {
  width: 100px;
  padding: 0 8px 5px 0;
  margin-top: 19px;
  font-family: 'Noto Serif JP', serif;
  font-size: 1.2rem;
  line-height: 1.916666667;
  text-align: center;
  align-self: center;
  overflow: hidden;
  position: relative;
}
.funDiveNav li .link svg {
  position: absolute;
  top: 46%;
  right: 3px;
  transform: translateY(-50%);
}
.funDiveNav .funList li .link:before {
  content: "";
  height: 1px;
  width: 100%;
  background: #36363c;
  position: absolute;
  left: -140%;
  bottom: 0;
  transition: .5s;
}
.funDiveNav .funList li .link:after {
  content: "";
  height: 1px;
  width: 100%;
  background: #36363c;
  position: absolute;
  left: 0;
  bottom: 0;
  transition: .5s;
}
.funDiveNav .funList li a:hover .link:after {
  left: 140%;
}
.funDiveNav .funList li a:hover .link:before {
  left: 0;
}
.funDiveNav .link.application {
  margin-top: 85px;
}
article.sea .funDiveNav .funList li.sea .link {
  display: none;
}
article.sea .funDiveNav .funList li.sea {
  pointer-events: none;
}
article.drift .funDiveNav .funList li.drift .link {
  display: none;
}
article.drift .funDiveNav .funList li.drift {
  pointer-events: none;
}
article.safety .funDiveNav .funList li.safety .link {
  display: none;
}
article.safety .funDiveNav .funList li.safety {
  pointer-events: none;
}
/* kv */
.fundive .innerKvArea.bigKv {
  height: 622px;
  background: url(../img/fundiving/img_kv.jpg) no-repeat center / cover;
}
.fundive .innerKvArea.bigKv .pageTit {
  font-size: 6.4rem;
  white-space: nowrap;
  margin: 10px 0 0 46px;
}
.fundive .innerKvArea.bigKv .pageTit.winChrome {
  letter-spacing: -0.35em;
}
.fundive .innerKvArea.bigKv .pageTit .limited {
  font-size: 2.6rem;
  display: block;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 4px;
  position: relative;
  padding: 0 8px;
  margin: 10px 0 0 18px;
  writing-mode: vertical-rl;
}
.fundive .innerKvArea .pageTit .limited:before,
.fundive .innerKvArea .pageTit .limited:after {
  content: '';
  width: 2px;
  height: 168px;
  background: #FFF;
  display: block;
  position: absolute;
  top: 0;
}
.fundive .innerKvArea.bigKv .pageTit .limited:before {
  right: 0;
}
.fundive .innerKvArea.bigKv .pageTit .limited:after {
  left: 0;
}
.fundive .innerKvArea.bigKv .pageTit .vertical {
  writing-mode: horizontal-tb;
  letter-spacing: -0.1em;
  margin-bottom: 1px;
}
.fundive .innerKvArea.bigKv .pageTit .vertical:nth-child(2) {
  margin-top: -6px;
}
.fundive .innerKvArea .pageTit.winChrome {
  letter-spacing: -0.35em;
}
/* リード */
.fundive .pageLead.fun {
  padding: 46px 0 30px;
}
.fundive .pageLead.fun .lead .txt {
  font-size: 1.6rem;
  font-weight: 300;
  text-align: center;
  margin-top: 20px;
  line-height: 1.875;
}
/* こだわりエリア */
.fundive .funArea {
  padding-bottom: 106px;
}
.fundive .link.application {
  margin-top: 85px;
  margin-bottom: 0;
  text-align: center;
}
.fundive .link.application a {
  font-size: 3.7rem;
  width: 550px;
  font-weight: bold;
  padding: 0 29px 17px 0;
  line-height: 2.555555556;
  position: relative;
}
.fundive .link.application a svg {
  position: absolute;
  top: 48%;
  right: 4px;
  transform: translateY(-50%);
}
.fundive .link.application a:before,
.fundive .link.application a:after {
  background: #36363C;
  height: 2px;
}
/* スケジュール */
.fundive .scheduleArea .l-column {
  position: relative;
  padding: 148px 0 100px;
}
.fundive .scheduleArea:before,
.fundive .scheduleArea:after {
  content: '';
  width: 100%;
  height: 421px;
  display: block;
}
.fundive .scheduleArea:before {
  background: url(../img/fundiving/img_fundive_01.jpg) no-repeat center / cover;
  background-attachment: fixed;
}
.fundive .scheduleArea:after {
  background: url(../img/fundiving/img_fundive_02.jpg) no-repeat center / cover;
  background-attachment: fixed;
}
.fundive .scheduleArea .secTit {
  margin-bottom: 108px;
}
.fundive .scheduleArea .timeTable {
  position: relative;
  margin: 0 0 0 50px;
}
.fundive .scheduleArea .timeTable:before {
  content: '';
  width: 2px;
  height: calc( 100% - 63px );
  display: block;
  background: #36363C;
  position: absolute;
  left: 0;
  top: 15px;
}
.fundive .scheduleArea .item {
  padding-left: 44px;
  position: relative;
}
.fundive .scheduleArea .item:before {
  content: '';
  width: 12px;
  height: 12px;
  display: block;
  background: #36363C;
  border-radius: 50%;
  position: absolute;
  top: 4px;
  left: -5px;
}
.fundive .scheduleArea .item + .item {
  margin-top: 35px;
}
.fundive .scheduleArea .item .tit {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1;
}
.fundive .scheduleArea .item .txt {
  margin-top: 15px;
  font-size: 1.5rem;
  line-height: 2;
}
/* ご案内エリア */
.fundive .guidanceArea {
  padding: 149px 0 94px;
}
.fundive .guidanceArea .secTit {
  margin-bottom: 97px;
}
.fundive .guidanceArea .txt {
  font-size: 1.5rem;
  line-height: 2;
}
.fundive .notesBox {
  margin-top: 28px;
  background: #F7F7F7;
  padding: 26px 25px 24px 31px;
}
.fundive .notesBox .txt {
  padding-left: 1em;
  text-indent: -1em;
}
.fundive .notesBox .txt + .txt {
  margin-top: 9px;
}
/* コースプラン */
.fundive .tableArea {
  padding: 80px 0 0;
}
.fundive .tableArea.rental {
  padding: 64px 0 0;
}
.fundive .tableInner {
  width: 100%;
  max-width: 775px;
  margin: 0 auto;
}
.fundive .tableArea .subTit {
  margin-bottom: 48px;
}
.fundive .table {
  width: 100%;
  max-width: 775px;
  margin: 0 auto;
}
.fundive .table th,
.fundive .table td {
  padding: 7px 0;
  border-top: 1px solid #36363C;
  border-bottom: 1px solid #36363C;
  text-align: center;
}
.fundive .table thead th {
  font-size: 1.5rem;
  font-weight: bold;
  color: #FFF;
  background: #11325F;
  position: relative;
  width: 33%;
}
.fundive .table thead th:before {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  background: url(../img/common/img_bg.png) repeat center / 86px 86px;
  display: block;
  top: 0;
  left: 0;
  opacity: 0.06;
}
.fundive .table tbody th {
  font-weight: bold;
  font-size: 1.5rem;
  color: #36363C;
}
.fundive .table tbody td {
  font-size: 1.5rem;
  color: #36363C;
  border-left: 1px solid #E2E2E2;
}
.fundive .table .joinCell {
  width: 17%;
  border-right: 1px solid #36363C;
}
.fundive .tableArea .changeTxt {
  font-size: 1.6rem;
  font-weight: bold;
  margin: 40px 0 15px;
  line-height: 1.42857;
  text-align: center;
}
.fundive .tableArea .note {
  font-size: 1.4rem;
  margin-top: 25px;
  line-height: 1.42857;
}
.fundive .tableArea .note a {
  text-decoration: underline;
}
.fundive .tableArea .note a:hover {
  text-decoration: none;
}
.fundive .tableArea.rental .table tbody th {
  padding-left: 20px;
  text-align: left;
}
.fundive .payArea {
  margin-top: 44px;
  font-size: 1.4rem;
}
.fundive .cardList {
  display: flex;
  margin-top: 18px;
}
.fundive .cardList li + li {
  margin-left: 15px;
}
@media screen and (max-width:767px) {
  /* キービジュアル */
  .fundive .innerKvArea.bigKv {
    height: 550px;
  }
  .fundive .innerKvArea.bigKv .pageTit {
    font-size: 5rem;
    margin: -5px 0 0 30px;
  }
  .fundive .innerKvArea.bigKv .pageTit .limited {
    font-size: 2.3rem;
  }
  .fundive .innerKvArea.bigKv .pageTit .limited:before,
  .fundive .innerKvArea.bigKv .pageTit .limited:after {
    height: 150px;
  }
  /* リード */
  .fundive .pageLead.fun {
    padding: 40px 0 0;
  }
  .fundive .pageLead.fun .lead .txt {
    text-align: left;
    margin-top: 35px;
  }
  /* こだわりエリア */
  .fundive .funArea {
    padding-bottom: 80px;
  }
  .fundive .link.application a{
    width: 100%;
    font-size: 2.1rem;
  }
  .fundive .link.application a svg {
    width: 25px;
    height: auto;
    position: absolute;
    top: 40%;
    right: 10px;
    transform: translateY(-50%);
  }
  /* スケジュール */
  .fundive .scheduleArea:before,
  .fundive .scheduleArea:after {
    background-attachment: scroll;
  }
  .fundive .scheduleArea .l-column {
    padding: 120px 15px 100px;
  }
  .fundive .scheduleArea .secTit {
    margin-bottom: 55px;
  }
  .fundive .scheduleArea .timeTable {
    margin: 0 5px 0 15px;
  }
  .fundive .scheduleArea .item {
    padding-left: 30px;
  }
  .fundive .scheduleArea .item + .item {
    margin-top: 25px;
  }
  .fundive .scheduleArea .item .tit {
    font-size: 1.7rem;
    line-height: 1.5;
    padding-left: 4em;
    text-indent: -3.5em;
  }
  .fundive .scheduleArea .item .txt {
    line-height: 1.8;
    margin-top: 12px;
  }
  .fundive .scheduleArea .item:before {
    top: 7px;
  }
  /* ご案内 */
  .fundive .guidanceArea {
    padding: 120px 0 110px;
  }
  .fundive .guidanceArea .secTit {
    margin-bottom: 55px;
  }
  .fundive .notesBox {
    padding: 22px 20px 22px 20px;
  }
  .fundive .notesBox .txt {
    line-height: 1.8;
  }
  .fundive .notesBox .txt + .txt {
    margin-top: 15px;
  }
  .fundive .table tbody th,
  .fundive .table tbody td {
    font-size: 1.4rem;
  }
  .fundive .table thead th:before {
    background: url(../img/common/img_bg.png) repeat center / 66px 66px;
  }
  .fundive .tableArea.rental .table tbody th {
    padding-left: 4px;
  }
  .fundive .tableArea.rental .table tbody th small {
    font-size: 1.1rem;
    display: inline-block;
    line-height: 1.4;
  }
  .fundive .tableArea .changeTxt {
    font-size: 1.5rem;
    margin: 40px 0 13px;
  }
  /* カードエリア */
  .fundive .cardList {
    flex-wrap: wrap;
    margin: 0 0 0 -15px;
  }
  .fundive .cardList li {
    margin: 15px 0 0 15px;
  }
  .fundive .cardList li img {
    width: 55px;
    height: auto;
  }
}

/* ===========================================
サウスtoサウスが選ぶ海
=========================================== */
.fundive.sea .innerKvArea {
  background: url(../img/fundiving/sea/img_kv.jpg) no-repeat center / cover;
}
@media screen and (max-width:767px) {
  .funDiveNav .funList {
    flex-wrap: wrap;
    margin-top: -25px;
  }
  .funDiveNav .funList li {
    width: calc( 100% / 2 - 10px );
    margin-top: 25px;
  }
  .funDiveNav .funList li span {
    font-size: 1.8rem;
    height: 30vw;
  }
  .funDiveNav li .link {
    margin-top: 5px;
  }
  .fundive .link.application {
    margin-top: 60px;
  }
  .fundive.sea .innerKvArea .pageTit {
    line-height: 1.5;
  }
  .fundive.sea .innerKvArea .pageTit span {
    line-height: 1;
  }
}

/* ===========================================
ドリフトダイビング
=========================================== */
.fundive.drift .innerKvArea {
  background: url(../img/fundiving/drift/img_kv.jpg) no-repeat center / cover;
}
.fundive.drift .shopArea {
  margin-bottom: 0;
  padding: 72px 0;
}
.fundive.drift .shopArea .txtOnly {
  font-size: 1.5rem;
  line-height: 1.866666667;
  margin: 45px 0;
}
@media screen and (max-width:767px) {
  .fundive.drift .shopArea .txtOnly {
    font-size: 1.5rem;
    margin: 35px 0;
  }
  .fundive.drift .innerKvArea .pageTit {
    line-height: 1.5;
  }
  .fundive.drift .shopArea {
    margin-bottom: 0;
  }
}

/* ===========================================
ドリフトダイビング FAQ よくある質問
=========================================== */
.driftFaqArea {
  padding-top: 100px;
  padding-bottom: 80px;
  background: url(../img/common/bg_style-01.svg);
}
.driftFaqArea .secTit {
  font-size: 27px;
}
.driftFaqList {
  margin-top: 84px;
}
.driftFaqList__item {
  padding: 25px 42px;
  border-radius: 15px;
  box-shadow: 0px 3px 11px rgba(0,0,0,0.05);
  background-color: #fff;
}
.driftFaqList__item + .driftFaqList__item {
  margin-top: 24px;
}
.driftFaqList__q {
  display: flex;
  align-items: baseline;
  font-size: 18px;
  font-weight: bold;
  position: relative;
}
.driftFaqList__a {
  display: flex;
  align-items: baseline;
  font-size: 15px;
  font-weight: bold;
  position: relative;
  padding: 16px 0 0 0;
  line-height: 1.86;
  margin-top: 12px;
  border-top: 2px solid #E3E3E3;
}
.driftFaqList__a strong {
  display: block;
  margin: 0 0 4px 0;
  font-size: 18px;
  font-weight: bold;
}
.driftFaqList__q::before,
.driftFaqList__a::before {
  display: block;
  margin: 0 10px 0 2px;
  font-size: 20px;
  content: '';
}
.driftFaqList__q::before {
  top: -2px;
  content: 'Q.';
}
.driftFaqList__a::before {
  top: 12px;
  content: 'A.';
}
.driftFaqList__a::after {
  display: block;
  position: absolute;
  left: 0;
  top: -2px;
  z-index: 2;
  width: 20px;
  height: 2px;
  background-color: #000000;
  content: '';
}
.driftFaqList__q-icon {
  display: none;
}

@media screen and (max-width: 767px) {
  .driftFaqArea {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .driftFaqList {
    margin-top: 40px;
  }
  .driftFaqList__item {
    padding: 20px 15px;
    border-radius: 15px;
    box-shadow: 0px 3px 11px rgba(0,0,0,0.05);
  }
  .driftFaqList__item + .driftFaqList__item {
    margin-top: 24px;
  }
  .driftFaqList__q {
    display: flex;
    align-items: baseline;
    font-size: 16px;
    font-weight: bold;
    position: relative;
    padding: 0 0 0 0;
  }
  .driftFaqList__a {
    display: flex;
    align-items: baseline;
    font-size: 14px;
    font-weight: bold;
    position: relative;
    padding: 15px 0 0 0;
    line-height: 1.86;
    margin-top: 15px;
    border-top: none;
  }
  .driftFaqList__a-border {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #E3E3E3;
  }
  .driftFaqList__a strong {
    display: block;
    margin: 0 0 5px 0;
    font-size: 16px;
    font-weight: bold;
  }
  .driftFaqList__q::before,
  .driftFaqList__a::before {
    display: block;
    font-size: 18px;
    content: '';
  }
  .driftFaqList__q::before {
    content: 'Q.';
  }
  .driftFaqList__a::before {
    content: 'A.';
  }
  .driftFaqList__q-icon {
    display: inline-block;
  }
  .driftFaqList__q-icon::after {
    display: inline-block;
    margin: 0px 0 0 5px;
    position: relative;
    top: 3px;
    width: 17px;
    height: 17px;
    background: url(../img/common/icon_plus.svg) no-repeat center center;
    background-size: 100%;
    content: '';
  }
  .driftFaqList__item.js-active .driftFaqList__q-icon::after{
    background-image: url(../img/common/icon_minus.svg);
  }
  .driftFaqList__a::after {
    display: inline-block;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    width: 20px;
    height: 2px;
    background-color: #000000;
    content: '';
  }
}

/* ===========================================
徹底した安全対策
=========================================== */
.fundive.safety .innerKvArea {
  background: url(../img/fundiving/safety/img_kv.jpg) no-repeat center / cover;
}
.innerPage .safety .pageLead .desc {
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.875;
  margin-top: 35px;
}
.fundive.safety .safetyArea {
  padding: 85px 0 80px;
  background: url(../img/common/img_bg.png) repeat center / 112px;
  margin-bottom: 64px;
}
.safetyArea .secTit {
  line-height: 1.2;
  margin-bottom: 77px;
}
.safetyArea .secTit .red {
  font-size: 4.5rem;
  color: #B54141;
}
/* 6つのキーポイント */
.keyPointList li {
  font-size: 1.5rem;
  line-height: 2;
  display: flex;
  align-items: flex-start;
}
.keyPointList li:nth-child(4) .txt {
  margin-bottom: 60px;
}
.keyPointList li:nth-child(5) {
  margin-top: -30px;
}
.keyPointList li + li {
  margin-top: 37px;
}
.keyPointList li .num {
  width: 30px;
  height: 30px;
  margin: 0 21px 0 0;
  color: #b54141;
  font-size: 1.6rem;
  text-align: center;
  position: relative;
  display: inline-block;
}
.keyPointList li .num:before {
  content: "";
  width: 30px;
  height: 30px;
  background: url(../img/shop/img_num_circle.png) no-repeat center / contain;
  position: absolute;
  left: 50%;
  top: calc( 50% + 1px );
  transform: translate(-50%,-50%);
}
.keyPointList li span + span {
  flex: 1;
  letter-spacing: 0.03em;
}
.keyPointList li .pointTit {
  font-size: 2rem;
  font-weight: bold;
  display: flex;
  align-items: center;
}
.keyPointList li .txtBox {
  margin-right: 34px;
}
.keyPointList li .txt {
  font-size: 1.5rem;
  line-height: 1.866666666;
  margin-top: 17px;
  max-width: 713px;
}
.keyPointList li .img img {
  border-radius: 7px;
}
.safetyArea .cruiserEquipmentArea {
  background: #FFF;
  border-radius: 15px;
  margin-top: 117px;
  padding: 81px 50px 65px;
  box-shadow: 0 3px 11px rgba(0,0,0,0.05);
  position: relative;
  overflow: hidden;
}
.safetyArea .cruiserEquipmentArea:before,
.safetyArea .cruiserEquipmentArea:after {
  content: '';
  width: 64%;
  height: 250px;
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 0;
}
.safetyArea .cruiserEquipmentArea:before {
  background: url(../img/fundiving/safety/bg_cruiserbox.jpg) no-repeat center right / cover;
}
.safetyArea .cruiserEquipmentArea:after {
  background: linear-gradient(to right,#FFF,rgba(255,255,255,0));
}
.safetyArea .cruiserEquipmentArea .boxTit {
  font-size: 2.7rem;
  font-weight: bold;
  line-height: 1.629629;
  margin-bottom: 124px;
  display: block;
  position: relative;
  z-index: 1;
}
.safetyArea .cruiserEquipmentArea .txtBox .tit {
  font-size: 2rem;
  font-weight: bold;
}
.safetyArea .cruiserEquipmentArea .txtBox .txt {
  font-size: 1.5rem;
  line-height: 1.86666666;
  margin-top: 14px;
}
.safetyArea .cruiserEquipmentArea .txtBox + .txtBox {
  margin-top: 67px;
}

/*** link ***/
.safetyArea .link a {
  width: 263px;
  padding-right: 21px;
  text-align: center;
  padding: 0 10px 11px 0;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 2.555555556;
    position: relative;
}
.safetyArea .link a:before {
  height: 2px;
    background: #36363c;
}
.safetyArea .link a:after {
  height: 2px;
    background: #36363c;
}
.safetyArea .link a svg {
  position: absolute;
  top: 48%;
  right: 4px;
  transform: translateY(-50%);
}
@media screen and (max-width:767px) {
  .fundive.safety .safetyArea {
    padding-bottom: 60px;
    margin-bottom: 20px;
  }
  .keyPointList li {
    flex-direction: column;
  }
  .keyPointList li + li {
    margin-top: 45px;
  }
  .keyPointList li:nth-child(4) .txt {
    margin-bottom: 0px;
  }
  .keyPointList li:nth-child(5) {
    margin-top: 45px;
  }
  .keyPointList li .txtBox {
    margin-right: 0;
  }
  .keyPointList li .num {
    font-size: 1.5rem;
    margin-right: 15px;
  }
  .keyPointList li .num:before {
    width: 28px;
    height: 28px;
  }
  .keyPointList li .pointTit {
    font-size: 1.7rem;
  }
  .keyPointList li .txt {
    margin-top: 12px;
  }
  .keyPointList li .img {
    margin: 15px auto 0;
    width: 65%;
  }
  .keyPointList li .img img {
    width: 100%;
    height: auto;
  }
  /* 安全対策キット */
  .safetyArea .cruiserEquipmentArea {
    padding: 30px 20px 50px;
    border-radius: 10px;
    margin-top: 80px;
  }
  .safetyArea .cruiserEquipmentArea .boxTit {
    font-size: 2rem;
    margin-bottom: 60px;
  }
  .safetyArea .cruiserEquipmentArea:before {
    width: 65%;
    height: 155px;
    background: url(../img/fundiving/safety/bg_cruiserbox.jpg) no-repeat center right / cover;
  }
  .safetyArea .cruiserEquipmentArea:after {
    width: 65%;
    height: 155px;
  }
  .safetyArea .cruiserEquipmentArea .txtBox .tit {
    font-size: 1.8rem;
  }
  .safetyArea .cruiserEquipmentArea .txtBox + .txtBox {
    margin-top: 50px;
  }

  /*** link ***/
.safetyArea .link a {
  width: 190px;
  padding-right: 21px;
  text-align: center;
  padding: 0 10px 8px 0;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 2.555555556;
    position: relative;
}
.safetyArea .link a:before {
  height: 1px;
    background: #36363c;
}
.safetyArea .link a:after {
  height: 1px;
  bottom: 0;
}
.safetyArea .link a svg {
  width: 14px;
  height: 5px;
  top: 48%;
  right: 0;
  transform: translateY(-50%);
}
}

/* ===========================================
お問い合わせ
=========================================== */
.contact .innerKvArea {
  background: url(../img/contact/img_kv.jpg) no-repeat center / cover;
}
.formArea {
  padding-top: 71px;
  margin-bottom: 68px;
}
.formArea .lead {
  margin-bottom: 33px;
  font-size: 1.8rem;
  line-height: 1.555555556;
  text-align: center;
}
.formArea .telBox {
  max-width: 602px;
  padding: 9px 20px 14px;
  margin: 0 auto 49px;
  border: 2px solid #EAEAEA;
  border-radius: 6px;
  background: #FAFAFA;
  text-align: center;
}
.formArea .telBox .tel {
  margin-bottom: 3px;
}
.formArea .telBox .tel a {
  font-size: 3.4rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
}
.formArea .telBox .tel a img {
  margin-right: 15px;
}
.formArea .telBox .time {
  margin-bottom: 5px;
  display: flex;
  justify-content: center;
}
.formArea .telBox .time {
  font-size: 1.5rem;
  font-weight: bold;
}
.formArea .telBox .time span {
  padding: 1px 9px;
  margin-right: 10px;
  border-radius: 2px;
  background: #36363C;
  color: #fff;
  font-size: 1.4rem;
}
.formArea form .wrapper {
  max-width: 802px;
  margin: 0 auto;
  padding-right: 40px;
}
.formArea .form {
  width: calc(100% + 14px);
  margin: 0 27px 23px -14px;
}
.formArea .form tr + tr {
  border-top: 1px solid #36363C;
}
.formArea .form th {
  width: 207px;
  padding: 28px 50px 12px 20px;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.4;
  vertical-align: top;
  white-space: nowrap;
  position: relative;
}
.formArea .form th .required {
  padding: 3px 10px;
  background: #A20606;
  border-radius: 2px;
  margin-left: auto;
  color: #FFF;
  font-size: 1.4rem;
  display: inline-block;
  position: absolute;
  top: 27px;
  right: 0;
}
.formArea .form td {
  padding: 15px 0 14px 46px;
  font-family: Hiragino Sans,ヒラギノ角ゴシック;
  font-size: 1.6rem;
}
.formArea .form input,
.formArea .form textarea {
  -webkit-appearance: none;
  transition: .3s;
}
.formArea .form input {
  width: 100%;
  padding-left: 15px;
  border: 1px solid #dedede;
  height: 47px;
}
.formArea .form input::placeholder {
  color:#E2E2E2;
  font-size: 1.5rem;
}
.formArea .form textarea {
  width: 100%;
  height: 224px;
  padding: 9px 9px 9px 15px;
  border: 1px solid #dedede;
}
.formArea .form textarea:focus {
    outline: none;
    border: #818194 1px solid;
}
.formArea .form input:focus {
    border: #818194 1px solid;
}
.formArea .form textarea::placeholder {
  color: #e2e2e2;
  font-size: 1.6rem;
}
.formArea .privacy {
  margin-bottom: 42px;
  font-size: 1.5rem;
  line-height: 1.4;
  text-align: center;
}
.formArea .privacy a {
  color: #1cbfe6;
  text-decoration: underline;
}
.formArea .privacy a:hover {
  text-decoration: none;
}
.formArea .contactBtn {
  width: 263px;
  padding: 0 10px 11px 0;
  margin: 0 auto;
  border: none;
  font-size: 1.8rem;
  line-height: 2.555555556;
  text-align: center;
  display: block;
  position: relative;
  overflow: hidden;
}
.formArea .contactBtn input {
  background: none;
}
.formArea .contactBtn:before {
  content: "";
  width: 100%;
  height: 2px;
  background: #36363c;
  position: absolute;
  left: 0;
  bottom: 0;
  transition: .3s;
}
.formArea .contactBtn:after {
  content: "";
  width: 100%;
  height: 2px;
  background: #36363c;
  position: absolute;
  left: -140%;
  bottom: 0;
  transition: .3s;
}
.formArea .contactBtn:hover:before {
  left: 140%;
}
.formArea .contactBtn:hover:after {
  left: 0%;
}
.formArea .contactBtn svg {
  position: absolute;
  top: 39%;
  right: 3px;
}
.wpcf7 .contactBtn .ajax-loader {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}
.wpcf7-not-valid-tip,
.wpcf7-response-output {
  display: none !important;
}

@media screen and (max-width:1000px) {
  .formArea form .wrapper {
    padding-right: 0;
  }
  .formArea .form {
    width: 100%;
    margin: 0 0 23px 0;
  }
}

@media screen and (max-width:767px) {
  .formArea {
    padding-top: 40px;
    margin-bottom: 50px;
  }
  .formArea .lead {
    margin-bottom: 33px;
    font-size: 1.5rem;
    text-align: left;
  }
  .formArea .telBox {
    padding: 9px 20px 14px;
    margin: 0 auto 40px;
  }
  .formArea .telBox .tel {
    margin-bottom: 3px;
  }
  .formArea .telBox .tel a {
    font-size: 2.8rem;
  }
  .formArea .telBox .tel a img {
    margin-right: 15px;
  }
  .formArea .telBox .time {
    margin-bottom: 5px;
  }
  .formArea .telBox .time {
    font-size: 1.5rem;
  }
  .formArea .telBox .time span {
    padding: 1px 9px;
    margin-right: 10px;
  }
  .formArea .form {
    margin: 0 0 10px 0;
  }
  .formArea .form th {
    width: 100%;
    padding: 20px 20px 12px 10px;
    display: block;
  }
  .formArea .form th .required {
    margin-left: 10px;
    position: static;
    top: auto;
    right: auto;
  }
  .formArea .form td {
    padding: 0 0 25px 0;
    display: block;
  }
  .formArea .form textarea {
    height: 150px;
    padding: 9px 15px 9px 15px;
  }
  .formArea .form textarea::placeholder {
    font-size: 1.5rem;
  }
  .formArea .privacy {
    margin-bottom: 20px;
  }
}

/* ===========================================
プライバシーポリシー
=========================================== */
.privacypolicy .innerKvArea {
  background: url(../img/contact/img_kv.jpg) no-repeat center / cover;
}
.privacypolicy .pageTit {
  line-height: 1.5;
}
.privacypolicyArea {
  padding-top: 69px;
  margin-bottom: 91px;
}
.privacypolicyArea .txt {
  font-size: 1.5rem;
  line-height: 1.866666667;
}
.privacypolicyArea .txt a {
  color: #1cbfe6;
  text-decoration: underline;
}
.privacypolicyArea .txt a:hover {
  text-decoration: none;
}

@media screen and (max-width:767px) {
.privacypolicy .pageTit {
  top: 48%;
}
  .privacypolicyArea {
    padding-top: 50px;
    margin-bottom: 60px;
  }
}


/********************************************************

チャーター

********************************************************/
.charter .innerKvArea {
  background: url(../img/charter/img_ct-kv.jpg) no-repeat center / cover;
}
.charter .pageTit {

}

@media screen and (max-width: 767px) {
  .charter .innerKvArea {
    background: url(../img/charter/img_ct-kv.jpg) no-repeat center / cover;
  }
  .charter .pageTit img {
    width: 24px;
  }
}

/*―――――――――――――――――――――――――――――――――――――――――――――
/* ctPhotoArea
――――――――――――――――――――――――――――――――――――――――――――――*/
.ctPhotoArea {
  padding-top: 69px;
  padding-bottom: 80px;
}
.ctPhoto__lead {
  margin: 0 0 43px 0;
  font-size: 16px;
}
.ctPhoto__imgBox {

}
.ctPhoto__img {
  display: block;
  max-width: 100%;
}

@media screen and (max-width: 767px) {
  .ctPhotoArea {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .ctPhoto__lead {
    margin: 0 0 20px 0;
    font-size: 15px;
  }
  .ctPhoto__imgBox {

  }
  .ctPhoto__img {

  }
}


/*―――――――――――――――――――――――――――――――――――――――――――――
/* ctEnjoyArea
――――――――――――――――――――――――――――――――――――――――――――――*/
.ctEnjoyArea {
  padding-top: 67px;
  padding-bottom: 80px;
}
.secTit {

}
.ctEnjoy__lead {
  margin-top: 25px;
  text-align: center;
  font-size: 16px;
  font-weight: bold;
}
.ctEnjoyList {
  margin-top: 41px;
}
.ctEnjoyList__item {
  padding: 15px 20px;
}
.ctEnjoyList__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 30px 35px;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}
.ctEnjoyList__imgBox {
  width: 345px;
  border-radius: 7px;
  overflow: hidden;
}
.ctEnjoyList__img {
  display: block;
  max-width: 100%;
}
.ctEnjoyList__cont {
  width: 620px;
}
.ctEnjoyListTtl {
  display: flex;
  align-items: center;
  color: #B54141;
  font-weight: bold;
  margin: 0 0 20px 0;
}
.ctEnjoyListTtl__num {
  margin-right: 21px;
  font-size: 16px;
}
.ctEnjoyListTtl__num-img {
  display: inline-block;
  width: 30px;
  height: 30px;
  margin-left: 3px;
  position: relative;
  font-size: 16px;
  text-align: center;
}
.ctEnjoyListTtl__num-img::before {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  width: 30px;
  height: 30px;
  margin: auto;
  background: url(../img/common/icon_double-circle.svg) no-repeat center center / 100%;
  content: '';
}
.ctEnjoyListTtl__txt {
  font-size: 20px;
}
.ctEnjoyList__lead {
  font-size: 15px;
  line-height: 1.86;
}

.ctEnjoyList__item:nth-child(2n) {
  background: url(../img/common/bg_style-01-lightbule.svg)
}
.ctEnjoyList__item:nth-child(2n+1) .ctEnjoyList__imgBox {
  order: 2;
}

@media screen and (max-width: 767px) {
  .ctEnjoyArea {
    padding-top: 60px;
    padding-bottom: 50px;
  }
  .secTit {

  }
  .ctEnjoy__lead {
    margin-top: 25px;
    text-align: center;
    font-size: 14px;
  }
  .ctEnjoyList {
    margin-top: 20px;
  }
  .ctEnjoyList__item {
    padding: 20px 15px;
  }
  .ctEnjoyList__inner {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
    gap: 20px 35px;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
  }
  .ctEnjoyList__imgBox {
    width: auto;
    border-radius: 7px;
    overflow: hidden;
  }
  .ctEnjoyList__img {

  }
  .ctEnjoyList__cont {
    width: auto;
  }
  .ctEnjoyListTtl {
    display: flex;
    align-items: center;
    color: #B54141;
    font-weight: bold;
    margin: 0 0 12px 0;
  }
  .ctEnjoyListTtl__num {
    margin-right: 15px;
    font-size: 14px;
  }
  .ctEnjoyListTtl__num-img {
    display: inline-block;
    width: 22px;
    height: 25px;
    margin-left: 3px;
    position: relative;
    font-size: 14px;
    text-align: center;
  }
  .ctEnjoyListTtl__num-img::before {
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    width: 22px;
    height: 22px;
  }
  .ctEnjoyListTtl__txt {
    font-size: 16px;
  }
  .ctEnjoyList__lead {
    font-size: 14px;
    line-height: 1.86;
  }

  .ctEnjoyList__item:nth-child(2n) {
    background: url(../img/common/bg_style-01-lightbule.svg)
  }
  .ctEnjoyList__item:nth-child(2n+1) .ctEnjoyList__imgBox {
    order: 0;
  }
}

/*―――――――――――――――――――――――――――――――――――――――――――――
/* ctPriceArea
――――――――――――――――――――――――――――――――――――――――――――――*/
.ctPriceArea {
  padding-top: 59px;
  padding-bottom: 80px;
}
.ctPriceList {
  display: flex;
  gap: 24px 24px;
  margin-top: 80px;
}
.ctPriceList__item {
  display: flex;
  justify-content: center;
  width: 50%;
  border: solid 1px #DDDDDD;
  border-radius: 6px;
  padding: 34px 20px 25px;
  background-color: #fff;
}
.ctPriceList__itemInner {
  max-width: 250px;
  width: 100%;
}
.innerPage .ctPriceList__ttl {
  margin-bottom: 20px;
  font-weight: bold;

}
.ctPriceList__price {
  margin: 23px 0 16px 0;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}
.ctPriceTimeList {
}
.ctPriceTimeList__item {
  display: flex;
  border-bottom: solid 1px #36363C;
}
.ctPriceTimeList__item:first-child {
  border-top: solid 1px #36363C;
}
.ctPriceTimeList__ttl {
  width: 80px;
  padding: 8px 15px;
  font-size: 15px;
  font-weight: bold;
  border-right: solid 1px #E2E2E2;
  text-align: center;
}
.ctPriceTimeList__time {
  flex: 1;
  padding: 8px 15px;
  font-size: 15px;
  text-align: center;
}
.ctPriceList__note {
  margin-top: 20px;
  font-size: 15px;
  line-height: 1.4;
  padding-left:1em;
	text-indent:-1em;
}
.ctPriceList__note  + .ctPriceList__note  {
  margin-top: 10px;
}

@media screen and (max-width: 767px) {
  .ctPriceArea {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .ctPriceList {
    display: flex;
    flex-direction: column;
    gap: 24px 24px;
    width: 100%;
    max-width: 600px;
    margin: 70px auto 0;
  }
  .ctPriceList__item {
    display: flex;
    justify-content: center;
    width: auto;
    border: solid 1px #DDDDDD;
    border-radius: 6px;
    padding: 34px 20px 25px;
    background-color: #fff;
  }
  .ctPriceList__itemInner {
    max-width: 250px;
    width: 100%;
  }
  .innerPage .ctPriceList__ttl {
    margin-bottom: 20px;
    font-weight: bold;

  }
  .ctPriceList__price {
    margin: 23px 0 16px 0;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
  }
  .ctPriceTimeList {
  }
  .ctPriceTimeList__item {
    display: flex;
    border-bottom: solid 1px #36363C;
  }
  .ctPriceTimeList__item:first-child {
    border-top: solid 1px #36363C;
  }
  .ctPriceTimeList__ttl {
    width: 80px;
    padding: 8px 15px;
    font-size: 15px;
    font-weight: bold;
    border-right: solid 1px #E2E2E2;
    text-align: center;
  }
  .ctPriceTimeList__time {
    flex: 1;
    padding: 8px 15px;
    font-size: 15px;
    text-align: center;
  }
  .ctPriceList__note {
    margin-top: 20px;
    font-size: 15px;
    line-height: 1.4;
    padding-left:1em;
    text-indent:-1em;
  }
  .ctPriceList__note  + .ctPriceList__note  {
    margin-top: 10px;
  }
}

/*―――――――――――――――――――――――――――――――――――――――――――――
/* ctOptionArea
――――――――――――――――――――――――――――――――――――――――――――――*/
.ctOptionArea {
  padding-top: 60px;
  padding-bottom: 54px;
}
.ctOptionArea .secTit span {
  display: block;
  margin: -6px 0 0 0;
  font-size: 23px;
  text-align: center;
}
.ctOptionList {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 22px 25px;
  margin: 67px 0 0 0;
}
.ctOptionList__item {
  width: calc((100% - 50px) / 3);
  border: solid 1px #DDDDDD;
  border-radius: 6px;
  overflow: hidden;
}
.ctOptionList__imgBox {

}
.ctOptionList__img {
  max-width: 100%;
}
.ctOptionList__cont {
  padding: 23px 22px;
}
.ctOptionList__ttl {
  margin: 0 0 13px 0;
  text-align: center;
}
.ctOptionList__ttl .main {
  display: inline-block;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.2;
}
.ctOptionList__ttl .sub {
  display: inline-block;
  font-size: 15px;
  font-weight: bold;
  line-height: 1.6;
}
.ctOptionList__price {
  margin: 0 0 14px 0;
  background-color: #F2F4F7;
  border-radius: 4px;
  padding: 7px 15px;
  text-align: center;
  color: #B54141;
  font-weight: bold;
  text-align: center;
  font-size: 18px;
}
.ctOptionList__txt {
  line-height: 1.86;
  font-size: 15px;
}
.ctOptionList__txt span {
  color: #B54141;
}

@media screen and (max-width: 767px) {
  .ctOptionArea {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .ctOptionArea .secTit span {
    display: block;
    margin: -6px 0 0 0;
    font-size: 18px;
    text-align: center;
  }
  .ctOptionList {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 20px 15px;
    width: 100%;
    max-width: 600px;
    margin: 50px auto 0;
  }
  .ctOptionList__item {
    width: auto;
    border: solid 1px #DDDDDD;
    border-radius: 6px;
    overflow: hidden;
  }
  .ctOptionList__imgBox {

  }
  .ctOptionList__img {
    max-width: 100%;
  }
  .ctOptionList__cont {
    padding: 15px 15px;
  }
  .ctOptionList__ttl {
    margin: 0 0 13px 0;
    text-align: center;
  }
  .ctOptionList__ttl .main {
    display: block;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.2;
    text-align: center;
    margin: 0 0 3px 0;
  }
  .ctOptionList__ttl .sub {
    display: block;
    font-size: 15px;
    font-weight: bold;
    line-height: 1.6;
    text-align: center;
  }
  .ctOptionList__price {
    margin: 0 0 14px 0;
    background-color: #F2F4F7;
    border-radius: 4px;
    padding: 7px 15px;
    text-align: center;
    color: #B54141;
    font-weight: bold;
    text-align: center;
    font-size: 17px;
  }
  .ctOptionList__txt {
    line-height: 1.86;
    font-size: 14px;
  }
  .ctOptionList__txt span {
    color: #B54141;
  }
}

/*―――――――――――――――――――――――――――――――――――――――――――――
/* ctWhaleArea
――――――――――――――――――――――――――――――――――――――――――――――*/
.ctWhaleArea {
  padding-top: 54px;
  padding-bottom: 50px;
  background: url(../img/common/bg_style-01.svg)
}
.ctWhale__box {
  display: flex;
  justify-content: space-between;
  gap: 50px 50px;
}
.ctWhale__cont {
  width: 605px;
  padding-left: 90px;
}
.ctWhale__ttl {
  margin: -7px 0 15px 0;
  font-size: 29px;
  color: #11325F;
  font-weight: bold;
  line-height: 1.45;
  position: relative;
}
.ctWhale__ttl::before {
  display: block;
  position: absolute;
  top: 3px;
  left: -90px;
  width: 74px;
  height: 74px;
  margin: auto;
  background: url(../img/charter/img_ct-whale-limited.svg) no-repeat center center / 100%;
  content: '';
}
.ctWhale__price {
  width: 100%;
  max-width: 269px;
  margin: 0 0 16px 0;
  padding: 5px 15px;
  border: solid 1px #F2F4F7;
  border-radius: 4px;
  background-color: #fff;
  text-align: center;
  color: #B54141;
  font-size: 20px;
  font-weight: bold;
}
.ctWhale__txt {
  margin: 0 0 17px 0;
  font-size: 15px;
  line-height: 1.73;
}
.ctWhale__linkBox {

}
.ctWhale__imgBox {
  width: 345px;
}
.ctWhale__img {
  display: block;
  max-width: 100%;
}

/*** link ***/
.ctWhaleArea .link a {
  width: 206px;
  padding-right: 21px;
  text-align: center;
  padding: 0 50px 11px 0;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 2.555555556;
    position: relative;
}
.ctWhaleArea .link a:before {
  height: 2px;
    background: #36363c;
}
.ctWhaleArea .link a:after {
  height: 2px;
    background: #36363c;
}
.ctWhaleArea .link a svg {
  position: absolute;
  top: 48%;
  right: 24px;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .ctWhaleArea {
    padding-top: 50px;
    padding-bottom: 50px;
    background: url(../img/common/bg_style-01.svg)
  }
  .ctWhale__box {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    gap: 0 50px;
  }
  .ctWhale__cont {
    width: auto;
    padding-left: 0;
    order: 2;
  }
  .ctWhale__ttl {
    margin: 0 0 15px 0;
    padding: 0 0 0 65px;
    font-size: 18px;
    color: #11325F;
    font-weight: bold;
    line-height: 1.45;
    position: relative;
  }
  .ctWhale__ttl::before {
    display: block;
    position: absolute;
    top: -2px;
    left: 0;
    width: 54px;
    height: 54px;
    margin: auto;
    background: url(../img/charter/img_ct-whale-limited.svg) no-repeat center center / 100%;
    content: '';
  }
  .ctWhale__price {
    width: 100%;
    max-width: 269px;
    margin: 0 auto 16px;
    padding: 5px 15px;
    border: solid 1px #F2F4F7;
    border-radius: 4px;
    background-color: #fff;
    text-align: center;
    color: #B54141;
    font-size: 18px;
    font-weight: bold;
  }
  .ctWhale__txt {
    margin: 0 0 12px 0;
    font-size: 14px;
    line-height: 1.73;
  }
  .ctWhale__linkBox {

  }
  .ctWhale__imgBox {
    width: auto;
    margin: 0 auto 20px;
    order: 1;
  }
  .ctWhale__img {
    display: block;
    max-width: 100%;
  }

  /*** link ***/
  .ctWhaleArea .link a {
    display: block;
    width: 206px;
    padding-right: 21px;
    text-align: center;
    margin: 0 auto;
    padding: 0 50px 5px 0;
      font-size: 1.6rem;
      font-weight: bold;
      line-height: 2.555555556;
      position: relative;
  }
  .ctWhaleArea .link a:before {
    height: 2px;
      background: #36363c;
  }
  .ctWhaleArea .link a:after {
    height: 2px;
      background: #36363c;
  }
  .ctWhaleArea .link a svg {
    position: absolute;
    top: 48%;
    right: 24px;
    transform: translateY(-50%);
  }
}


/*―――――――――――――――――――――――――――――――――――――――――――――
/* ctWhaleReserve
――――――――――――――――――――――――――――――――――――――――――――――*/
.ctWhaleReserve {
  display: flex;
  justify-content: center;
  margin-top: 39px;
  margin-bottom: 96px;
}
.ctWhaleReserve a {
  font-size: 3.7rem;
  width: 550px;
  font-weight: bold;
  padding: 0 22px 17px 0;
  line-height: 2.555555556;
  position: relative;
  text-align: center;
  font-weight: bold;
}
.charter .ctWhaleReserve a:before {
  height: 2px;
    background: #36363c;
}
.charter .ctWhaleReserve a:after {
  height: 2px;
    background: #36363c;
}
.charter .ctWhaleReserve a svg {
  position: absolute;
  top: 46%;
  right: 16px;
  width: 30px;
  height: 12px;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .ctWhaleReserve {
    display: flex;
    justify-content: center;
    margin-top: 20px;
    margin-bottom: 50px;
  }
  .ctWhaleReserve a {
    font-size: 2.0rem;
    width: 300px;
    font-weight: bold;
    padding: 0 36px 9px 0;
    line-height: 2.555555556;
    position: relative;
    text-align: center;
    font-weight: bold;
  }
  .charter .ctWhaleReserve a:before {
    height: 2px;
      background: #36363c;
  }
  .charter .ctWhaleReserve a:after {
    height: 2px;
      background: #36363c;
  }
  .charter .ctWhaleReserve a svg {
    position: absolute;
    top: 46%;
    right: 16px;
    width: 26px;
    height: 8px;
    transform: translateY(-50%);
  }
}
