@charset "UTF-8";
/* リセットCSS */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 1.5rem;
  /*font: inherit;*/
  vertical-align: bottom; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1;
  background-color: #fff; }

span {
  font-size: 100%; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

*, *:before, *:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

/*==============================
	基本設定
==============================*/
html, body {
  font-family: 'ヒラギノ角ゴ Pro','Hiragino Kaku Gothic Pro','メイリオ', 'Meiryo', "Yu Gothic Medium", "游ゴシック Medium",'游ゴシック', 'Yu Gothic', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif; }

html {
  font-size: 62.5%; }
  @media screen and (max-width: 767.98px) {
    html {
      font-size: 60.0%; } }
  @media screen and (max-width: 575.98px) {
    html {
      font-size: 58.0%; } }
  @media screen and (max-width: 400px) {
    html {
      font-size: 55.0%; } }

body {
  font-size: 1.5rem;
  line-height: 1.6;
  color: #333;
  transition: 0.3s;
  -webkit-text-stroke: 0.1px;
  text-underline-position: under;
  background-position: center top;
  line-break: strict;
  word-wrap: break-word;
  overflow-wrap: break-word; }

a {
  color: #ED6883; }
  a:hover {
    text-decoration: none;
    cursor: pointer; }

/*ページトップへ戻るボタン*/
#totop {
  display: block;
  width: 50px;
  height: 50px;
  background-color: rgba(255, 255, 255, 0.8);
  transition: 0.3s;
  border-radius: 0.5rem;
  box-shadow: 2px 3px 3px rgba(19, 83, 139, 0.15); }
  #totop::before {
    content: '';
    width: 18px;
    height: 18px;
    border: 0px;
    border-top: solid 5px #ED6883;
    border-right: solid 5px #ED6883;
    position: absolute;
    transform: translate(-50%, -50%) rotate(-45deg);
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    -ms-transform: translate(-50%, -50%) rotate(-45deg);
    top: 65%;
    left: 50%;
    margin-top: -4px; }
  #totop:hover {
    opacity: 0.7;
    transition: 0.3s; }
  @media screen and (max-width: 575.98px) {
    #totop {
      width: 35px;
      height: 35px; }
      #totop::before {
        width: 12px;
        height: 12px;
        border-width: 3px;
        top: 70%;
        left: 50%; } }

/*==============================
	共通
==============================*/
/*フォントサイズ*/
.fs12 {
  font-size: 1.2rem; }
  @media screen and (max-width: 767.98px) {
    .fs12 {
      font-size: 1.14rem; } }

.fs13 {
  font-size: 1.3rem; }
  @media screen and (max-width: 767.98px) {
    .fs13 {
      font-size: 1.235rem; } }

.fs14 {
  font-size: 1.4rem; }
  @media screen and (max-width: 767.98px) {
    .fs14 {
      font-size: 1.33rem; } }

.fs15 {
  font-size: 1.5rem; }
  @media screen and (max-width: 767.98px) {
    .fs15 {
      font-size: 1.425rem; } }

.fs16 {
  font-size: 1.6rem; }
  @media screen and (max-width: 767.98px) {
    .fs16 {
      font-size: 1.52rem; } }

.fs17 {
  font-size: 1.7rem; }
  @media screen and (max-width: 767.98px) {
    .fs17 {
      font-size: 1.615rem; } }

.fs18 {
  font-size: 1.8rem; }
  @media screen and (max-width: 767.98px) {
    .fs18 {
      font-size: 1.71rem; } }

.fs20 {
  font-size: 2rem; }
  @media screen and (max-width: 767.98px) {
    .fs20 {
      font-size: 1.9rem; } }

.fs21 {
  font-size: 2.1rem; }
  @media screen and (max-width: 767.98px) {
    .fs21 {
      font-size: 1.995rem; } }

.fs22 {
  font-size: 2.2rem; }
  @media screen and (max-width: 767.98px) {
    .fs22 {
      font-size: 2.09rem; } }

.fs23 {
  font-size: 2.3rem; }
  @media screen and (max-width: 767.98px) {
    .fs23 {
      font-size: 2.185rem; } }

.fs24 {
  font-size: 2.4rem; }
  @media screen and (max-width: 767.98px) {
    .fs24 {
      font-size: 2.28rem; } }

.fs25 {
  font-size: 2.5rem; }
  @media screen and (max-width: 767.98px) {
    .fs25 {
      font-size: 2.375rem; } }

.fs28 {
  font-size: 2.8rem; }
  @media screen and (max-width: 767.98px) {
    .fs28 {
      font-size: 2.66rem; } }

.fs30 {
  font-size: 3rem; }
  @media screen and (max-width: 767.98px) {
    .fs30 {
      font-size: 2.85rem; } }

.fs32 {
  font-size: 3.2rem; }
  @media screen and (max-width: 767.98px) {
    .fs32 {
      font-size: 3.04rem; } }

.fs35 {
  font-size: 3.5rem; }
  @media screen and (max-width: 767.98px) {
    .fs35 {
      font-size: 3.325rem; } }

.fs44 {
  font-size: 4.4rem; }
  @media screen and (max-width: 767.98px) {
    .fs44 {
      font-size: 4.18rem; } }

/**背景カラー**/
.bg-main {
  background-color: #ED6883; }

.bg-main-l {
  background-color: #FFEBEE; }

.bg-sub-go {
  background-color: #bf932f; }

.bg-sub-go-l {
  background-color: #F8F5EC; }

.bg-sub-or {
  background-color: #fa953f; }

.bg-sub-gr {
  background-color: #4dc09d; }

.bg-black {
  background-color: #333; }

.bg-white {
  background-color: #fff; }

.bg-gray {
  background-color: #F7F7F7; }

.bg-red {
  background-color: #E62120; }

/**テキストカラー**/
.cl-main {
  color: #ED6883; }

.cl-black {
  color: #333; }

.cl-white {
  color: #fff; }

.cl-red {
  color: #E62120; }

/**テキスト太さ**/
.b {
  font-weight: 700 !important; }

/*部分使用フォント文字*/
.ff-sawarabi {
  font-family: 'Sawarabi Mincho', 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', '游明朝','Yu Mincho', '游明朝体', 'YuMincho','ＭＳ Ｐ明朝', 'MS PMincho', serif; }

.ff-mincho {
  font-family: 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', '游明朝','Yu Mincho', '游明朝体', 'YuMincho','ＭＳ Ｐ明朝', 'MS PMincho', serif; }

.ff-CG {
  font-family: 'Cormorant Garamond', 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', '游明朝','Yu Mincho', '游明朝体', 'YuMincho','ＭＳ Ｐ明朝', 'MS PMincho', serif;
  font-style: italic; }

/*サイズ100%*/
.size-full {
  width: 100%;
  height: auto; }

/*ulリスト・有り*/
.list-style-inside {
  list-style: inside; }
  .list-style-inside li {
    text-indent: -2.3rem;
    padding-left: 2.3rem;
    line-height: 3rem; }

/*行間*/
.line-h_1 {
  line-height: 1; }

/*角丸*/
.rounded10 {
  border-radius: 10px; }

.rounded15 {
  border-radius: 15px; }

/*レスポンシブ改行*/
@media screen and (min-width: 768px) {
  .br-pc {
    display: block; }

  .br-sp {
    display: none; } }
@media screen and (max-width: 767.98px) {
  .br-pc {
    display: none; }

  .br-sp {
    display: block; } }
@media screen and (min-width: 992px) {
  .br-lg {
    display: none; }

  .br-lg-b {
    display: block; } }
@media screen and (max-width: 991.98px) {
  .br-lg {
    display: block; }

  .br-lg-b {
    display: none; } }
@media screen and (min-width: 576px) {
  .br-sm {
    display: none; }

  .br-sm-b {
    display: block; } }
@media screen and (max-width: 575.98px) {
  .br-sm {
    display: block; }

  .br-sm-b {
    display: none; } }
@media (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none; } }
/*アンカーズレ調整*/
.anchor_wrap {
  padding-top: 2vh;
  margin-top: -2vh; }
  @media screen and (max-width: 991.98px) {
    .anchor_wrap {
      padding-top: 82px;
      margin-top: -82px; } }
  @media screen and (max-width: 575.98px) {
    .anchor_wrap {
      padding-top: 62px;
      margin-top: -62px; } }

#header {
  width: 100%;
  z-index: 1000;
  background: #fff;
  /*nav-link 　ホバーアニメーション*/ }
  #header .navbar-brand a {
    color: #333;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    -moz-justify-content: flex-start;
    -ms-justify-content: flex-start;
    justify-content: flex-start;
    -ms-flex-pack: flex-start;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center;
    transition: all 0.6s cubic-bezier(0.2, 1, 0.2, 1); }
    #header .navbar-brand a:hover {
      opacity: 0.6;
      color: #333;
      transition: all 0.6s cubic-bezier(0.2, 1, 0.2, 1); }
  #header .nav-btn {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -webkit-justify-content: flex-end;
    -moz-justify-content: flex-end;
    -ms-justify-content: flex-end;
    justify-content: flex-end;
    -ms-flex-pack: flex-end;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center; }
    #header .nav-btn a {
      color: #fff;
      letter-spacing: 0.05rem;
      text-align: center;
      transition: all 0.6s cubic-bezier(0.2, 1, 0.2, 1);
      height: 50px;
      padding: 0.5rem 2.5rem 0.25rem;
      margin-left: 1.5rem;
      border-radius: 0 0 10px 10px;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-justify-content: center;
      -moz-justify-content: center;
      -ms-justify-content: center;
      justify-content: center;
      -ms-flex-pack: center;
      -webkit-align-items: center;
      -moz-align-items: center;
      -ms-align-items: center;
      align-items: center; }
      #header .nav-btn a img {
        vertical-align: bottom; }
      #header .nav-btn a:hover {
        color: #fff; }
    #header .nav-btn a.bg-main:hover {
      background-color: #e54a66;
      transition: all 0.6s cubic-bezier(0.2, 1, 0.2, 1); }
    #header .nav-btn a.bg-sub-or:hover {
      background-color: #EF8225;
      transition: all 0.6s cubic-bezier(0.2, 1, 0.2, 1); }
    #header .nav-btn a.bg-sub-gr:hover {
      background-color: #2BB58C;
      transition: all 0.6s cubic-bezier(0.2, 1, 0.2, 1); }
  @media screen and (min-width: 992px) {
    #header .navbar {
      padding: 0; }
      #header .navbar .nav-item {
        text-align: center;
        transition: 0.2s; }
        #header .navbar .nav-item .nav-link {
          padding: 0.5rem 1.0rem 1.0rem;
          margin: 0 0.5rem;
          color: #333;
          font-weight: 700;
          line-height: 1.2;
          position: relative; }
          #header .navbar .nav-item .nav-link::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            /*線の形状*/
            width: 100%;
            height: 2px;
            background: #ED6883;
            border-radius: 5px;
            /*アニメーションの指定*/
            transition: all .3s;
            transform: scale(0, 1);
            /*X方向0、Y方向1*/
            transform-origin: center top;
            /*上部中央基点*/ }
          #header .navbar .nav-item .nav-link:hover {
            color: #ED6883;
            z-index: 1; }
            #header .navbar .nav-item .nav-link:hover::after {
              transform: scale(1, 1); } }
  @media screen and (max-width: 1199.98px) {
    #header .container {
      max-width: 100%; }
    #header .navbar .nav-item .nav-link {
      padding: 0.5rem 1.0rem 1.0rem;
      margin: 0; } }
@keyframes bgappear {
  0% {
    width: 0%;
    height: 1px; }
  50% {
    width: 100%;
    height: 1px; }
  100% {
    width: 100%;
    height: 100%;
    background: #0481A2; } }
  @media screen and (max-width: 991.98px) {
    #header {
      height: 80px;
      position: fixed;
      top: 0; }
      #header .container {
        padding-right: 0; }
      #header .logosp {
        margin-right: 1.5rem; }
      #header .nav-btn a.bg-sub-gr, #header .nav-btn a.bg-sub-or, #header .nav-btn a.bg-main {
        background-color: #fff; }
        #header .nav-btn a.bg-sub-gr:hover, #header .nav-btn a.bg-sub-or:hover, #header .nav-btn a.bg-main:hover {
          background-color: #fff; }
      #header .nav-btn a.bg-sub-gr {
        color: #4dc09d; }
      #header .nav-btn a.bg-sub-or {
        color: #fa953f; }
      #header .nav-btn a.bg-main {
        color: #ED6883; }
      #header .nav-btn a {
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-justify-content: center;
        -moz-justify-content: center;
        -ms-justify-content: center;
        justify-content: center;
        -ms-flex-pack: center;
        -webkit-align-items: center;
        -moz-align-items: center;
        -ms-align-items: center;
        align-items: center;
        -webkit-flex-direction: column;
        -moz-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 0;
        font-size: 13px;
        line-height: 1.2;
        border-radius: 0;
        margin: auto 1.5rem;
        width: 75px;
        height: 60px; }
        #header .nav-btn a:hover {
          background-color: #fff;
          opacity: 0.6; }
      #header .nav-btn li:first-child {
        border-left: 1px solid #d7d5d5; }
      #header .nav-btn li + li {
        border-left: 1px solid #d7d5d5; }
      #header .navbar {
        background-color: #fff;
        position: absolute;
        box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.2);
        top: 80px;
        left: 0;
        width: 100%; }
        #header .navbar .nav-item {
          text-align: left; }
          #header .navbar .nav-item .nav-link {
            color: #333;
            border-top: 1px solid #d7d5d5;
            margin: 0;
            padding: 12px 10px;
            font-family: 'Sawarabi Mincho', 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', '游明朝','Yu Mincho', '游明朝体', 'YuMincho','ＭＳ Ｐ明朝', 'MS PMincho', serif;
            font-weight: 500;
            transition: all 0.6s cubic-bezier(0.2, 1, 0.2, 1); }
          #header .navbar .nav-item:hover {
            background: #FFEBEE;
            cursor: pointer;
            transition: all 0.6s cubic-bezier(0.2, 1, 0.2, 1); }
            #header .navbar .nav-item:hover .nav-link {
              color: #ED6883;
              transition: all 0.6s cubic-bezier(0.2, 1, 0.2, 1); }
        #header .navbar .sp-item {
          background: #ED6883; }
          #header .navbar .sp-item:hover {
            background: #ED6883; }
            #header .navbar .sp-item:hover .nav-link {
              color: #fff; }
        #header .navbar .nav-link {
          color: #fff;
          font-weight: 700;
          line-height: 1.2; }
          #header .navbar .nav-link img {
            vertical-align: bottom; }
      #header .navbar-nav {
        position: absolute;
        z-index: 100;
        top: 0;
        left: 0;
        background-color: #fff; }
      #header .mordal-bg {
        display: none; }
      #header .mordal-bg.show {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 99;
        width: 100vw;
        height: 100vh;
        background: rgba(0, 0, 0, 0.4);
        animation-name: fadeInAnime;
        animation-duration: 0.5s;
        animation-fill-mode: forwards;
        opacity: 0; }
    @keyframes fadeInAnime {
      from {
        opacity: 0;
        height: 0; }
      to {
        opacity: 1; } } }
  @media screen and (max-width: 767.98px) {
    #header .container {
      padding-left: 1.0rem; }
    #header .nav-btn a {
      font-size: 12px;
      line-height: 1.0;
      width: 50px; }
    #header .nav-btn li:nth-child(2) a {
      width: 62px; } }
  @media screen and (max-width: 575.98px) {
    #header {
      height: 60px; }
      #header .container {
        padding-left: 1.0rem; }
      #header .logosp {
        width: 220px;
        margin-right: 1.0rem; }
      #header .nav-btn a {
        font-size: 10px;
        line-height: 1.0;
        margin: auto 0.7rem;
        width: 40px;
        height: 40px;
        letter-spacing: inherit; }
        #header .nav-btn a img {
          width: 20px; }
      #header .nav-btn li:nth-child(2) a {
        width: 50px; }
      #header .navbar {
        top: 60px; } }

#header.sp_scroll {
  box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.2); }

/*------------------  ハンバーガーアイコン ------------------*/
button.navbar-toggler {
  outline: none;
  padding: 0;
  width: 50px;
  height: 50px;
  /*ボタン内側*/
  /*activeクラスが付与されると線が回転して×に*/
  margin: 0 1.5rem; }
  button.navbar-toggler .openbtn1 {
    position: relative;
    background: transparent;
    cursor: pointer;
    width: 100%;
    height: 100%; }
  button.navbar-toggler .openbtn1 span {
    display: inline-block;
    transition: all .4s;
    /*アニメーションの設定*/
    position: absolute;
    left: 18%;
    height: 3px;
    background: #333;
    width: 64%; }
  button.navbar-toggler .openbtn1 span:nth-of-type(1) {
    top: 18%; }
  button.navbar-toggler .openbtn1 span:nth-of-type(2) {
    top: 35%; }
  button.navbar-toggler .openbtn1 span:nth-of-type(3) {
    top: 52%; }
  button.navbar-toggler .openbtn1.active span:nth-of-type(1) {
    top: 22%;
    left: 20%;
    transform: translateY(6px) rotate(-45deg);
    width: 62%; }
    @media screen and (max-width: 450px) {
      button.navbar-toggler .openbtn1.active span:nth-of-type(1) {
        top: 19%; } }
  button.navbar-toggler .openbtn1.active span:nth-of-type(2) {
    opacity: 0;
    /*真ん中の線は透過*/ }
  button.navbar-toggler .openbtn1.active span:nth-of-type(3) {
    top: 45%;
    left: 20%;
    transform: translateY(-6px) rotate(45deg);
    width: 62%; }
    @media screen and (max-width: 450px) {
      button.navbar-toggler .openbtn1.active span:nth-of-type(3) {
        top: 50%; } }
  button.navbar-toggler p {
    position: absolute;
    bottom: 0;
    font-size: 1.2rem;
    left: 0;
    width: 100%;
    text-align: center;
    color: #333; }
  @media screen and (max-width: 767.98px) {
    button.navbar-toggler {
      margin: 0 0.5rem; } }
  @media screen and (max-width: 575.98px) {
    button.navbar-toggler {
      margin: 0; }
      button.navbar-toggler p {
        font-size: 1.1rem; } }
  @media screen and (max-width: 450px) {
    button.navbar-toggler {
      width: 40px;
      height: 40px;
      margin: 0.4rem; }
      button.navbar-toggler p {
        font-size: 1.0rem; } }

/*==============================
	フッター
==============================*/
#footer {
  margin-top: 140px; }
  @media screen and (max-width: 575.98px) {
    #footer {
      margin-top: 100px; } }
  #footer .att_btn .effect_blur {
    position: relative;
    z-index: 0;
    overflow: hidden; }
    #footer .att_btn .effect_blur::before {
      content: "";
      background: inherit;
      transition: all 0.6s cubic-bezier(0.2, 1, 0.2, 1);
      position: absolute;
      top: -2px;
      left: -2px;
      right: -2px;
      bottom: -2px;
      z-index: -1; }
    #footer .att_btn .effect_blur:hover::before {
      -webkit-filter: blur(2px);
      -moz-filter: blur(2px);
      -o-filter: blur(2px);
      -ms-filter: blur(2px);
      filter: blur(2px); }
  #footer .att_btn #opencampas {
    background: url("../images/common/f_bg-oc.jpg") no-repeat;
    background-position: center;
    background-size: cover; }
  #footer .att_btn #request {
    background: url("../images/common/f_bg-rq.jpg") no-repeat;
    background-position: center;
    background-size: cover; }
  #footer .att_btn .inner {
    min-height: 150px;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
    -ms-flex-pack: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center;
    color: #fff;
    text-shadow: 1px 1px 4px rgba(1, 0, 0, 0.6);
    background-color: rgba(0, 0, 0, 0.5);
    letter-spacing: 0.15rem;
    transition: all 0.6s cubic-bezier(0.2, 1, 0.2, 1); }
    #footer .att_btn .inner:hover {
      background-color: rgba(32, 11, 29, 0.6);
      transition: all 0.6s cubic-bezier(0.2, 1, 0.2, 1); }
  @media screen and (max-width: 991.98px) {
    #footer .att_btn .inner {
      min-height: 130px; } }
  @media screen and (max-width: 767.98px) {
    #footer .att_btn .effect_blur {
      margin-bottom: 1px; }
    #footer .att_btn .inner {
      min-height: 90px; } }
  #footer .f-left p {
    color: #333;
    line-height: 1.6; }
    #footer .f-left p span {
      display: inline-block;
      padding-left: 0.5rem; }
    #footer .f-left p a {
      color: #333;
      font-size: 100%; }
  @media screen and (max-width: 991.98px) {
    #footer .f-left {
      text-align: center;
      margin-bottom: 30px; } }
  @media screen and (max-width: 575.98px) {
    #footer .f-left {
      text-align: center;
      margin-top: 20px;
      margin-bottom: 0; } }
  #footer .f-right {
    transition: all 0.6s cubic-bezier(0.2, 1, 0.2, 1); }
    #footer .f-right a:hover {
      opacity: 0.6;
      transition: all 0.6s cubic-bezier(0.2, 1, 0.2, 1); }
    #footer .f-right .f-nav {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-justify-content: flex-end;
      -moz-justify-content: flex-end;
      -ms-justify-content: flex-end;
      justify-content: flex-end;
      -ms-flex-pack: flex-end;
      -webkit-align-items: flex-start;
      -moz-align-items: flex-start;
      -ms-align-items: flex-start;
      align-items: flex-start;
      transition: all 0.6s cubic-bezier(0.2, 1, 0.2, 1);
      letter-spacing: 0.05rem; }
      #footer .f-right .f-nav .nav-sp {
        display: none; }
      #footer .f-right .f-nav .f-nav-link {
        transition: all 0.6s cubic-bezier(0.2, 1, 0.2, 1);
        border-left: 1px solid #ED6883;
        font-weight: 700;
        padding: 2px 20px 2px 10px; }
        #footer .f-right .f-nav .f-nav-link a:hover {
          color: #ED6883; }
      #footer .f-right .f-nav .f-nav_item .f-nav_item-link {
        font-weight: 500; }
        #footer .f-right .f-nav .f-nav_item .f-nav_item-link a {
          color: #58585D;
          font-size: 1.3rem;
          transition: 0.3s;
          padding: 0 2px 0 0; }
          #footer .f-right .f-nav .f-nav_item .f-nav_item-link a:hover {
            color: #ED6883;
            padding: 0 0 0 2px; }
    @media screen and (max-width: 991.98px) {
      #footer .f-right .f-nav {
        -webkit-justify-content: center;
        -moz-justify-content: center;
        -ms-justify-content: center;
        justify-content: center;
        -ms-flex-pack: center; }
      #footer .f-right .f-nav > li {
        width: 25%; } }
    @media screen and (max-width: 767.98px) {
      #footer .f-right .f-nav > li {
        width: auto; }
      #footer .f-right .f-nav .f-nav-link {
        padding: 2px 15px 2px 8px; } }
    @media screen and (max-width: 575.98px) {
      #footer .f-right .f-nav > li {
        width: 100%; }
      #footer .f-right .f-nav {
        -webkit-flex-direction: column;
        -moz-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        letter-spacing: 0.15rem; }
        #footer .f-right .f-nav .nav-sp {
          display: block; }
        #footer .f-right .f-nav .f-nav-link {
          width: 100%;
          padding: 0;
          border-left: none; }
          #footer .f-right .f-nav .f-nav-link a {
            display: block;
            color: #fff;
            background-color: #ED6883;
            padding: 12px 32px 12px 15px;
            margin-bottom: 2px; }
            #footer .f-right .f-nav .f-nav-link a:hover {
              color: #fff;
              background-color: #e54a66;
              opacity: 1; }
          #footer .f-right .f-nav .f-nav-link .f-nav_item .f-nav_item-link a {
            display: block;
            color: #333;
            background-color: #F7F7F7;
            padding: 8px 32px 8px 15px;
            margin-bottom: 1px; }
            #footer .f-right .f-nav .f-nav-link .f-nav_item .f-nav_item-link a:hover {
              color: #333;
              opacity: 1; } }
    @media screen and (max-width: 575.98px) {
      #footer .f-right .accordion-area {
        list-style: none;
        width: 96%;
        max-width: 900px; }
      #footer .f-right .trigger {
        position: relative;
        cursor: pointer;
        transition: all .2s ease; }
      #footer .f-right .accordion-box {
        display: none; }
      #footer .f-right .trigger::before, #footer .f-right .trigger::after {
        position: absolute;
        content: '';
        width: 16px;
        height: 1px;
        background-color: #fff;
        transition: all .3s ease; }
      #footer .f-right .trigger::before {
        top: 48%;
        right: 16px;
        transform: rotate(0deg);
        transition: all .3s ease; }
      #footer .f-right .trigger::after {
        top: 48%;
        right: 16px;
        transform: rotate(90deg);
        transition: all .3s ease; }
      #footer .f-right .trigger.opened::before, #footer .f-right .trigger.opened::after {
        transform: rotate(0); }
      #footer .f-right .icon_r, #footer .f-right .icon_r-black {
        position: relative; }
        #footer .f-right .icon_r::before, #footer .f-right .icon_r-black::before, #footer .f-right .icon_r::after, #footer .f-right .icon_r-black::after {
          position: absolute;
          content: '';
          background-color: #fff; }
        #footer .f-right .icon_r::before, #footer .f-right .icon_r-black::before {
          width: 8px;
          height: 1px;
          top: 48%;
          right: 14px;
          transform: rotate(45deg); }
        #footer .f-right .icon_r::after, #footer .f-right .icon_r-black::after {
          width: 19px;
          height: 1px;
          top: 54%;
          right: 15px;
          transform: rotate(0deg); }
      #footer .f-right .icon_r-black::before, #footer .f-right .icon_r-black::after {
        background-color: #8f8f8f; }
      #footer .f-right .icon_r-black::before {
        width: 8px;
        right: 15px; }
      #footer .f-right .icon_r-black::after {
        width: 17px;
        top: 58%; } }
    #footer .f-right .f-sns {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-justify-content: flex-end;
      -moz-justify-content: flex-end;
      -ms-justify-content: flex-end;
      justify-content: flex-end;
      -ms-flex-pack: flex-end;
      -webkit-align-items: flex-start;
      -moz-align-items: flex-start;
      -ms-align-items: flex-start;
      align-items: flex-start; }
      #footer .f-right .f-sns li {
        padding: 0.3rem; }
      @media screen and (max-width: 575.98px) {
        #footer .f-right .f-sns {
          width: 80%;
          margin: auto;
          -webkit-justify-content: space-between;
          -moz-justify-content: space-between;
          -ms-justify-content: space-between;
          justify-content: space-between;
          -ms-flex-pack: space-between; }
          #footer .f-right .f-sns li {
            text-align: center;
            flex-grow: 1;
            border-left: 1px solid #D0CAC7;
            padding: 0 0.5rem; }
            #footer .f-right .f-sns li:last-child {
              border-right: 1px solid #D0CAC7; } }

/*==============================
	お問い合わせフォーム
==============================*/
#page-contact .hero {
  background-image: url("../images/contact/hero.jpg"); }
  @media screen and (max-width: 460px) {
    #page-contact .hero {
      background-image: url("../images/contact/hero_sp.jpg"); } }

/*************************
コンタクトフォーム【※！汎用！※】
*************************/
#contact-form {
  /*プレースホルダーフォーカスで消える*/ }
  #contact-form .form-wrap {
    margin: auto;
    max-width: 720px;
    padding: 4.0rem 6.0rem;
    border: 1px solid #ED6883;
    box-shadow: 0px 3px 6px 0px rgba(65, 65, 65, 0.2);
    border-radius: 1.0rem;
    /*項目*/
    /*項目ラベル*/
    /*全体共通*/
    /*問い合わせ内容*/
    /*生年月日*/
    /*セレクト*/
    /*送信ボタン*/ }
    @media screen and (max-width: 767.98px) {
      #contact-form .form-wrap {
        padding: 4.0rem; } }
    @media screen and (max-width: 575.98px) {
      #contact-form .form-wrap {
        padding: 4.0rem 2.5rem; } }
    #contact-form .form-wrap .form-group {
      margin-bottom: 0; }
    #contact-form .form-wrap .form_box {
      margin-bottom: 2.0rem; }
      #contact-form .form-wrap .form_box:nth-last-child(2) {
        border-top: 2px dotted #ED6883;
        padding-top: 1rem;
        margin-top: 3rem; }
    #contact-form .form-wrap .control-label {
      font-size: 1.5rem;
      font-weight: 700;
      font-family: sans-serif;
      padding-bottom: 4px;
      display: block;
      line-height: 2.0; }
      #contact-form .form-wrap .control-label .required {
        display: inline-block;
        padding: 0 10px;
        font-size: 70%;
        background: #E62120;
        color: #fff;
        border-radius: 0.5rem;
        margin-left: 1.0rem;
        vertical-align: top;
        margin-top: 2px; }
    #contact-form .form-wrap .form-control {
      height: 40px;
      background-color: #FFFDFE;
      border: 1px solid #9B9B9B;
      color: #333;
      width: 100%;
      font-size: 1.5rem;
      margin-bottom: 1rem; }
      #contact-form .form-wrap .form-control:focus {
        background-color: #fff;
        box-shadow: none; }
    #contact-form .form-wrap textarea.form-control {
      height: auto;
      min-height: 200px;
      width: 100% !important;
      max-width: 100%; }
    #contact-form .form-wrap .form-control.form-birth {
      width: inherit;
      display: inline-block; }
    #contact-form .form-wrap p.birth {
      font-size: 1.4rem;
      padding-left: 0.5rem;
      padding-right: 1.0rem;
      margin-bottom: 0.5rem;
      display: inline-block; }
    #contact-form .form-wrap .br-365 {
      display: none; }
      @media screen and (max-width: 365px) {
        #contact-form .form-wrap .br-365 {
          display: block; } }
    #contact-form .form-wrap select:invalid {
      color: #979797; }
    #contact-form .form-wrap .btn_form {
      color: #fff;
      background-color: #ED6883;
      font-weight: 700;
      font-family: sans-serif;
      font-size: 2.2rem;
      height: 65px;
      width: 350px;
      max-width: 95%;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-justify-content: center;
      -moz-justify-content: center;
      -ms-justify-content: center;
      justify-content: center;
      -ms-flex-pack: center;
      -webkit-align-items: center;
      -moz-align-items: center;
      -ms-align-items: center;
      align-items: center;
      padding: 15px 20px;
      margin: 3.0rem auto 0;
      transition: 0.3s;
      border: none; }
      #contact-form .form-wrap .btn_form span {
        display: block;
        transition: 0.3s;
        position: relative;
        width: 90%; }
        #contact-form .form-wrap .btn_form span::after {
          position: absolute;
          content: "";
          display: inline-block;
          transform: translate(0, -50%);
          -webkit-transform: translate(0, -50%);
          -ms-transform: translate(0, -50%);
          right: 20px;
          top: 50%;
          width: 2.0rem;
          height: 2.0rem;
          background: url("../images/common/icon-right_w.svg") no-repeat;
          background-size: 2.0rem auto;
          background-position: center;
          transition: 0.3s; }
      #contact-form .form-wrap .btn_form:focus {
        outline: none; }
      #contact-form .form-wrap .btn_form:hover {
        background-color: #e54a66;
        opacity: 1; }
        #contact-form .form-wrap .btn_form:hover span::after {
          right: 15px;
          transition: 0.3s; }
@indlue max(400) {
  #contact-form .form-wrap .btn_form {
    font-size: 7.2vw;
    height: 70px; }
    #contact-form .form-wrap .btn_form span {
      padding-right: 20px; }
      #contact-form .form-wrap .btn_form span::after {
        right: 0;
        width: 10px;
        height: 22px;
        background-size: 10px auto; } }
  #contact-form input:focus::-webkit-input-placeholder {
    transition: 0.1s;
    color: transparent; }
  #contact-form input:focus::-moz-placeholder {
    transition: 0.1s;
    color: transparent; }
  #contact-form input:focus::-ms-input-placeholder {
    transition: 0.1s;
    color: transparent; }
  #contact-form input:focus::placeholder {
    transition: 0.1s;
    color: transparent; }
  #contact-form input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px #FFFDFE inset; }

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

 mail.phpのデザイン編集

*************************/
.mail_top-title {
  height: 100px;
  margin-bottom: 6.0rem; }

#formWrap {
  margin: auto;
  max-width: 720px;
  padding: 4.0rem 6rem;
  border: 1px solid #f86281;
  box-shadow: 0px 3px 6px 0px rgba(65, 65, 65, 0.2);
  border-radius: 1rem; }
  #formWrap p {
    line-height: 1.4; }
  @media screen and (max-width: 767.98px) {
    #formWrap {
      width: 95%;
      padding: 1.5rem;
      margin: 0 auto; } }

table.formTable {
  width: 100%;
  margin: 0 auto;
  border-collapse: collapse; }
  table.formTable td, table.formTable th {
    border-bottom: 1px solid #d7d5d5;
    padding: 20px 15px;
    font-weight: 500;
    word-break: break-all;
    vertical-align: text-top; }
  table.formTable th {
    width: 30%;
    font-weight: 700;
    text-align: left;
    font-size: 1.4rem;
    font-weight: 500;
    color: #797979; }
  @media screen and (max-width: 767.98px) {
    table.formTable td, table.formTable th {
      width: auto;
      display: block; }
    table.formTable th {
      padding: 15px 8px 2px;
      border-bottom: 0; }
    table.formTable td {
      padding: 0 12px 15px; } }

p.error_messe {
  margin: 15px 0;
  color: red;
  font-weight: bold; }

input[type="reset"]:focus, input[type="button"]:focus {
  outline: none; }
@media screen and (max-width: 767.98px) {
  input[type="reset"], input[type="button"] {
    display: block;
    width: 140px;
    max-width: 50%;
    font-size: 14px;
    margin-bottom: 20px; } }

input[type="submit"] {
  padding: 15px 25px;
  display: block;
  color: #fff;
  font-weight: 700;
  font-size: 2.0rem;
  letter-spacing: 2px;
  background-color: #ED6883;
  border: none;
  margin: 20px auto;
  cursor: pointer;
  transition: 0.3s;
  width: 420px;
  max-width: 90%; }
  input[type="submit"]:hover {
    background-color: #e54a66;
    opacity: 1; }
  @media screen and (max-width: 767.98px) {
    input[type="submit"] {
      display: block;
      max-width: 90%;
      margin: 30px auto 15px; } }

/*==============================
	各ページ共通
==============================*/
/* Loading背景画面設定　*/
#splash {
  /*fixedで全面に固定*/
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 9999;
  background: #FFEBEE;
  text-align: center;
  color: #fff;
  display: none;
  top: 0; }

/* Loading画像中央配置　*/
#splash_logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); }

/* Loading アイコンの大きさ設定　*/
#splash_logo img {
  width: 260px; }

/*アニメーション*/
.animation, .animation-r, .animation-l {
  opacity: 0;
  visibility: hidden;
  transition: 1.5s;
  transform: translateY(15px); }

.animation-r {
  transform: translateX(15px); }

.animation-l {
  transform: translateX(-15px); }

.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transform: translateX(0); }

/*-----    section余白    -----*/
section {
  margin-bottom: 8.0rem; }
  @media screen and (max-width: 991.98px) {
    section {
      margin-bottom: 6.0rem; } }
  @media screen and (max-width: 767.98px) {
    section {
      margin-bottom: 4.0rem; } }

.mb-80 {
  margin-bottom: 8.0rem; }
  @media screen and (max-width: 767.98px) {
    .mb-80 {
      margin-bottom: 6.0rem; } }
  @media screen and (max-width: 575.98px) {
    .mb-80 {
      margin-bottom: 4.0rem; } }

.pt-80 {
  padding-top: 8.0rem; }
  @media screen and (max-width: 767.98px) {
    .pt-80 {
      padding-top: 6.0rem; } }
  @media screen and (max-width: 575.98px) {
    .pt-80 {
      padding-top: 4.0rem; } }

/*-----    下層ページトップ    -----*/
.hero {
  width: 100%;
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
  position: relative; }
  .hero .hero-inr {
    width: 100%;
    height: 380px;
    vertical-align: middle;
    z-index: 5;
    position: relative; }
    .hero .hero-inr .hero-title {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-justify-content: center;
      -moz-justify-content: center;
      -ms-justify-content: center;
      justify-content: center;
      -ms-flex-pack: center;
      -webkit-align-items: center;
      -moz-align-items: center;
      -ms-align-items: center;
      align-items: center;
      -webkit-flex-direction: column;
      -moz-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
      width: 370px;
      height: 100%; }
      .hero .hero-inr .hero-title h2 {
        font-size: 3.4rem;
        letter-spacing: 0.2rem; }
        .hero .hero-inr .hero-title h2 span {
          font-size: 60%; }
    .hero .hero-inr .hero-title.bg-main {
      background-color: rgba(248, 98, 129, 0.85); }
    .hero .hero-inr .hero-title.bg-white {
      background-color: rgba(255, 255, 255, 0.9) !important; }
  @media screen and (max-width: 991.98px) {
    .hero {
      margin-top: 80px; }
      .hero .container {
        max-width: 100%; }
      .hero .hero-inr {
        height: 280px; }
        .hero .hero-inr .hero-title {
          width: 42%;
          margin-left: 1.5rem; }
          .hero .hero-inr .hero-title h2 {
            font-size: 2.8rem; } }
  @media screen and (max-width: 767.98px) {
    .hero .hero-inr .hero-title {
      width: 48%; } }
  @media screen and (max-width: 575.98px) {
    .hero {
      margin-top: 60px; }
      .hero .hero-inr {
        height: 200px; }
        .hero .hero-inr .hero-title {
          width: 45%;
          margin-left: 0; }
          .hero .hero-inr .hero-title h2 {
            font-size: 2.2rem;
            letter-spacing: inherit; } }
  @media screen and (max-width: 450px) {
    .hero .hero-inr .hero-title {
      width: 50%; }
      .hero .hero-inr .hero-title h2 {
        font-size: 4.6vw; } }

/*-----    見出しデザイン    -----*/
.u_line {
  position: relative;
  padding-bottom: 1.5rem;
  text-align: center;
  margin-bottom: 6rem;
  letter-spacing: 0.3rem;
  font-size: 3.0rem; }
  .u_line span {
    font-size: 100%; }
  .u_line::after {
    position: absolute;
    transform: translate(-50%, 0);
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    bottom: 0;
    left: 50%;
    width: 30px;
    height: 2px;
    content: '';
    border-radius: 3px;
    background: #ED6883; }
  @media screen and (max-width: 767.98px) {
    .u_line {
      font-size: 2.6rem;
      margin-bottom: 4rem; } }
  @media screen and (max-width: 575.98px) {
    .u_line {
      font-size: 2.2rem; } }

.u_fullline {
  font-size: 2.4rem;
  letter-spacing: 0.2rem;
  border-bottom: 2px solid;
  padding-bottom: 0.4rem;
  margin-bottom: 1.8rem; }
  @media screen and (max-width: 575.98px) {
    .u_fullline {
      font-size: 2.2rem;
      letter-spacing: 0.1rem; } }

.l_line-bg {
  position: relative;
  background: #F7F7F7;
  font-size: 1.7rem;
  padding: 15px 15px 15px 24px;
  margin-bottom: 1.5rem; }
  .l_line-bg::before {
    position: absolute;
    content: '';
    top: 25%;
    left: 1.5rem;
    width: 3px;
    height: 50%;
    background: #ED6883; }

.marker {
  background: linear-gradient(#fff, #fff 50%, #FFF2A9 50%, #FFF2A9 100%);
  padding: 0 4px 2px; }

.icon-circle::before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  background-color: #ED6883;
  border-radius: 50%;
  margin-right: 0.5rem; }

.p_link {
  color: #ED6883;
  border-bottom: 1px solid #ED6883;
  display: inline-block;
  margin-left: 1.0rem;
  transition: all 0.6s cubic-bezier(0.2, 1, 0.2, 1); }
  .p_link span {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
    -ms-flex-pack: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center;
    padding: 0.1rem 0.2rem;
    transition: all 0.6s cubic-bezier(0.2, 1, 0.2, 1); }
  .p_link:hover {
    color: #ED6883;
    opacity: 0.7;
    transition: all 0.6s cubic-bezier(0.2, 1, 0.2, 1); }
    .p_link:hover span {
      transition: all 0.6s cubic-bezier(0.2, 1, 0.2, 1);
      padding: 0.1rem 0.6rem; }

.bg-dotted-white, .bg-dotted-gray {
  background-image: radial-gradient(rgba(255, 255, 255, 0.8) 15%, transparent 15%), radial-gradient(rgba(255, 255, 255, 0.8) 15%, transparent 15%);
  background-size: 20px 20px;
  background-position: 0 0, 10px 10px; }

.bg-dotted-gray {
  background-image: radial-gradient(#F7F7F7 20%, transparent 20%), radial-gradient(#F7F7F7 20%, transparent 20%); }

.btn_link-white, .btn_link-main, .btn_link-black {
  min-width: 220px;
  max-width: 320px;
  height: 44px;
  font-size: 1.5rem;
  font-weight: 700;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  padding: 0 2.5rem 0 1.5rem;
  background-color: #fff;
  color: #ED6883;
  border: 1px solid #ED6883;
  text-align: center;
  position: relative;
  margin-left: auto;
  margin-right: auto; }
  .btn_link-white::after, .btn_link-main::after, .btn_link-black::after {
    position: absolute;
    content: "";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: #ED6883;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    top: 51%;
    right: 20px;
    transition: all 0.6s cubic-bezier(0.2, 1, 0.2, 1); }
  .btn_link-white:hover, .btn_link-main:hover, .btn_link-black:hover {
    color: #fff;
    background-color: #ED6883;
    transition: all 0.5s;
    opacity: 1; }
    .btn_link-white:hover::after, .btn_link-main:hover::after, .btn_link-black:hover::after {
      right: 15px;
      color: #fff;
      transition: all 0.6s cubic-bezier(0.2, 1, 0.2, 1); }

.btn_link-main {
  background-color: #ED6883;
  color: #fff;
  border: 1px solid #ED6883; }
  .btn_link-main::after {
    color: #fff; }
  .btn_link-main:hover {
    background-color: #e54a66; }

.btn_link-black {
  background-color: #333;
  color: #fff;
  border: 1px solid #333;
  max-width: 540px;
  height: 75px;
  font-size: 1.8rem; }
  .btn_link-black::after {
    color: #fff; }
  .btn_link-black:hover {
    background-color: #000; }
  @media screen and (max-width: 767.98px) {
    .btn_link-black {
      max-width: 450px;
      line-height: 1.3;
      font-size: 1.6rem; } }
  @media screen and (max-width: 575.98px) {
    .btn_link-black {
      max-width: 90%;
      -webkit-justify-content: flex-start;
      -moz-justify-content: flex-start;
      -ms-justify-content: flex-start;
      justify-content: flex-start;
      -ms-flex-pack: flex-start;
      text-align: left;
      padding: 0 6rem 0 4.5rem; } }

.link_line, .link_line-white {
  color: #ED6883;
  position: relative;
  font-weight: 700;
  font-size: 1.2rem;
  padding-right: 60px;
  transition: all 0.6s cubic-bezier(0.2, 1, 0.2, 1); }
  .link_line::before, .link_line-white::before, .link_line::after, .link_line-white::after {
    position: absolute;
    content: "";
    background: #ED6883;
    height: 1px;
    right: 10px;
    bottom: 0.2rem;
    transition: all 0.6s cubic-bezier(0.2, 1, 0.2, 1); }
  .link_line::before, .link_line-white::before {
    width: 40px; }
  .link_line::after, .link_line-white::after {
    width: 7px;
    transform: rotate(45deg) translate3d(0, 0, 0);
    transform-origin: right bottom; }
  .link_line:hover, .link_line-white:hover {
    color: #ED6883;
    opacity: 0.8;
    transition: all 0.6s cubic-bezier(0.2, 1, 0.2, 1); }
    .link_line:hover::before, .link_line-white:hover::before, .link_line:hover::after, .link_line-white:hover::after {
      right: 0;
      transition: all 0.6s cubic-bezier(0.2, 1, 0.2, 1); }
    .link_line:hover::before, .link_line-white:hover::before {
      width: 50px; }

.link_line-white {
  padding-right: 0; }
  .link_line-white::before, .link_line-white::after {
    background: #fff;
    right: 1.5rem;
    bottom: 1.0rem; }
  .link_line-white::after {
    width: 10px; }
  .link_line-white:hover {
    opacity: 1; }
    .link_line-white:hover::before, .link_line-white:hover::after {
      right: 1.5rem; }
    .link_line-white:hover::before {
      width: 55px; }

/*==============================
	トップページ
==============================*/
/*-----    メインビジュアル    -----*/
#main-visual {
  background-image: url("../images/top/main_bg.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: bottom center;
  height: 70vh;
  min-height: 650px;
  max-height: 850px; }
  @media screen and (max-width: 991.98px) {
    #main-visual {
      margin-top: 80px; } }
  @media screen and (max-width: 767.98px) {
    #main-visual {
      background-image: url("../images/top/main_bg_sp.jpg");
      background-position: center center;
      min-height: 500px;
      max-height: 700px;
      height: calc(95vh - 105px); } }
  @media screen and (max-width: 575.98px) {
    #main-visual {
      margin-top: 60px;
      min-height: 420px; } }
  @media screen and (max-width: 400px) {
    #main-visual {
      max-height: 520px; } }
  #main-visual .container-fluid {
    max-width: 1500px; }
  #main-visual .mainbox {
    position: relative; }
    #main-visual .mainbox .boxitems h2#maincacth {
      position: absolute;
      top: 2.0rem;
      right: 3.0rem;
      width: 70%;
      max-width: 550px; }
      #main-visual .mainbox .boxitems h2#maincacth img {
        filter: drop-shadow(0px 0px 5px #0080db) drop-shadow(0px 0px 7px #0080db); }
      @media screen and (max-width: 767.98px) {
        #main-visual .mainbox .boxitems h2#maincacth {
          right: 1.0rem; } }
      @media screen and (max-width: 575.98px) {
        #main-visual .mainbox .boxitems h2#maincacth {
          width: 85%;
          max-width: 400px; } }
    #main-visual .mainbox .boxitems #girl {
      position: absolute;
      bottom: 0;
      left: 1.5rem;
      width: 80%;
      max-width: 300px; }
      @media screen and (max-width: 1199.98px) {
        #main-visual .mainbox .boxitems #girl {
          max-width: 260px;
          width: 40%; } }
      @media screen and (max-width: 767.98px) {
        #main-visual .mainbox .boxitems #girl {
          max-width: 180px;
          left: 0.8rem; } }
    #main-visual .mainbox .boxitems #scroll {
      position: absolute;
      transform: translate(-50%, 0);
      -webkit-transform: translate(-50%, 0);
      -ms-transform: translate(-50%, 0);
      bottom: 0;
      left: 50%; }
    #main-visual .mainbox .boxitems #main_req {
      position: absolute;
      bottom: 1.8rem;
      right: 3.0rem;
      width: 180px;
      max-width: 25%;
      transition: all 0.6s cubic-bezier(0.2, 1, 0.2, 1); }
      #main-visual .mainbox .boxitems #main_req:hover {
        opacity: 0.8;
        transition: all 0.6s cubic-bezier(0.2, 1, 0.2, 1);
        bottom: 1.3rem; }
      @media screen and (max-width: 767.98px) {
        #main-visual .mainbox .boxitems #main_req {
          bottom: -5.0rem;
          right: 1.0rem;
          max-width: 32%; }
          #main-visual .mainbox .boxitems #main_req:hover {
            bottom: -5.0rem; } }

#top h3.title span {
  letter-spacing: 0.1rem; }
#top #newsevent #news-list {
  border: 2px solid #333;
  height: 180px;
  overflow-y: scroll;
  padding: 2rem; }
  #top #newsevent #news-list dl {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    -moz-justify-content: flex-start;
    -ms-justify-content: flex-start;
    justify-content: flex-start;
    -ms-flex-pack: flex-start;
    -webkit-align-items: flex-start;
    -moz-align-items: flex-start;
    -ms-align-items: flex-start;
    align-items: flex-start;
    border-bottom: 1px dotted #707070;
    padding: 0 2.0rem 1.5rem;
    margin-bottom: 1.5rem; }
    #top #newsevent #news-list dl dt {
      width: 220px; }
      #top #newsevent #news-list dl dt .category {
        color: #fff;
        font-size: 1.1rem;
        padding: 0.5rem 1.0rem;
        width: 7.0rem;
        text-align: center;
        display: inline-block;
        line-height: 1.0;
        margin: 0 5px; }
      #top #newsevent #news-list dl dt .category.sns {
        background-color: #4dc09d; }
      #top #newsevent #news-list dl dt .category.news {
        background-color: #ED6883; }
      #top #newsevent #news-list dl dt .category.event {
        background-color: #fa953f; }
    #top #newsevent #news-list dl dd {
      margin-left: 2.0rem;
      width: calc(98% - 220px); }
      #top #newsevent #news-list dl dd a {
        color: #333; }
        #top #newsevent #news-list dl dd a:hover {
          color: #ED6883;
          text-decoration: underline; }
  @media screen and (max-width: 767.98px) {
    #top #newsevent #news-list dl {
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      padding: 0 1.5rem 1.0rem;
      margin-bottom: 1.0rem; }
      #top #newsevent #news-list dl dt, #top #newsevent #news-list dl dd {
        width: 100%;
        line-height: 1.3; }
      #top #newsevent #news-list dl dt {
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-justify-content: flex-start;
        -moz-justify-content: flex-start;
        -ms-justify-content: flex-start;
        justify-content: flex-start;
        -ms-flex-pack: flex-start;
        -webkit-align-items: center;
        -moz-align-items: center;
        -ms-align-items: center;
        align-items: center; }
        #top #newsevent #news-list dl dt .category {
          font-size: 1.0rem; }
      #top #newsevent #news-list dl dd {
        margin-left: 0.5rem;
        margin-top: 0.5rem; } }
#top #newsevent .sns_bnr a {
  color: #333;
  border: 1px solid #E6E6E6;
  background-color: #FCFCFC;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-pack: space-between;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  text-align: center;
  height: 70px; }
  #top #newsevent .sns_bnr a img {
    width: 50px; }
  #top #newsevent .sns_bnr a .icon {
    width: 35%;
    border-right: 2px solid #E6E6E6; }
  #top #newsevent .sns_bnr a .txt {
    width: 65%;
    text-align: center; }
  #top #newsevent .sns_bnr a:hover {
    color: #333;
    background-color: #FCFCFC; }
@media screen and (max-width: 767.98px) {
  #top #newsevent .sns_bnr a {
    height: 60px; } }
@media screen and (max-width: 575.98px) {
  #top #newsevent .sns_bnr a {
    height: 50px;
    max-width: 280px;
    margin: auto; }
    #top #newsevent .sns_bnr a img {
      width: 40px; } }
#top #facility .bg-wrap {
  background: url("../images/top/facility-bg.jpg") no-repeat;
  background-position: center top 125px;
  background-size: cover; }
#top #facility ul {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  #top #facility ul li {
    margin: 0 0.2rem;
    width: 254px;
    height: 254px;
    max-width: calc( 96% / 4); }
    #top #facility ul li .cap {
      font-size: 1.2rem;
      font-weight: 700;
      line-height: 1.3; }
      #top #facility ul li .cap span {
        font-weight: 400;
        letter-spacing: 0.1rem;
        font-size: 2.2rem;
        line-height: 1.2;
        padding-bottom: 0.5rem; }
    @media screen and (max-width: 1080px) {
      #top #facility ul li {
        width: 220px;
        height: 220px; }
        #top #facility ul li .cap span {
          font-size: 1.6rem; } }
    @media screen and (max-width: 991.98px) {
      #top #facility ul li {
        width: 180px;
        height: 180px; }
        #top #facility ul li .cap {
          font-size: 1.0rem; }
          #top #facility ul li .cap span {
            font-size: 1.5rem; } }
    @media screen and (max-width: 767.98px) {
      #top #facility ul li {
        width: 150px;
        height: 150px; }
        #top #facility ul li .cap span {
          font-size: 1.8rem; } }
    @media screen and (max-width: 660px) {
      #top #facility ul li {
        width: 200px;
        height: 200px;
        margin: 0.5%;
        max-width: calc( 98% / 2); } }
    @media screen and (max-width: 500px) {
      #top #facility ul li {
        width: 150px;
        height: 150px; } }
#top #facility .linkbtn {
  margin: auto;
  height: 100%;
  width: 100%; }
#top #facility #facility-history {
  background: url("../images/top/facility-img01.jpg") no-repeat;
  background-position: center;
  background-size: cover; }
#top #facility #facility-english {
  background: url("../images/top/facility-img02.jpg") no-repeat;
  background-position: center;
  background-size: cover; }
#top #facility #facility-curriculum {
  background: url("../images/top/facility-img03.jpg") no-repeat;
  background-position: center;
  background-size: cover; }
#top #facility #facility-special {
  background: url("../images/top/facility-img04.jpg") no-repeat;
  background-position: center;
  background-size: cover; }
#top #facility .inner {
  width: 100%;
  height: 100%;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  color: #fff;
  background-color: rgba(51, 51, 51, 0.4);
  font-weight: normal;
  padding: 0.4rem;
  transition: all 0.6s cubic-bezier(0.2, 1, 0.2, 1); }
  #top #facility .inner:hover {
    background-color: rgba(51, 51, 51, 0.8);
    transition: all 0.6s cubic-bezier(0.2, 1, 0.2, 1); }
#top #philosophy .bg-wrap {
  background: url("../images/top/philosophy-bg.png") no-repeat;
  background-position: center left;
  background-size: auto 100%; }
  @media screen and (max-width: 991.98px) {
    #top #philosophy .bg-wrap {
      background: url("../images/top/philosophy-bg_sp.png") no-repeat;
      background-position: top center;
      background-size: 100%; } }
#top #access .bg-wrap {
  background: url("../images/top/access-bg.png") no-repeat;
  background-position: top right -100px;
  background-size: 400px; }
#top #explanation .bg-wrap {
  background: url("../images/top/exp-bg.jpg") no-repeat;
  background-position: center;
  background-size: cover; }
#top #explanation h4 {
  top: -100px;
  left: -130px; }
#top #explanation .inner {
  padding: 6.0rem 10.0rem;
  margin-top: 45px; }
#top #explanation .schedule dl {
  border-bottom: 1px dotted #707070;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  padding: 0.7rem 1.5rem; }
  #top #explanation .schedule dl:first-child {
    border-top: 1px dotted #707070; }
  #top #explanation .schedule dl dt {
    width: 16rem; }
  #top #explanation .schedule dl dd {
    width: 30rem; }
    #top #explanation .schedule dl dd span {
      color: #E62120;
      font-weight: 700; }
@media screen and (max-width: 991.98px) {
  #top #explanation h4 {
    top: -120px;
    left: -100px;
    width: 190px; }
  #top #explanation .inner {
    padding: 5.0rem 4.0rem 4.0rem; } }
@media screen and (max-width: 767.98px) {
  #top #explanation h4 {
    transform: translate(-50%, 0);
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    left: 48%;
    top: -100px; }
  #top #explanation .inner {
    padding: 9.0rem 4.0rem 4.0rem; }
  #top #explanation .schedule dl {
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    #top #explanation .schedule dl dt, #top #explanation .schedule dl dd {
      width: 80%;
      line-height: 1.4; } }
@media screen and (max-width: 450px) {
  #top #explanation .schedule dl dt, #top #explanation .schedule dl dd {
    width: 100%; } }
#top #admissiontest .test_box {
  padding: 6.0rem 8.0rem 5.0rem;
  margin-top: 45px; }
  #top #admissiontest .test_box h4 {
    top: -100px;
    right: -130px; }
#top #admissiontest .table_box {
  padding: 2.0rem 1.5rem 4.0rem; }
  #top #admissiontest .table_box table {
    width: 100%;
    max-width: 630px;
    margin: auto;
    border: 1px solid #333; }
    #top #admissiontest .table_box table thead th + th {
      border-left: 1px solid #fff; }
    #top #admissiontest .table_box table tbody tr {
      border-bottom: 1px solid #333; }
      #top #admissiontest .table_box table tbody tr td + td {
        border-left: 1px solid #333; }
    #top #admissiontest .table_box table th, #top #admissiontest .table_box table td {
      padding: 0.8rem 2.0rem;
      text-align: center; }
  #top #admissiontest .table_box .kome {
    line-height: 1.3; }
@media screen and (max-width: 991.98px) {
  #top #admissiontest .test_box {
    padding: 5.0rem 4.0rem 4.0rem;
    margin-top: 80px; }
    #top #admissiontest .test_box h4 {
      top: -120px;
      right: -100px;
      width: 190px; }
  #top #admissiontest .table_box table th, #top #admissiontest .table_box table td {
    padding: 0.5rem; } }
@media screen and (max-width: 767.98px) {
  #top #admissiontest .test_box {
    padding: 9.0rem 4.0rem 4.0rem; }
    #top #admissiontest .test_box h4 {
      transform: translate(-50%, 0);
      -webkit-transform: translate(-50%, 0);
      -ms-transform: translate(-50%, 0);
      right: 0;
      left: 48%;
      top: -100px; } }
@media screen and (max-width: 490px) {
  #top #admissiontest .table_box {
    padding: 2.0rem 0.5rem; }
    #top #admissiontest .table_box table {
      width: 260px;
      max-width: 100%; }
      #top #admissiontest .table_box table thead {
        display: none; }
      #top #admissiontest .table_box table tbody tr {
        border-bottom: none; }
        #top #admissiontest .table_box table tbody tr td + td {
          border-left: none;
          border-top: 1px dotted #333; }
      #top #admissiontest .table_box table th, #top #admissiontest .table_box table td {
        width: 100%;
        display: block;
        padding: 0.7rem 10%;
        text-align: left; }
      #top #admissiontest .table_box table td {
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-justify-content: flex-start;
        -moz-justify-content: flex-start;
        -ms-justify-content: flex-start;
        justify-content: flex-start;
        -ms-flex-pack: flex-start;
        -webkit-align-items: center;
        -moz-align-items: center;
        -ms-align-items: center;
        align-items: center;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
        #top #admissiontest .table_box table td::before {
          content: attr(data-label);
          margin-right: 5px;
          color: #676767; }
        #top #admissiontest .table_box table td:first-child {
          background-color: #333;
          color: #fff;
          font-weight: 700; }
          #top #admissiontest .table_box table td:first-child::before {
            color: #fff; } }
#top #pagelink .container {
  background: url("../images/top/pagelink-ill.png") no-repeat;
  background-position: right bottom 1.0rem;
  background-size: 80px; }
#top #pagelink .linkbtn {
  max-width: 420px;
  height: 130px;
  margin: auto; }
#top #pagelink #pagelink-ao {
  background: url("../images/top/pagelink-img01.jpg") no-repeat;
  background-position: center;
  background-size: cover; }
#top #pagelink #pagelink-guide {
  background: url("../images/top/pagelink-img02.jpg") no-repeat;
  background-position: center;
  background-size: cover; }
#top #pagelink #pagelink-contact {
  background: url("../images/top/pagelink-img03.jpg") no-repeat;
  background-position: center;
  background-size: cover; }
#top #pagelink .inner {
  width: 100%;
  height: 100%;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  color: #fff;
  background-color: rgba(51, 51, 51, 0.4);
  text-shadow: 0px 0px 5px rgba(1, 0, 0, 0.5);
  border: 5px solid #fff;
  letter-spacing: 0.15rem;
  font-weight: normal;
  transition: all 0.6s cubic-bezier(0.2, 1, 0.2, 1); }
  #top #pagelink .inner:hover {
    background-color: rgba(51, 51, 51, 0.6);
    transition: all 0.6s cubic-bezier(0.2, 1, 0.2, 1); }
@media screen and (max-width: 991.98px) {
  #top #pagelink .linkbtn {
    height: 100px; } }
@media screen and (max-width: 767.98px) {
  #top #pagelink .linkbtn {
    max-width: 80%; } }
@media screen and (max-width: 575.98px) {
  #top #pagelink .linkbtn {
    height: 80px; } }
#top #facility .bg_img .text_box, #top #access .bg_img .text_box {
  transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  top: 50%; }
  #top #facility .bg_img .text_box .inr, #top #access .bg_img .text_box .inr {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
    -ms-flex-pack: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    min-height: 280px;
    box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, 0.2); }
@media screen and (max-width: 991.98px) {
  #top #facility .bg_img .text_box .inr, #top #access .bg_img .text_box .inr {
    min-height: inherit; } }
@media screen and (max-width: 767.98px) {
  #top #facility .bg_img, #top #access .bg_img {
    padding-bottom: 8.0rem; }
    #top #facility .bg_img .text_box, #top #access .bg_img .text_box {
      transform: translate(0, 0%);
      -webkit-transform: translate(0, 0%);
      -ms-transform: translate(0, 0%);
      transform: none;
      top: inherit;
      bottom: 0; } }
@media screen and (max-width: 575.98px) {
  #top #facility .bg_img, #top #access .bg_img {
    padding-bottom: 14.0rem; } }
#top #facility .bg_img .text_box {
  left: 0; }
  #top #facility .bg_img .text_box .inr {
    padding: 4.0rem; }
  @media screen and (max-width: 767.98px) {
    #top #facility .bg_img .text_box .inr {
      padding: 3.0rem; } }
  @media screen and (max-width: 575.98px) {
    #top #facility .bg_img .text_box {
      max-width: 260px; }
      #top #facility .bg_img .text_box .inr {
        padding: 3.0rem; } }
#top #access .bg_img .text_box {
  right: 0; }
  #top #access .bg_img .text_box .inr {
    padding: 3.0rem; }
  @media screen and (max-width: 991.98px) {
    #top #access .bg_img .text_box .inr {
      padding: 3.0rem 2.5rem; }
      #top #access .bg_img .text_box .inr p {
        font-size: 1.3rem; } }
  @media screen and (max-width: 575.98px) {
    #top #access .bg_img .text_box {
      max-width: 240px; }
      #top #access .bg_img .text_box .inr {
        padding: 3.0rem 1.5rem; } }

/*==============================
	学校案内
==============================*/
#page-about .hero {
  background-image: url("../images/about/hero.jpg"); }
  @media screen and (max-width: 460px) {
    #page-about .hero {
      background-image: url("../images/about/hero_sp.jpg"); } }
#page-about #history .illust-paris {
  background: url("../images/about/history-bg01.png") no-repeat;
  background-size: 280px;
  background-position: right bottom; }
  #page-about #history .illust-paris .bg-sub-go-l {
    background: rgba(191, 147, 47, 0.1); }
  @media screen and (max-width: 575.98px) {
    #page-about #history .illust-paris {
      background-size: 200px; } }
#page-about #history .illust-rose {
  background: url("../images/about/history-bg02.png") no-repeat;
  background-size: 160px;
  background-position: right bottom; }
  @media screen and (max-width: 575.98px) {
    #page-about #history .illust-rose {
      background-position: right top; } }
#page-about #history .img-slide {
  background-image: url("../images/about/histry_slide.jpg");
  background-size: auto 100%;
  background-repeat: repeat-x;
  background-position: 0 0;
  z-index: 0;
  height: 200px;
  padding-top: 0;
  -webkit-animation: loop 40s linear infinite;
  animation: loop 40s linear infinite; }
  @media screen and (max-width: 991.98px) {
    #page-about #history .img-slide {
      height: 160px; } }
  @media screen and (max-width: 575.98px) {
    #page-about #history .img-slide {
      height: 140px; } }
@-webkit-keyframes loop {
  from {
    background-position: 0 0; }
  to {
    background-position: -1860px 0; }
  @media screen and (max-width: 991.98px) {
    to {
      background-position: -1488px 0; } }
  @media screen and (max-width: 575.98px) {
    to {
      background-position: -1302px 0; } } }
@keyframes loop {
  from {
    background-position: 0 0; }
  to {
    background-position: -1860px 0; }
  @media screen and (max-width: 991.98px) {
    to {
      background-position: -1488px 0; } }
  @media screen and (max-width: 575.98px) {
    to {
      background-position: -1302px 0; } } }
#page-about #access .train {
  padding: 0.5rem; }
  #page-about #access .train span {
    font-size: 120%;
    font-weight: 700;
    display: inline-block; }
#page-about #access p.train + p.train {
  border-top: 1px solid;
  padding-top: 0.5rem;
  margin-top: 0.5rem; }
@media screen and (max-width: 575.98px) {
  #page-about #access iframe {
    height: 250px; } }

/*==============================
	英語学科本科
==============================*/
#page-english .hero {
  background-image: url("../images/english/hero.jpg");
  background-position: center; }
  @media screen and (max-width: 460px) {
    #page-english .hero {
      background-image: url("../images/english/hero_sp.jpg"); } }
#page-english #policy .bg-wrap {
  background: url("../images/english/policy-bg01.png") no-repeat;
  background-position: top right;
  background-size: auto 90%; }
  @media screen and (max-width: 767.98px) {
    #page-english #policy .bg-wrap {
      background-size: 75%; } }
  @media screen and (max-width: 575.98px) {
    #page-english #policy .bg-wrap {
      background-size: 85%; } }
#page-english #policy .bg-wrap_pink {
  background: url("../images/english/policy-bg02.png") no-repeat;
  background-position: bottom 2.0rem left;
  background-size: auto 90%; }
  @media screen and (min-width: 1450px) {
    #page-english #policy .bg-wrap_pink {
      background-size: auto 100%;
      background-position: bottom left;
      background-repeat: repeat-x; } }
  @media screen and (max-width: 991.98px) {
    #page-english #policy .bg-wrap_pink {
      background-position: bottom 2.0rem left;
      background-size: auto 80%; } }
  @media screen and (max-width: 767.98px) {
    #page-english #policy .bg-wrap_pink {
      background-position: bottom left;
      background-size: auto 68%; } }
#page-english #policy .box-pink {
  background-color: rgba(237, 104, 131, 0.8);
  max-width: 510px;
  background-image: url("../images/english/policy-bgill01.png");
  background-repeat: no-repeat;
  background-position: top 2rem right 2rem;
  background-size: 110px; }
#page-english #policy .box-gold {
  background-color: rgba(191, 147, 47, 0.75);
  max-width: 480px;
  background-image: url("../images/english/policy-bgill02_t.png"), url("../images/english/policy-bgill02_u.png");
  background-repeat: no-repeat;
  background-position: top 1.5rem right 1.5rem , bottom 1.5rem left 1.5rem;
  background-size: 90px; }
#page-english #policy .box-pink, #page-english #policy .box-gold {
  line-height: 1.9;
  padding: 7.5rem 4.0rem;
  margin: auto; }
#page-english #policy .ill-bouquet {
  background-image: url("../images/english/policy-bgill03.png");
  background-repeat: no-repeat;
  background-position: top 2rem right;
  background-size: 120px;
  line-height: 1.9; }
  #page-english #policy .ill-bouquet p {
    text-shadow: 0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 8px #fff; }
@media screen and (max-width: 991.98px) {
  #page-english #policy .box-pink, #page-english #policy .box-gold {
    width: 480px;
    max-width: 100%;
    padding: 6rem 4.0rem; } }
@media screen and (max-width: 575.98px) {
  #page-english #policy .box-pink {
    background-size: 24%; }
  #page-english #policy .box-gold {
    background-size: 20%; }
  #page-english #policy .box-pink, #page-english #policy .box-gold {
    padding: 5.0rem 2.0rem; } }
@media screen and (max-width: 767.98px) {
  #page-english #policy .bg-wrap .container.md-full {
    max-width: 100%;
    padding: 0; }
    #page-english #policy .bg-wrap .container.md-full .row {
      margin-left: 0;
      margin-right: 0; }
      #page-english #policy .bg-wrap .container.md-full .row .col-12 {
        padding-left: 0;
        padding-right: 0; } }
#page-english #policy .bg-wrap_pink img {
  width: 480px; }

/*==============================
	卒業制作
==============================*/

.l_line-bg2 {
  position: relative;
  background: #FCF2F2;
  font-size: 1.7rem;
  padding: 15px 15px 15px 30px;
  margin-bottom: 1.5rem; }
  .l_line-bg2::before {
    position: absolute;
    content: '';
    top: 0%;
    left: 0rem;
    width: 12px;
    height: 100%;
    background: #F08CA0; }

.l_line-bg3 {
  position: relative;
  background: #FDF7EF;
  font-size: 1.7rem;
  padding: 15px 15px 15px 30px;
  margin-bottom: 1.5rem; }
  .l_line-bg3::before {
    position: absolute;
    content: '';
    top: 0%;
    left: 0rem;
    width: 12px;
    height: 100%;
    background: #E87C68; }

.l_line-bg4 {
  position: relative;
  background: #F2F8FD;
  font-size: 1.7rem;
  padding: 15px 15px 15px 30px;
  margin-bottom: 1.5rem; }
  .l_line-bg4::before {
    position: absolute;
    content: '';
    top: 0%;
    left: 0rem;
    width: 12px;
    height: 100%;
    background: #96D1FC; }
				
				
/*==============================
	卒業制作2
==============================*/				
.bg-gray-h {
  position: relative;
  text-align: center;
  margin: 2rem;
  letter-spacing: 0.3rem;
  font-size: 1.8rem; }
		
.g-head-p{
padding-top: 15px;
}

.question{
font-size: 2rem;
font-family:  'Sawarabi Mincho';
padding: 30px;
}

#shiryou1{
	background-color: #F7EFEF;
}

#shiryou2{
	background-color: #FDF7EF;
}

#shiryou3{
	background-color: #F7FBFF;
}


/*==============================
ワンポイントセミナー
==============================*/

.s_line-bg2 {
  text-align: center;
  background: #E27587;
  font-size: 1.7rem;
  padding: 15px 15px 15px 30px;
  border-radius: 5px;
  margin-bottom: 2rem; }/* ピンクのバー */
 
.section_1{
	display: inline-block;
	color: #fff;
	font-weight: bold;
	  padding-left: 30px; /* 画像の配置場所を確保 */
  background-image: url("../images/seminar/seminar_icon/icon_techo.svg"); /* 画像URLを指定 */
  background-position: left center; /* 画像の位置 */
  background-size: 20px 20px; /* 画像のサイズ */
  background-repeat: no-repeat; /* 背景画像の繰り返しなくす */
 ;}

.section_2{
	display: inline-block;
	color: #fff;
	font-weight: bold;
	  padding-left: 30px; /* 画像の配置場所を確保 */
  background-image: url("../images/seminar/seminar_icon/icon_note.svg"); /* 画像URLを指定 */
  background-position: left center; /* 画像の位置 */
  background-size: 20px 20px; /* 画像のサイズ */
  background-repeat: no-repeat; /* 背景画像の繰り返しなくす */
 ;}

.section_3{
	display: inline-block;
	color: #fff;
	font-weight: bold;
	  padding-left: 30px; /* 画像の配置場所を確保 */
  background-image: url("../images/seminar/seminar_icon/icon_calendar.svg"); /* 画像URLを指定 */
  background-position: left center; /* 画像の位置 */
  background-size: 20px 20px; /* 画像のサイズ */
  background-repeat: no-repeat; /* 背景画像の繰り返しなくす */
 ;}

.section_4{
	display: inline-block;
	color: #fff;
	font-weight: bold;
	  padding-left: 30px; /* 画像の配置場所を確保 */
  background-image: url("../images/seminar/seminar_icon/icon_mail.svg"); /* 画像URLを指定 */
  background-position: left center; /* 画像の位置 */
  background-size: 20px 20px; /* 画像のサイズ */
  background-repeat: no-repeat; /* 背景画像の繰り返しなくす */
 ;}

.section_5{
	display: inline-block;
	color: #fff;
	font-weight: bold;
	  padding-left: 30px; /* 画像の配置場所を確保 */
  background-image: url("../images/seminar/seminar_icon/icon_enpitsu.svg"); /* 画像URLを指定 */
  background-position: left center; /* 画像の位置 */
  background-size: 20px 20px; /* 画像のサイズ */
  background-repeat: no-repeat; /* 背景画像の繰り返しなくす */
 ;}

.section_6{
	display: inline-block;
	color: #fff;
	font-weight: bold;
	  padding-left: 30px; /* 画像の配置場所を確保 */
  background-image: url("../images/seminar/seminar_icon/icon_enpitsu.svg"); /* 画像URLを指定 */
  background-position: left center; /* 画像の位置 */
  background-size: 20px 20px; /* 画像のサイズ */
  background-repeat: no-repeat; /* 背景画像の繰り返しなくす */
 ;}

.seminar_box {
    border: solid 1px #E27587;
    padding: 15px;
    width: 100%;
	margin-bottom: 2rem;
	background-color: #fff;
    border-radius: 5px; /* タイトルのボックス部分 */
}

.img-sp{
	display: none;
}

@media screen and (max-width: 767.98px){
.img-pc{
	display: none;
	}

.img-sp{
	display: block;
	}}


#seminar_dot {
  background-color   : #fff7f8;
  background-image   : radial-gradient(#ffffff 14%, transparent 19%),
                       radial-gradient(#ffffff 14%, transparent 19%);
  background-position: 0 0, 9px 9px;
  background-size    : 18px 18px; /* ドット背景のBOX定義 */
}

.seminar_title{
	text-align: center;
	color: #E46C82; /* タイトル文字 */
}

.s_title{
	font-size: 2.5rem;
	font-weight: bold;
	display: block;/* メインタイトル装飾 */}

@media screen and (max-width: 767.98px){
	.s_title{
	font-size: 2rem;
	font-weight: bold;
	display: block;/* メインタイトル装飾 */
	}}

.s_subtitle{
	font-size: 1.5rem;
	font-weight: bold;
	display: block;;/* サブタイトル装飾 */
}

.seminar_bold{
	font-size: 15px;
	font-weight: bold;
	display: block;
	margin-bottom: 10px;
}

.flex{
	display: flex;
	margin-bottom: 1rem;
	}

@media screen and (max-width: 767.98px) {
	.flex{
	display: block;
	margin-bottom: 3rem;
	}}


.schedule_box{
	border: solid 1px #E27587;
	text-align: center;
	justify-content: center;
	width: 50%;
	padding: 1rem;
	margin: 1rem;
	background-color:  #fff7f8;
	border-radius: 5px
}

@media screen and (max-width: 767.98px) {
	.schedule_box{
	border: solid 1px #E27587;
	text-align: center;
	justify-content: center;
	width: auto;
	padding: 2rem;
	margin: 1.5rem;
	background-color:  #fff7f8;
	border-radius: 5px
	}}


.box2{
	border: solid 1px #E27587;
    padding: 5px;
    width: 50%;
	margin: auto;
    border-radius: 5px; 
	color: #E27587;
}

.schedule_title{
	color: #E27587;
	font-size: 2rem;
	font-weight: bold;
	display: inline-block;
	border-bottom: dotted 2px;
	margin-bottom: 2rem;
}

.ul_text{
	display: inline;
	font-weight: bold;
	background: linear-gradient(transparent 20%, #FFED8B);
}

.ul_text2{
	display: inline;
	font-size: 1.5rem;
	font-weight: bold;
	background: linear-gradient(transparent 20%, #FFED8B);
}

.yellow_box{

    padding: 15px;
    width: 85%;
	text-align: left;
	margin-bottom: 2rem;
	margin: auto;
	padding: 3rem;
	background-color: #F5F5E4;
    border-radius: 5px; /* タイトルのボックス部分 */
	}


@media screen and (max-width: 767.98px) {
	.yellow_box{
    padding: 15px;
    width: 100%;
	text-align: center;
	margin-bottom: 2rem;
	margin: auto;
	padding: 1.5rem;
	background-color: #F5F5E4;
    border-radius: 5px; /* タイトルのボックス部分 */
	}}

.center{
	text-align: center;}
.box3 li{
	text-indent: -1em;
   padding-left: 1em;
	font-weight: bold;
	margin-bottom: 2rem;}
.pink{
	color: #EDA6B1;}
.bg-pink{
	background: #FFF4F6;
	padding: 2rem;}
.otoiawase{
	text-align: center;
	padding: 1rem;}
.pink_border{
	display: inline-block;
	border-bottom: solid 2px #EB91A1;
	margin-bottom: 1rem;}

#page-seminar .hero {
  background-image: url("../images/seminar/hero.jpg");
  background-position: center; }
  @media screen and (max-width: 460px) {
    #page-seminar .hero {
      background-image: url("../images/seminar/hero_sp.jpg"); } }

/*===========
.scroll-box
===========*/
.scroll-box {
  overflow-x: auto;
  padding-bottom: 10px;
  -webkit-overflow-scrolling: touch;
}
.scroll-box div img {
  max-width: 100%;
  min-width: 900px;
  vertical-align: top;
}
 
/*===========
scrollbar
===========*/
/*スクロールバー全体の高さ*/
.scroll-box::-webkit-scrollbar {
  height: 15px;
}
/*スクロールバー全体の背景*/
.scroll-box::-webkit-scrollbar-track {
  background: #eee;
}
/*スクロールバーの動く部分*/
.scroll-box::-webkit-scrollbar-thumb {
  background: #aaa;
  border: none;
}
/*スクロールバーの動く部分のホバー（マウスオーバー）*/
.scroll-box::-webkit-scrollbar-thumb:hover {
  background: #999;
}


/*==============================
	特別カリキュラム
==============================*/
#page-special .hero {
  background-image: url("../images/special/hero.jpg");
  background-position: center; }
  @media screen and (max-width: 460px) {
    #page-special .hero {
      background-image: url("../images/special/hero_sp.jpg"); } }
@media screen and (max-width: 991.98px) {
  #page-special .img_box {
    max-width: 500px;
    margin: auto; } }
#page-special .list-box {
  max-width: 485px;
  margin: 2.0rem auto; }
  #page-special .list-box li {
    font-weight: 700;
    border-bottom: 1px solid #bf932f;
    padding: 0.75rem 1.0rem; }
    #page-special .list-box li span {
      display: inline-block;
      min-width: 270px;
      text-align: left; }
    #page-special .list-box li:last-child {
      border-bottom: none; }






/*==============================
	AOについて
==============================*/
#page-ao .hero {
  background-image: url("../images/ao/hero.jpg"); }
  @media screen and (max-width: 460px) {
    #page-ao .hero {
      background-image: url("../images/ao/hero_sp.jpg"); } }
#page-ao .dl_box dl {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  -moz-justify-content: flex-start;
  -ms-justify-content: flex-start;
  justify-content: flex-start;
  -ms-flex-pack: flex-start;
  -webkit-align-items: flex-start;
  -moz-align-items: flex-start;
  -ms-align-items: flex-start;
  align-items: flex-start;
  margin-bottom: 1.5rem; }
  #page-ao .dl_box dl dt {
    width: 22%;
    line-height: 1.3;
    padding-top: 0.2rem; }
  #page-ao .dl_box dl dd {
    width: 78%; }
  #page-ao .dl_box dl dt + dd {
    border-left: 1px solid #ED6883;
    padding-left: 2.5rem;
    margin-left: 2.5rem; }
@media screen and (max-width: 991.98px) {
  #page-ao .dl_box dl dt {
    width: 25%; }
  #page-ao .dl_box dl dd {
    width: 75%; }
  #page-ao .dl_box dl dt + dd {
    padding-left: 1.5rem;
    margin-left: 1.5rem; } }
@media screen and (max-width: 767.98px) {
  #page-ao .dl_box dl dt {
    width: 80px; }
  #page-ao .dl_box dl dd {
    width: calc(100% - 80px); }
  #page-ao .dl_box dl dt + dd {
    padding-left: 1.5rem;
    margin-left: 0; } }
#page-ao .application-list {
  line-height: 1.4; }
  #page-ao .application-list li.parents {
    font-weight: 700;
    font-size: 1.6rem;
    padding-bottom: 1.0rem; }
    #page-ao .application-list li.parents::before {
      content: "";
      display: inline-block;
      width: 12px;
      height: 12px;
      background-color: #ED6883;
      border-radius: 50%;
      margin-right: 0.5rem; }
  #page-ao .application-list .application-list-child li.child {
    font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro','メイリオ', 'Meiryo', '游ゴシック', 'Yu Gothic', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    font-weight: 500;
    font-size: 1.5rem;
    padding-top: 0.5rem; }

/*==============================
	入学要項
==============================*/
#page-guideline .hero {
  background-image: url("../images/guideline/hero.jpg"); }
  @media screen and (max-width: 460px) {
    #page-guideline .hero {
      background-image: url("../images/guideline/hero_sp.jpg"); } }
#page-guideline #specialtreatment .box {
  padding: 2.0rem 2.5rem;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  -moz-justify-content: flex-start;
  -ms-justify-content: flex-start;
  justify-content: flex-start;
  -ms-flex-pack: flex-start;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center; }
  #page-guideline #specialtreatment .box .num {
    font-family: "sans-serif";
    font-size: 1.9rem;
    width: 4.0rem;
    height: 4.0rem;
    padding: 2rem;
    margin-right: 2.5rem;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
    -ms-flex-pack: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center; }
@media screen and (max-width: 767.98px) {
  #page-guideline #specialtreatment .box {
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column; }
    #page-guideline #specialtreatment .box .num {
      margin-right: 0;
      margin-bottom: 1.5rem; }
    #page-guideline #specialtreatment .box h4 {
      text-align: center; } }

/*# sourceMappingURL=style.css.map */
