@charset "UTF-8";
/*----------------------------------------------------
	共通
----------------------------------------------------*/
body {
  font-size: 1em;
  line-height: 200%;
  color: #111;
  letter-spacing: 1px;
  font-weight: 500;
  overflow-x: hidden;
  overflow-y: scroll !important;
  -webkit-overflow-scrolling: touch; }

#wrapper {
  min-width: auto;
  position: relative; }

/* リンク
----------------------------------------------------*/
/* 共通
----------------------------------------------------*/
img {
  width: 100%;
  height: auto; }

.main_ttl {
  text-align: center; }
  .main_ttl p {
    color: #d9e2ec;
    font-size: 15px; }
  .main_ttl h2 {
    font-size: 24px;
    margin: 10px 0 30px; }

/* ---- 英語フォント ---- */
.font_light {
  font-family: caslons-egyptian, sans-serif;
  font-weight: 200 !important;
  font-style: normal; }

.font_regular {
  font-family: caslons-egyptian, sans-serif;
  font-weight: 400 !important;
  font-style: normal; }

.font_bold {
  font-family: caslons-egyptian, sans-serif;
  font-weight: 700 !important;
  font-style: normal; }

/* ---- ボタン ---- */
.btn_style1 a {
  display: block; }
.btn_style1 span {
  border-bottom: #000 solid 3px;
  padding: 0 35px 18px 0;
  background: url("../images/common/arrow_r.png") no-repeat 100% 5px;
  background-size: 19px;
  font-weight: bold; }
.btn_style1 a:hover span {
  opacity: .7; }

/* ---- インナー ---- */
.inner {
  width: 100%;
  margin: auto;
  padding: 0 15px; }

.fadein {
  opacity: 1;
  transform: translateY(20px);
  transition: all 1s; }

/* ヘッダー
----------------------------------------------------*/
header {
  position: relative;
  height: 80px; }
  header .logo {
    position: absolute;
    width: 38%;
    padding: 0; }
    header .logo a {
      padding: 15px 0 0 26px;
      display: block; }
    header .logo img {
      display: block;
      width: 100%;
      margin: 0 auto; }
  header .nav_wrap {
    position: absolute;
    right: 0;
    width: calc(100% - 135px); }

/* メニュー */
.burger-nav {
  color: #fff;
  position: fixed;
  right: 0;
  top: 0;
  display: none;
  z-index: 910;
  background-color: rgba(0, 0, 0, 0.9);
  width: 100%;
  height: 100%;
  padding: 0; }
  .burger-nav.open {
    display: block; }
  .burger-nav.close {
    display: none; }

.burger-icon {
  display: block;
  width: 60px;
  height: 80px;
  cursor: pointer;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 920;
  background: #000;
  padding: 20px; }
  .burger-icon span {
    position: absolute;
    left: 17px;
    width: 45%;
    height: 1px;
    background-color: #fff;
    border-radius: 4px;
    transition: all 0.4s; }
    .burger-icon span:nth-of-type(1) {
      top: 36%; }
    .burger-icon span:nth-of-type(2) {
      top: 50%; }
    .burger-icon span:nth-of-type(3) {
      bottom: 36%; }
  .burger-icon.is-burger-nav-open span {
    background-color: #fff; }
    .burger-icon.is-burger-nav-open span:nth-of-type(1) {
      transform: translateY(10px) rotate(-45deg); }
    .burger-icon.is-burger-nav-open span:nth-of-type(2) {
      opacity: 0; }
    .burger-icon.is-burger-nav-open span:nth-of-type(3) {
      transform: translateY(-10px) rotate(45deg); }

.burger-nav {
  padding-top: 80px; }
  .burger-nav a {
    width: 100%;
    float: none;
    padding: 22px 20px;
    border-top: #444 solid 1px;
    background-size: 15px;
    text-align: left; }
    .burger-nav a.nav_btn {
      width: 100%;
      float: none;
      padding: 22px 20px;
      border-top: #444 solid 1px;
      background-size: 15px;
      text-align: left;
      border-radius: 0;
      margin: 0; }
    .burger-nav a span {
      display: none; }

.g_head.fix {
  height: 80px; }
  .g_head.fix .logo img {
    width: 100%; }
  .g_head.fix .logo a {
    padding-top: 15px; }

/* メインビジュアル */
.hero_outer {
  z-index: 2;
  position: relative; }

.hero .hero_wrap_content {
  margin-left: 40px !important; }
  .hero .hero_wrap_content .ins {
    padding: 42vh 0 0 32px !important;
    background: url("../images/common/hero.png") no-repeat 35% 50% !important;
    background-size: cover; }
  .hero .hero_wrap_content .text-area span.main-text {
    font-size: 38px !important;
    font-weight: bold;
    padding: 0 0 16px 0;
    line-height: 200%; }
  .hero .hero_wrap_content .text-area span.sub-text {
    font-size: 18px !important;
    padding: 2px 0;
    line-height: 200%; }

.side_icon {
  position: relative;
  bottom: -80vh;
  left: 10px; }

.fb_icon {
  position: absolute;
  bottom: 147px;
  left: 0;
  width: 20px; }

.scrolldown2 {
  bottom: 0;
  left: 10px;
  z-index: 999; }

.br_sp {
  display: block !important; }

.sub_fb {
  display: none; }

.service .side_icon,
.movie_seminer .side_icon {
  display: none; }

.hero_outer .side_icon {
  display: block !important; }

/* ----------------------------------------------------
	.content
---------------------------------------------------- */
#content {
  clear: both;
  z-index: 0; }

.base_ttl {
  padding-bottom: 30px;
  text-align: center; }
  .base_ttl h2 {
    font-size: 30px;
    padding-bottom: 10px; }
  .base_ttl .en {
    font-size: 16px; }
  .base_ttl hr {
    width: 68px;
    margin: 26px auto 0;
    color: #27897A;
    height: 2px !important; }

/* ------------------------------------------------------------------------------------

	.home

------------------------------------------------------------------------------------ */
.home .sec01 {
  padding: 40px 0 60px; }
  .home .sec01 .left {
    float: none;
    width: 100%; }
    .home .sec01 .left h2 {
      font-size: 32px; }
    .home .sec01 .left .base_btn {
      width: 60%;
      margin-top: 30px; }
  .home .sec01 .right {
    float: none;
    width: 100%;
    padding-top: 40px; }
.home .sec02 {
  clear: both;
  padding: 0 0 30px;
  background: #FBF7F2 url("../images/home/sec2_1.png") no-repeat 50% 0; }
  .home .sec02 .profile {
    margin-bottom: 30px; }
  .home .sec02 .sec02_head {
    color: #fff;
    padding: 50px 0 50px; }
    .home .sec02 .sec02_head h2 {
      font-size: 34px;
      padding-bottom: 40px;
      line-height: 150%; }
    .home .sec02 .sec02_head p {
      line-height: 180%; }
  .home .sec02 .inner2 {
    width: 100%;
    margin: auto; }
  .home .sec02 .body {
    margin: 0 16px;
    border-radius: 30px;
    padding: 50px 30px 1px 30px; }
    .home .sec02 .body .left {
      float: none;
      width: 100%; }
      .home .sec02 .body .left .base_ttl {
        text-align: center; }
        .home .sec02 .body .left .base_ttl hr {
          margin: 20px auto 0; }
      .home .sec02 .body .left p {
        margin-bottom: 20px; }
      .home .sec02 .body .left .base_btn {
        width: 100%;
        margin: 30px 0; }
    .home .sec02 .body .right {
      float: none;
      width: 100%;
      text-align: center;
      padding: 20px 0; }
      .home .sec02 .body .right img {
        width: 80%; }
  .home .sec02 .links {
    border-top: #D8D8D8 solid 1px;
    padding-top: 30px;
    position: static;
    bottom: 0;
    width: 100%; }
    .home .sec02 .links .box {
      float: none;
      width: calc(100% - 1px);
      margin-right: 0;
      margin-bottom: 40px; }
      .home .sec02 .links .box a {
        display: block; }
      .home .sec02 .links .box .txt h3 {
        font-size: 22px;
        margin-bottom: 5px; }
      .home .sec02 .links .box .txt p {
        font-size: 14px;
        line-height: 150%; }
.home .sec03 {
  padding: 50px 0 0; }
  .home .sec03 .base {
    position: relative;
    padding-bottom: 30px; }
    .home .sec03 .base .blk_wrap_1,
    .home .sec03 .base .blk_wrap_2 {
      margin-right: -2%;
      overflow: hidden; }
      .home .sec03 .base .blk_wrap_1 .blk,
      .home .sec03 .base .blk_wrap_2 .blk {
        float: left;
        width: 48%;
        margin-right: 2%;
        height: 210px; }
        .home .sec03 .base .blk_wrap_1 .blk a,
        .home .sec03 .base .blk_wrap_2 .blk a {
          color: #1E1E1E; }
        .home .sec03 .base .blk_wrap_1 .blk h3,
        .home .sec03 .base .blk_wrap_2 .blk h3 {
          font-size: 15px; }
    .home .sec03 .base .blk_wrap_2 {
      margin-left: 0; }
    .home .sec03 .base .link_btn {
      width: 100%;
      margin: 20px auto; }
      .home .sec03 .base .link_btn .base_btn {
        float: none;
        width: 100%;
        margin-right: 0; }
        .home .sec03 .base .link_btn .base_btn a {
          background-color: #fff;
          margin-bottom: 20px; }
  .home .sec03 .base::after {
    content: "";
    display: block;
    width: 200%;
    height: calc(100% - 112px);
    background-color: #FBF7F2;
    position: absolute;
    right: -10%;
    bottom: 0;
    z-index: -1; }
.home .sec04 {
  padding: 50px 0 0; }
  .home .sec04 .blk_wrap {
    margin-right: 0 !important;
    overflow: hidden; }
    .home .sec04 .blk_wrap .blk {
      float: none !important;
      width: 100% !important;
      margin-right: 0 !important;
      margin-bottom: 40px; }
      .home .sec04 .blk_wrap .blk h3 {
        font-size: 19px !important; }
  .home .sec04 .link_btn {
    width: 100% !important;
    margin: 40px auto; }
    .home .sec04 .link_btn .base_btn {
      float: none !important;
      width: 100% !important;
      margin-right: 0;
      margin-bottom: 20px; }
  .home .sec04 .base::after {
    content: "";
    display: block;
    width: 200% !important;
    height: calc(100% - 112px);
    background-color: #FBF7F2;
    position: absolute;
    left: -10%;
    bottom: 0;
    z-index: -1; }
.home .sec05 {
  padding: 50px 0 0; }
  .home .sec05 .infobody {
    float: none;
    width: 100%; }
    .home .sec05 .infobody .blk a {
      padding: 17px 0; }
      .home .sec05 .infobody .blk a .date {
        float: none;
        width: 100%; }
      .home .sec05 .infobody .blk a .ttl {
        float: none;
        width: 100%; }
  .home .sec05 .fbbody {
    float: none;
    width: 100%;
    margin-top: 24px; }
.home .sec06 {
  padding: 50px 0; }
  .home .sec06 .blk_wrap {
    margin-right: 0;
    overflow: hidden; }
    .home .sec06 .blk_wrap .blk {
      float: none;
      width: 100%;
      margin-right: 0;
      margin-bottom: 40px; }
      .home .sec06 .blk_wrap .blk a {
        color: #1E1E1E; }
      .home .sec06 .blk_wrap .blk .img {
        display: block;
        margin: 0 auto 10px; }
      .home .sec06 .blk_wrap .blk h3 {
        font-size: 19px;
        font-weight: bold; }

/* ------------------------------------------------------------------------------------

	下層共通

------------------------------------------------------------------------------------ */
.lows_head {
  background: #27897A url("../images/movie_seminer/kv_bg.png") no-repeat 50% 0;
  background-size: cover;
  padding-bottom: 100px; }
  .lows_head::after {
    height: 70px; }

.subhead {
  background: #27897A url("../images/movie_seminer/kv_bg.png") no-repeat 50% 0;
  background-size: cover;
  padding-bottom: 140px; }

.subheadttl, .lows_head_subheadttl {
  text-align: center;
  color: #fff; }
  .subheadttl .en, .lows_head_subheadttl .en {
    font-size: 18px; }
    .subheadttl .en span, .lows_head_subheadttl .en span {
      border-bottom: #fff solid 1px;
      padding-bottom: 10px; }
  .subheadttl h1, .lows_head_subheadttl h1 {
    font-size: 30px;
    padding: 44px 0 40px; }
  .subheadttl p, .lows_head_subheadttl p {
    font-size: 16px; }

.lows_base_h2 .en {
  font-size: 14px;
  color: #27897A; }
.lows_base_h2 h2 {
  font-size: 27px;
  padding: 15px 0 35px;
  line-height: 140%;
  font-weight: 600 !important; }
.lows_base_h2.first {
  margin-top: -25px; }

.lows_base_h2_2 h2 {
  font-size: 31px;
  padding: 35px 0 50px;
  line-height: 140%;
  font-weight: 600 !important;
  color: #27897A; }
.lows_base_h2_2.first {
  margin-top: -25px; }

#contents section {
  margin-bottom: 50px; }
  #contents section .img_sec {
    padding-top: 25px; }
  #contents section .body p {
    margin-bottom: 25px; }
  #contents section.bg_b {
    background: #FBF7F2;
    padding-top: 50px; }

.pageimg_wrap {
  width: 90%;
  margin: -100px auto; }

.breadcrumb li {
  font-size: 12px; }

.lows_base_table {
  width: 100%;
  border: #DDDDDD solid 1px; }
  .lows_base_table th {
    display: block;
    width: 100%;
    text-align: left;
    border: none;
    padding: 14px 21px;
    font-weight: normal; }
  .lows_base_table td {
    display: block;
    width: 100%;
    border: none;
    padding: 18px 21px; }

.two_col {
  margin-right: 0; }
  .two_col .blk {
    float: none;
    margin-right: 0;
    width: 100%;
    margin-bottom: 35px; }
    .two_col .blk .s_in {
      margin-bottom: 25px; }
    .two_col .blk .txt {
      margin-bottom: 15px; }
  .two_col.margin {
    margin: 55px 0; }

.three_col {
  margin-right: 0;
  overflow: hidden; }
  .three_col .blk {
    float: none;
    margin-right: 0;
    width: 100%; }
    .three_col .blk .s_in {
      margin-bottom: 55px; }
    .three_col .blk .txt {
      margin-bottom: 15px; }
  .three_col.margin {
    margin: 55px 0; }

.lows_list {
  margin-bottom: 0; }

.lows_base_h2_2 h2 {
  font-size: 25px;
  padding: 65px 0 50px 35px;
  line-height: 140%;
  font-weight: 600 !important;
  color: #27897A; }
.lows_base_h2_2.first {
  margin-top: -25px; }

h3.lows_base_h3 {
  font-size: 22px;
  padding: 0px 0 0 30px;
  line-height: 140%;
  font-weight: 600 !important;
  background: url("../images/common/h3.png") no-repeat 0 10px;
  margin-bottom: 10px; }

.caution {
  font-size: 12px;
  line-height: 130%;
  color: #555; }

/* ------------------------------------------------------------------------------------

	company

------------------------------------------------------------------------------------ */
.company .sec02 .inner {
  overflow: hidden; }
.company .sec02 .lows_base_h2 {
  float: none;
  width: 100%; }
.company .sec02 .body {
  float: none;
  width: 100%;
  font-size: 20px;
  line-height: 200%;
  padding-top: 0; }
.company .sec03 .base {
  position: relative; }
.company .sec03 .base::after {
  content: "";
  display: block;
  width: 100%;
  height: calc(100% - 0px);
  background-color: #EFF4F7;
  position: absolute;
  left: -10%;
  bottom: 0;
  z-index: -1; }
.company .sec03 .base_in {
  position: relative;
  margin-bottom: 120px;
  padding: 355px 0 0 0; }
  .company .sec03 .base_in .ttl {
    position: relative;
    width: 90%;
    background: #fff;
    border-radius: 0 16px 0 0;
    padding: 40px 0 0 7vw;
    z-index: 1; }
    .company .sec03 .base_in .ttl .txt_base p {
      font-size: 20px;
      border-bottom: #27897A solid 1px;
      padding: 0 0 10px;
      width: 90%; }
      .company .sec03 .base_in .ttl .txt_base p .en {
        padding-right: 10px;
        color: #27897A; }
  .company .sec03 .base_in::after {
    content: "";
    display: block;
    width: calc(100% - 10%);
    background-size: cover;
    height: 412px;
    position: absolute;
    right: -5%;
    top: 50px;
    z-index: 0;
    border-radius: 16px 0 0 16px;
    transition: all  0.3s ease; }

/* ------------------------------------------------------------------------------------

	profile

------------------------------------------------------------------------------------ */
.profile .sec01 .left {
  float: none;
  width: 100%; }
.profile .sec01 .right {
  float: none;
  width: 80%;
  margin: auto;
  margin-top: 50px; }
  .profile .sec01 .right img {
    display: block;
    margin-bottom: 20px; }
.profile .sec02 .base_in {
  position: relative;
  margin-bottom: 120px;
  padding: 405px 0 0 0;
  overflow: hidden; }
  .profile .sec02 .base_in .ttl {
    position: relative;
    width: 90%;
    background: #fff;
    border-radius: 16px 0 0 0;
    padding: 40px 0 0 10vw;
    z-index: 1;
    float: right; }
    .profile .sec02 .base_in .ttl .txt_base p {
      font-size: 24px;
      border-bottom: #27897A solid 1px;
      padding: 0 30px 10px;
      width: 330px; }
      .profile .sec02 .base_in .ttl .txt_base p .en {
        padding-right: 10px;
        color: #27897A; }
  .profile .sec02 .base_in::after {
    content: "";
    display: block;
    width: calc(100% - 5%);
    background: #000 url("../images/profile/prof02.png") no-repeat 20% 20%;
    background-size: cover;
    height: 412px;
    position: absolute;
    left: -5%;
    top: 50px;
    z-index: 0;
    border-radius: 0 16px 16px 0;
    transition: all  0.3s ease; }

/* ------------------------------------------------------------------------------------

	service

------------------------------------------------------------------------------------ */
.service .linkwrap.right {
  margin-bottom: 40px; }
  .service .linkwrap.right a {
    padding: 30px 0; }
    .service .linkwrap.right a .ttl {
      width: 70%;
      text-align: center;
      padding: 40px 0; }
      .service .linkwrap.right a .ttl p {
        font-size: 18px;
        padding: 0 20px; }
    .service .linkwrap.right a:hover {
      opacity: 1 !important; }
  .service .linkwrap.right::after {
    content: "";
    display: block;
    width: 100%;
    height: calc(100% - 0px);
    position: absolute;
    right: -30%;
    bottom: 0;
    z-index: -1;
    border-radius: 16px 0 0 16px;
    transition: all  0.3s ease;
    background-size: cover;
    background-position: center; }
.service .linkwrap.left {
  margin-bottom: 40px; }
  .service .linkwrap.left a {
    padding: 30px 0; }
    .service .linkwrap.left a .ttl {
      width: 70%;
      text-align: center;
      padding: 40px 0;
      float: right; }
      .service .linkwrap.left a .ttl p {
        font-size: 18px;
        padding: 0 20px; }
    .service .linkwrap.left a:hover {
      opacity: 1 !important; }
  .service .linkwrap.left::after {
    content: "";
    display: block;
    width: 100%;
    height: calc(100% - 0px);
    position: absolute;
    left: -30%;
    bottom: 0;
    z-index: -1;
    border-radius: 0 16px 16px 0;
    transition: all  0.3s ease;
    background-size: cover; }

/* ------------------------------------------------------------------------------------

	無料メール動画講座

------------------------------------------------------------------------------------ */
.movie_seminer .ms_base_ttl .en {
  font-size: 13px;
  color: #27897A; }
.movie_seminer .ms_base_ttl h2 {
  font-size: 28px;
  padding: 20px 0 30px;
  line-height: 140%; }
.movie_seminer .sec01 {
  position: relative;
  padding: 250px 0 0; }
  .movie_seminer .sec01 .ttl_img {
    position: absolute;
    top: 160px;
    right: 0px;
    width: 95%; }
.movie_seminer .sec02 {
  padding: 60px 0; }
  .movie_seminer .sec02 .s_kv {
    padding-bottom: 60px; }
  .movie_seminer .sec02 .ms_base_ttl {
    float: none;
    width: 100%; }
  .movie_seminer .sec02 .body01 {
    float: none;
    width: 100%;
    margin-top: 0; }
  .movie_seminer .sec02 .body2 {
    font-size: 20px;
    padding: 35px 70px;
    margin-top: 45px;
    line-height: 170%;
    background: url("../images/movie_seminer/sec02_2.png") no-repeat 13px -20px, url("../images/movie_seminer/sec02_3.png") no-repeat 97.5% 110%; }
.movie_seminer .sec03 {
  padding: 50px 0;
  background: url("../images/movie_seminer/sec03_1.png") no-repeat 50% 0; }
  .movie_seminer .sec03 .base {
    border-radius: 4px;
    background: #fff;
    box-shadow: 0px 3px 6px 0px #d1d1d1;
    width: 100%;
    margin: auto;
    padding: 40px 0; }
    .movie_seminer .sec03 .base h2 {
      text-align: center;
      font-size: 34px;
      margin-bottom: 0; }
    .movie_seminer .sec03 .base dl {
      font-size: 20px;
      padding: 0 24px; }
      .movie_seminer .sec03 .base dl dt {
        width: 100%;
        text-align: left;
        float: none;
        border-bottom: none;
        padding: 15px 0 0 0;
        box-sizing: border-box; }
      .movie_seminer .sec03 .base dl dd {
        width: 100%;
        float: none;
        padding: 7px 0 15px 0;
        font-size: 18px; }
  .movie_seminer .sec03 .txt {
    text-align: center;
    padding: 30px 0 25px; }
  .movie_seminer .sec03 .cta_btn a {
    display: block;
    background: #27897A url("../images/movie_seminer/sec03_2.png") no-repeat 93% 50%;
    text-align: left;
    font-size: 21px;
    width: 100%;
    margin: auto;
    padding: 45px 30px;
    border-radius: 16px; }

.voice .two_col {
  overflow: inherit !important;
  margin-top: 30px; }
  .voice .two_col .blk {
    margin-bottom: 30px; }
    .voice .two_col .blk .ttl {
      padding: 15px 20px 20px; }
      .voice .two_col .blk .ttl p {
        font-size: 15px;
        margin-bottom: 10px;
        line-height: 130%; }
      .voice .two_col .blk .ttl h2 {
        font-size: 24px;
        font-weight: bold; }
    .voice .two_col .blk .body {
      padding: 30px; }
      .voice .two_col .blk .body .body_in {
        padding-top: 30px; }
        .voice .two_col .blk .body .body_in h3 {
          margin-bottom: 10px;
          font-size: 20px; }
      .voice .two_col .blk .body .base_btn {
        width: 100%; }
.voice.detail .lows_base_h2 .cop {
  font-size: 16px;
  padding-top: 30px; }
.voice.detail .lows_base_h2 h2 {
  padding-top: 5px; }
.voice.detail .three_col .blk {
  margin-bottom: 20px; }
.voice.detail .sec02 {
  padding-bottom: 50px; }
  .voice.detail .sec02 h2 {
    color: #27897A;
    font-size: 22px;
    background: url("../images/voice/img09.png") no-repeat 0 18px;
    background-size: 30px;
    padding-left: 40px;
    margin-top: 40px; }
  .voice.detail .sec02 p {
    padding: 25px 0 0; }
  .voice.detail .sec02 a {
    color: #000;
    text-decoration: underline; }
    .voice.detail .sec02 a i {
      color: #27897A; }
.voice.detail .thanks {
  text-align: center; }
  .voice.detail .thanks p {
    font-size: 28px;
    font-weight: bold;
    margin-bottom: 30px; }
  .voice.detail .thanks a {
    text-decoration: underline; }

.faq {
  /*CSS for CodePen*/ }
  .faq .int {
    padding-bottom: 80px; }
  .faq .accordion-container .accordion-title {
    position: relative;
    margin: 0;
    cursor: pointer;
    border-top: #D8D8D8 solid 1px;
    font-size: 18px;
    font-weight: bold;
    padding: 20px 40px 20px 1.5em;
    text-indent: -1.5em; }
    .faq .accordion-container .accordion-title span.q {
      color: #27897A;
      margin-right: .5em; }
  .faq .accordion-container .accordion-title:hover,
  .faq .accordion-container .accordion-title:active,
  .faq .accordion-title.open {
    background-color: #fff; }
  .faq .accordion-container .accordion-title::after {
    content: url("../images/faq/img02.png");
    position: absolute;
    top: 25px;
    right: 5px;
    width: 0;
    height: 0; }
  .faq .accordion-container .accordion-title.open::after {
    content: url("../images/faq/img01.png");
    position: absolute;
    top: 17px;
    right: -2px;
    border: 8px solid transparent;
    border-bottom-color: #fff; }
  .faq .accordion-content {
    padding-left: 1.5em;
    text-indent: -1.5em;
    font-weight: normal; }
    .faq .accordion-content span.a {
      color: #DBA148;
      margin-right: .5em; }
  .faq .accordion-container {
    margin: 0 auto; }

.blog .sec01 {
  padding-top: 50px; }
.blog .maincnt {
  float: none;
  width: 100%; }
  .blog .maincnt h2 {
    padding-bottom: 20px; }
  .blog .maincnt .cat {
    margin-bottom: 30px; }
    .blog .maincnt .cat span {
      background: #27897A;
      color: #fff;
      font-size: 14px;
      padding: 0 10px; }
.blog .sidecnt {
  float: none;
  width: 100%;
  margin-top: 60px;
  /*CSS for CodePen*/ }
  .blog .sidecnt .side_blk {
    margin-bottom: 50px; }
  .blog .sidecnt h3 {
    background: url("../images/blog/img02.png") no-repeat 0 100%;
    background-size: contain;
    padding: 0 0 20px;
    font-size: 20px;
    margin-bottom: 0;
    font-weight: bold; }
  .blog .sidecnt li a {
    display: block;
    border-bottom: #D8D8D8 solid 1px;
    padding: 10px 0; }
  .blog .sidecnt .accordion-container .accordion-title {
    position: relative;
    margin: 0;
    cursor: pointer;
    font-size: 16px;
    padding: 10px 0 7px 0;
    border-bottom: #D8D8D8 solid 1px; }
    .blog .sidecnt .accordion-container .accordion-title span.q {
      color: #27897A;
      margin-right: .5em; }
  .blog .sidecnt .accordion-container .accordion-title:hover,
  .blog .sidecnt .accordion-container .accordion-title:active,
  .blog .sidecnt .accordion-title.open {
    background-color: #fff; }
  .blog .sidecnt .accordion-container .accordion-title::after {
    content: url("../images/blog/img03.png");
    position: absolute;
    top: 8px;
    right: 25px;
    width: 0;
    height: 0; }
  .blog .sidecnt .accordion-container .accordion-title.open::after {
    content: url("../images/blog/img04.png");
    position: absolute;
    top: 5px;
    right: 25px; }
  .blog .sidecnt .accordion-content span.a {
    color: #DBA148;
    margin-right: .5em; }
  .blog .sidecnt .accordion-container {
    margin: 0 auto; }
.blog .sec01.idx {
  padding-top: 0; }
  .blog .sec01.idx .sidecnt {
    margin-top: 20px; }
  .blog .sec01.idx .lists .base a {
    display: block;
    border-bottom: #D8D8D8 solid 1px;
    padding: 20px 0 25px 0; }
    .blog .sec01.idx .lists .base a .date {
      float: none;
      width: 100%;
      margin-bottom: 7px; }
    .blog .sec01.idx .lists .base a .ttl {
      float: none;
      width: 100%; }
.blog .pager .pagination {
  border-bottom: #D8D8D8 solid 1px;
  padding: 25px 0 30px;
  margin-bottom: 50px; }
.blog .pager .pagination li.pre {
  position: absolute;
  top: 0;
  left: 0;
  width: 100px;
  font-size: 14px; }
  .blog .pager .pagination li.pre:after {
    content: none; }
.blog .pager .pagination li.next {
  position: absolute;
  top: 0;
  right: 0;
  width: 100px;
  font-size: 14px; }
  .blog .pager .pagination li.next:after {
    content: none; }

.contact .flow {
  width: 70%;
  margin: 30px auto 30px; }
.contact th {
  text-align: left;
  vertical-align: middle;
  width: 100%;
  display: block; }
  .contact th span {
    color: #fff;
    background: #000;
    padding: 2px;
    display: block;
    float: right;
    width: 40px;
    font-size: 11px;
    line-height: 100%;
    text-align: center;
    margin-top: 10px; }
.contact .s_name {
  font-size: 15px;
  padding-right: 15px; }
.contact .s_txt {
  font-size: 13px;
  padding-left: 0;
  margin-top: 7px; }
.contact .s_s {
  width: 100%;
  margin-right: 30px; }
.contact .s_m {
  width: 100%; }
.contact .s_l {
  width: 100%; }
.contact .pp {
  width: 100%;
  margin: 30px auto 30px; }
.contact .cp_ipselect {
  overflow: hidden;
  width: 100%;
  text-align: center; }
.contact .checkbox01 {
  font-size: 13px; }
.contact .submit.single {
  width: 100%;
  margin: 30px auto; }
.contact .submit.double {
  width: 100%;
  overflow: hidden;
  margin: 30px auto 50px; }
  .contact .submit.double button[type="submit"] {
    float: none;
    width: 100%; }
  .contact .submit.double input[type="submit"] {
    float: none;
    width: 100%;
    margin-bottom: 20px; }
.contact.confirm.single {
  width: 100%;
  overflow: hidden;
  margin: 30px auto 50px; }
  .contact.confirm.single button[type="submit"] {
    float: none;
    width: 100%; }
  .contact.confirm.single input[type="submit"] {
    float: none;
    width: 100%;
    margin-bottom: 20px; }

/* ----------------------------------------------------
	footer
---------------------------------------------------- */
.foot_contact {
  padding: 40px 0; }
  .foot_contact .contact_wrap {
    padding: 45px 30px 10px;
    overflow: hidden; }
    .foot_contact .contact_wrap .left {
      width: 100%;
      float: none;
      text-align: center;
      margin-bottom: 30px; }
      .foot_contact .contact_wrap .left .base_ttl {
        padding-bottom: 30px;
        text-align: center; }
        .foot_contact .contact_wrap .left .base_ttl h2 {
          font-size: 30px; }
        .foot_contact .contact_wrap .left .base_ttl .en {
          font-size: 16px; }
        .foot_contact .contact_wrap .left .base_ttl hr {
          width: 68px;
          margin: 26px auto 0;
          color: #27897A; }
    .foot_contact .contact_wrap .right {
      width: 100%;
      float: none; }
      .foot_contact .contact_wrap .right a {
        font-size: 18px; }
      .foot_contact .contact_wrap .right .mail_btn a {
        background-repeat: no-repeat;
        background-position: 15px 50%;
        padding: 25px 0 27px 5.5vw;
        margin-bottom: 24px; }
      .foot_contact .contact_wrap .right .tel_btn span {
        display: block; }
      .foot_contact .contact_wrap .right .tel_btn a {
        background-repeat: no-repeat;
        background-position: 13px 50%;
        padding: 25px 0 27px 0;
        margin-bottom: 24px; }
        .foot_contact .contact_wrap .right .tel_btn a .num {
          font-size: 30px;
          padding: 15px; }
        .foot_contact .contact_wrap .right .tel_btn a .time {
          font-size: 17px; }

.foot_map iframe {
  width: 100%;
  height: 487px; }

footer {
  overflow: hidden;
  clear: both;
  font-size: 12px;
  line-height: 160%; }
  footer .inner {
    margin: 0;
    padding: 0; }
  footer .left {
    float: none;
    width: 100%;
    padding: 20px 15px 30px;
    text-align: center; }
  footer .right {
    float: none;
    width: 100%;
    padding: 0;
    margin-bottom: 24px; }
    footer .right .box {
      float: none;
      width: 100%; }
      footer .right .box .links {
        font-weight: bold;
        margin-bottom: 0;
        border-bottom: #e4e4dd solid 1px;
        padding: 16px 24px; }
      footer .right .box li a {
        display: block;
        border-bottom: #e4e4dd solid 1px;
        padding: 16px 24px; }
    footer .right .box.linkwrap {
      width: 100%; }
  footer .btm {
    clear: both;
    overflow: hidden;
    border-top: #44494e solid 1px; }
  footer .left .foot_logo {
    width: 130px;
    margin: auto; }
  footer .left .name {
    font-size: 13px;
    font-weight: bold;
    margin: 15px 0;
    text-align: center; }
  footer .btm_right {
    font-size: 9px; }

#wrapper {
  min-width: auto; }

.hero .hero_wrap_content {
  margin-left: 0;
  min-height: 500px; }
.hero .sns_wrap {
  display: none; }

img.pc {
  display: none !important; }
img.sp {
  display: block !important; }
