@charset "UTF-8";
/* ================================================================= 
 License : e-TRUST Inc.
 File name : common_style.css
 Style : common_style
================================================================= */
/*茶*/
/*薄いグレー*/
/*水色*/
/*オレンジ*/
/*濃い桜*/
/*紫*/
/*
Zarigani Design Office Drawer Menu
Copyright 2018 Zarigani Design Office

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
@import url(https://use.typekit.net/fhd7qnz.css);
@import url(https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,300;0,400;0,500;1,700&display=swap);
@import url(https://use.typekit.net/jat0san.css);
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+JP:300,400,500,700|Noto+Serif+JP:300,400,500,600,700&display=swap);
@import url(https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@300;400;500;700&display=swaps);
.zdo_drawer_menu * {
  margin: 0;
  padding: 0;
  outline: none;
  border: none;
  font: inherit;
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  text-align: left;
  text-decoration: none;
  list-style: none; }
.zdo_drawer_menu a {
  color: inherit;
  text-decoration: none; }
.zdo_drawer_menu a:visited {
  color: inherit; }
.zdo_drawer_menu .zdo_drawer_bg {
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: 999;
  background-color: rgba(51, 51, 51, 0.5);
  display: none;
  top: 0;
  left: 0; }
.zdo_drawer_menu .zdo_drawer_button {
  display: block;
  background: none;
  border: none;
  padding: 0;
  width: 42px;
  letter-spacing: 0.1em;
  cursor: pointer;
  position: fixed;
  top: 32px;
  right: 32px;
  z-index: 1001;
  text-align: center;
  outline: none; }
  .zdo_drawer_menu .zdo_drawer_button.active .zdo_drawer_bar {
    width: 49px; }
  .zdo_drawer_menu .zdo_drawer_button.active .zdo_drawer_bar1 {
    transform: rotate(30deg); }
  .zdo_drawer_menu .zdo_drawer_button.active .zdo_drawer_bar2 {
    opacity: 0; }
  .zdo_drawer_menu .zdo_drawer_button.active .zdo_drawer_bar3 {
    transform: rotate(-30deg); }
  .zdo_drawer_menu .zdo_drawer_button.active .zdo_drawer_menu_text {
    display: none; }
  .zdo_drawer_menu .zdo_drawer_button.active .zdo_drawer_close {
    display: block; }
.zdo_drawer_menu .zdo_drawer_bar {
  display: block;
  height: 2px;
  margin: 10px 0;
  transition: all 0.2s;
  transform-origin: 0 0; }
.zdo_drawer_menu .zdo_drawer_text {
  text-align: center;
  font-size: 10px; }
.zdo_drawer_menu .zdo_drawer_close {
  letter-spacing: 0.08em;
  display: none; }
.zdo_drawer_menu .zdo_drawer_menu_text {
  display: block; }
.zdo_drawer_menu .zdo_drawer_nav_wrapper {
  width: 312px;
  height: 100%;
  transition: all 0.2s;
  transform: translate(312px);
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1000;
  background-color: #FFF; }
  .zdo_drawer_menu .zdo_drawer_nav_wrapper.open {
    transform: translate(0); }
.zdo_drawer_menu.left .zdo_drawer_button {
  right: auto;
  left: 32px; }
.zdo_drawer_menu.left .zdo_drawer_nav_wrapper {
  transform: translate(-312px);
  right: auto;
  left: 0; }
  .zdo_drawer_menu.left .zdo_drawer_nav_wrapper.open {
    transform: translate(0); }

/*+++ Default Navigation CSS +++*/
.zdo_drawer_menu .zdo_drawer_nav {
  padding: 112px 24px; }
  .zdo_drawer_menu .zdo_drawer_nav li {
    font-size: 16px;
    margin-bottom: 15px; }

/*+++ Default Button Color +++*/
.zdo_drawer_menu .zdo_drawer_button {
  color: #276490; }
  .zdo_drawer_menu .zdo_drawer_button .zdo_drawer_bar {
    background-color: #276490; }

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

body {
  counter-reset: number 0;
  line-height: 2em;
  font-weight: 500;
  letter-spacing: 0.7px;
  color: #333;
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "Noto Sans JP", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  word-wrap: break-word;
  overflow: hidden;
  font-size: 0.875rem;
  /*
  @media screen and (min-width:835px){
  background: url(../images/common/bg01.png) no-repeat right top;
  background-size: cover;
  background-attachment: fixed;
  }
  */ }
  @media only screen and (max-width: 640px) {
    body {
      font-size: 0.9375rem;
      line-height: 1.8em;
      letter-spacing: normal; } }

.contents-inner {
  /*
  	background:rgba(#fff,0.6);
  	padding:2%;
  	*/ }

@media screen and (min-width: 1001px) and (max-width: 1200px) {
  .inner {
    padding-left: 10px !important;
    padding-right: 10px !important; } }
@media screen and (min-width: 835px) and (max-width: 1000px) {
  .inner {
    padding-left: 10px !important;
    padding-right: 10px !important; } }
@media only screen and (max-width: 835px) {
  .inner {
    padding-left: 15px !important;
    padding-right: 15px !important; } }

/*
.inner2 {
	margin: 0 auto;
	max-width: 1000px;
}
*/
#contents_wrap {
  width: 100%;
  min-width: 100% !important; }

#contents {
  background: none !important;
  font-size: 100%;
  width: 100%;
  max-width: 1000px; }
  @media screen and (min-width: 1001px) and (max-width: 1200px) {
    #contents {
      padding-left: 20px !important;
      padding-right: 20px !important; } }
  @media screen and (min-width: 835px) and (max-width: 1000px) {
    #contents {
      padding-left: 20px !important;
      padding-right: 20px !important; } }
  @media screen and (min-width: 641px) and (max-width: 835px) {
    #contents {
      padding-left: 20px !important;
      padding-right: 20px !important; } }
  @media only screen and (max-width: 640px) {
    #contents {
      padding-left: 10px !important;
      padding-right: 10px !important; } }

#main {
  width: 100%; }

#main #col_main {
  width: 100%; }

/*
#side {
	width: 18.75000%;
}
*/
.map {
  margin: 56px 20px 0; }

.map li {
  border-left: 5px solid #CCCCCC;
  list-style: none;
  margin: 0 0 15px;
  padding: 0 0 0 10px;
  text-align: left; }

.policy h2 {
  border-bottom: 2px solid #BBBBBB;
  font-size: 18px;
  font-weight: bold;
  margin: 0 0 15px;
  padding: 0 0 5px; }

.policy p {
  margin: 0 0 20px; }

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  table {
    table-layout: fixed; } }
.tlfixed table {
  table-layout: fixed; }

table td img {
  height: auto !important; }

.pdtd10 td {
  padding: 10px !important; }

pre {
  margin: 0;
  padding: 0;
  white-space: pre-line; }

b, strong {
  font-weight: bold; }

u {
  text-decoration: line-through; }

img {
  max-width: 100%;
  height: auto !important; }

small {
  font-size: 80%; }

hr {
  border: none;
  height: 0;
  border-bottom: 1px dashed #B3B3B3; }

span {
  font-weight: inherit; }

u {
  text-decoration: underline; }

b {
  font-weight: 500; }

input[type="button"] {
  cursor: pointer;
  padding: 5px 10px; }

a {
  text-decoration: none; }

a:hover {
  opacity: 0.6; }

@media screen and (min-width: 641px) and (max-width: 835px) {
  .imgR, .imgL {
    max-width: 30% !important; } }
@media only screen and (max-width: 640px) {
  .imgR, .imgL {
    display: block;
    float: none;
    margin: 0 auto 10px;
    max-width: 100% !important;
    text-align: center; } }

.mincho {
  font-family: "a-otf-ryumin-pr6n", "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif; }

.gothic {
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "Noto Sans JP", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }

@media only screen and (max-width: 640px) {
  .fltL {
    float: none;
    width: 100% !important; }

  .fltR {
    float: none;
    width: 100% !important; }

  .sptal {
    text-align: left !important; }

  .sptar {
    text-align: right !important; }

  .sptac {
    text-align: center !important; }

  .spcenter {
    text-align: center;
    display: block;
    margin-top: 10px; } }
header#global_header {
  max-width: 100%;
  min-width: auto !important; }

#header {
  width: 100%; }

#header_inner_wrap {
  background: #fff;
  z-index: 500;
  top: 0;
  left: 0;
  width: 100%; }
  @media only screen and (max-width: 835px) {
    #header_inner_wrap {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 12px 20px;
      position: fixed; } }
  @media only screen and (max-width: 640px) {
    #header_inner_wrap {
      padding: 12px 10px; } }
  #header_inner_wrap #header_inner {
    max-width: 1200px;
    margin: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0; }
    @media screen and (min-width: 1001px) and (max-width: 1200px) {
      #header_inner_wrap #header_inner {
        padding: 12px 10px; } }
    @media screen and (min-width: 835px) and (max-width: 1000px) {
      #header_inner_wrap #header_inner {
        padding: 12px 10px; } }
    @media only screen and (max-width: 835px) {
      #header_inner_wrap #header_inner {
        margin: 0;
        width: 100%;
        flex: 1;
        padding: 0; } }
    #header_inner_wrap #header_inner #siteID {
      max-width: 320px;
      min-width: 300px;
      width: 50%; }
      @media only screen and (max-width: 640px) {
        #header_inner_wrap #header_inner #siteID {
          min-width: auto;
          max-width: 250px;
          width: 80%; } }
      @media screen and (max-width: 400px) {
        #header_inner_wrap #header_inner #siteID {
          width: 80%; } }
  #header_inner_wrap .h_contact {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%; }
    @media only screen and (max-width: 835px) {
      #header_inner_wrap .h_contact {
        width: auto;
        flex-direction: column; } }
    #header_inner_wrap .h_contact .header-tel i, #header_inner_wrap .h_contact .header-tel-nav i {
      font-size: 1.875rem;
      font-weight: solid;
      color: #220008; }
      @media (max-width: 1200px) {
        #header_inner_wrap .h_contact .header-tel i, #header_inner_wrap .h_contact .header-tel-nav i {
          font-size: calc(1.3125rem + 0.75vw) ; } }
    #header_inner_wrap .h_contact .header-tel .h-tel, #header_inner_wrap .h_contact .header-tel-nav .h-tel {
      margin-right: 5px; }
      #header_inner_wrap .h_contact .header-tel .h-tel a, #header_inner_wrap .h_contact .header-tel-nav .h-tel a {
        color: #220008;
        font-family: "adobe-garamond-pro", serif;
        font-size: 1.5rem;
        opacity: 1 !important;
        position: relative; }
        @media (max-width: 1200px) {
          #header_inner_wrap .h_contact .header-tel .h-tel a, #header_inner_wrap .h_contact .header-tel-nav .h-tel a {
            font-size: calc(1.275rem + 0.3vw) ; } }
        #header_inner_wrap .h_contact .header-tel .h-tel a:after, #header_inner_wrap .h_contact .header-tel-nav .h-tel a:after {
          position: absolute;
          content: '';
          background: url(../images/common/phone-1.png) no-repeat;
          background-size: contain;
          display: inline-block;
          width: 30px;
          height: 30px;
          top: 0;
          bottom: 0;
          left: -35px;
          margin: 0 auto; }
      #header_inner_wrap .h_contact .header-tel .h-tel span, #header_inner_wrap .h_contact .header-tel-nav .h-tel span {
        font-size: 1.25rem; }
    #header_inner_wrap .h_contact .header-tel .header-time, #header_inner_wrap .h_contact .header-tel-nav .header-time {
      font-size: 0.8125rem; }
      #header_inner_wrap .h_contact .header-tel .header-time span, #header_inner_wrap .h_contact .header-tel-nav .header-time span {
        background: #ccc;
        color: #fff;
        font-size: 0.75rem;
        padding: 0 5px;
        border-radius: 3px;
        margin-right: 5px; }
    @media only screen and (max-width: 835px) {
      #header_inner_wrap .h_contact .header-tel, #header_inner_wrap .h_contact .header-tel-nav {
        display: none; } }
    @media only screen and (max-width: 835px) {
      #header_inner_wrap .h_contact .header-tel-nav {
        display: block;
        margin-bottom: 15px; } }
    #header_inner_wrap .h_contact .header-cont a, #header_inner_wrap .h_contact .header-cont-nav a {
      display: block;
      background: rgba(252, 126, 154, 0.3);
      padding: 10px 50px;
      color: #ac138d;
      font-family: "a-otf-ryumin-pr6n", "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif; }
      #header_inner_wrap .h_contact .header-cont a i, #header_inner_wrap .h_contact .header-cont-nav a i {
        margin-right: 5px; }
      #header_inner_wrap .h_contact .header-cont a:hover, #header_inner_wrap .h_contact .header-cont-nav a:hover {
        opacity: 1;
        background: rgba(172, 19, 141, 0.4);
        transition: 0.5s;
        color: #fff; }
      @media only screen and (max-width: 835px) {
        #header_inner_wrap .h_contact .header-cont a, #header_inner_wrap .h_contact .header-cont-nav a {
          display: none; } }
    #header_inner_wrap .h_contact .header-cont-nav a {
      color: #ac138d; }
      @media only screen and (max-width: 835px) {
        #header_inner_wrap .h_contact .header-cont-nav a {
          display: block; } }
    #header_inner_wrap .h_contact .smicon {
      width: 100%;
      min-width: 85px;
      margin-left: 5px;
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-end; }
      #header_inner_wrap .h_contact .smicon div {
        width: 48%;
        margin: 1%; }
        #header_inner_wrap .h_contact .smicon div a {
          background: #fc7e9a;
          border-radius: 50%;
          width: 40px;
          height: 40px;
          line-height: 40px;
          display: block;
          color: #fff;
          margin: 0 auto; }
      @media screen and (min-width: 836px) {
        #header_inner_wrap .h_contact .smicon {
          display: none; } }
      @media screen and (max-width: 400px) {
        #header_inner_wrap .h_contact .smicon div {
          margin: auto; } }

#nav_global {
  width: 100%;
  background-image: -moz-linear-gradient(90deg, #fbded4 0%, #f8daf2 0%, #fdd7df 100%);
  background-image: -webkit-linear-gradient(90deg, #fbded4 0%, #f8daf2 0%, #fdd7df 100%);
  background-image: -ms-linear-gradient(90deg, #fbded4 0%, #f8daf2 0%, #fdd7df 100%);
  position: relative; }
  @media only screen and (max-width: 835px) {
    #nav_global {
      width: auto;
      background: none;
      margin-left: 10px; } }
  @media only screen and (max-width: 640px) {
    #nav_global {
      margin-left: 5px; } }
  #nav_global > ul {
    display: flex;
    justify-content: flex-start;
    max-width: 1200px;
    margin: auto; }
    @media only screen and (max-width: 835px) {
      #nav_global > ul {
        display: none; } }
    #nav_global > ul > li {
      flex-grow: 1;
      border-left: 1px solid #fff; }
      #nav_global > ul > li:last-child {
        border-right: 1px solid #fff; }
      #nav_global > ul > li > div {
        position: absolute;
        position: absolute;
        left: 0;
        top: 100%;
        width: 100%;
        background: #fc7e9a; }
      #nav_global > ul > li ul {
        max-width: 1200px;
        margin: auto;
        display: flex; }
        #nav_global > ul > li ul li {
          flex-grow: 1; }
      #nav_global > ul > li a {
        color: #ac138d;
        font-family: "a-otf-ryumin-pr6n", "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
        font-size: 1rem;
        display: block;
        transition: 0.5s;
        padding: 10px 0;
        transition: .5s; }
        #nav_global > ul > li a:hover {
          background: rgba(172, 19, 141, 0.5);
          color: #fff; }

#mainArea {
  position: relative;
  left: 0;
  right: 0;
  margin-top: 0 !important;
  max-width: 100%; }
  @media only screen and (max-width: 835px) {
    #mainArea {
      margin-top: 70px !important; } }
  #mainArea > img {
    width: 100%;
    height: auto; }
    @media screen and (min-width: 641px) and (max-width: 835px) {
      #mainArea > img {
    /*
width: 130%;
height: 40vh !important;
object-fit: cover;          
  */ } }
  @media only screen and (max-width: 640px) {
    #mainArea .slick-slide img {
      width: 100%;
      height: 35vh !important;
      object-fit: cover; } }
  #mainArea .slick-prev, #mainArea .slick-next {
    z-index: 100;
    height: auto !important;
    width: auto !important; }
  #mainArea .slick-prev {
    left: 18% !important; }
    @media screen and (min-width: 641px) and (max-width: 835px) {
      #mainArea .slick-prev {
        width: 50px !important; } }
  #mainArea .slick-next {
    right: 18% !important; }
    @media screen and (min-width: 641px) and (max-width: 835px) {
      #mainArea .slick-next {
        width: 50px !important; } }
  #mainArea .slick-prev:before, #mainArea .slick-next:before {
    display: none; }

#main-txt {
  position: absolute;
  left: 5%;
  top: 30%;
  width: 60%;
  max-width: 960px;
  display: block;
  margin: 0 auto; }
  @media screen and (max-width: 1700px) {
    #main-txt {
      top: 30%; } }
  @media only screen and (max-width: 640px) {
    #main-txt {
      width: 100%;
      top: 0;
      left: auto;
      bottom: 0;
      display: flex;
      align-items: center;
      justify-content: center; }
      #main-txt > img {
        width: 90%;
        margin: 0 auto; } }

#sp {
  display: none; }
  @media only screen and (max-width: 835px) {
    #sp {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 45px;
      height: 45px;
      border-radius: 5px;
      background: #fc7e9a;
      position: relative;
      z-index: 300; } }

#nav_sp {
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow-y: auto;
  background: #fff;
  z-index: 210; }

.spBtn {
  display: none; }
  @media only screen and (max-width: 835px) {
    .spBtn {
      display: block;
      position: absolute;
      top: 15px;
      right: 15px;
      width: 40px;
      z-index: 500;
      font-size: 1.875rem; } }
  @media only screen and (max-width: 835px) and (max-width: 1200px) {
    .spBtn {
      font-size: calc(1.3125rem + 0.75vw) ; } }

  @media screen and (max-width: 400px) {
    .spBtn {
      top: 10px; } }

.nav_wrap {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  position: absolute;
  width: 100%; }
  .nav_wrap .h_contact {
    margin-top: 20px; }
    @media only screen and (max-width: 835px) {
      .nav_wrap .h_contact .telwrap {
        display: block !important; } }
  .nav_wrap > ul {
    width: 100%;
    padding: 0 20px; }
    .nav_wrap > ul > li {
      border-bottom: 1px solid #fc7e9a;
      position: relative; }
      @media only screen and (max-width: 835px) {
        .nav_wrap > ul > li {
          padding: 16px 0; } }
      @media screen and (max-width: 400px) {
        .nav_wrap > ul > li {
          padding: 10px 0; } }
      .nav_wrap > ul > li ul li {
        border: none;
        background: #eee;
        padding: 5px;
        margin-bottom: 5px; }
      .nav_wrap > ul > li a {
        color: #220008;
        display: block;
        position: relative;
        z-index: 400; }
        @media only screen and (max-width: 835px) {
          .nav_wrap > ul > li a {
            font-size: 1.3rem; } }
        @media only screen and (max-width: 640px) {
          .nav_wrap > ul > li a {
            font-size: 1.1rem; } }

.sp_menu {
  width: 24px;
  height: 18px;
  display: block;
  z-index: 300;
  position: relative;
  display: none; }
  @media only screen and (max-width: 835px) {
    .sp_menu {
      display: block; } }
  .sp_menu div {
    position: absolute;
    width: 100%;
    height: 2px;
    left: 0;
    background-color: #fff; }
    .sp_menu div:nth-of-type(1) {
      top: 0; }
    .sp_menu div:nth-of-type(2) {
      top: 8px;
      opacity: 1; }
    .sp_menu div:nth-of-type(3) {
      bottom: 0; }
  .sp_menu.off div:nth-of-type(1) {
    -webkit-animation: menu-bar01 0.75s forwards;
    animation: menu-bar01 0.75s forwards; }
@-webkit-keyframes menu-bar01 {
  0% {
    -webkit-transform: translateY(8px) rotate(45deg); }
  50% {
    -webkit-transform: translateY(8px) rotate(0); }
  100% {
    -webkit-transform: translateY(0) rotate(0); } }
@keyframes menu-bar01 {
  0% {
    transform: translateY(8px) rotate(45deg); }
  50% {
    transform: translateY(8px) rotate(0); }
  100% {
    transform: translateY(0) rotate(0); } }
  .sp_menu.off div:nth-of-type(2) {
    transition: all 0.25s 0.25s;
    -webkit-transition: all 0.25s 0.25s; }
@-webkit-keyframes menu-bar02 {
  0% {
    -webkit-transform: translateY(-8px) rotate(-45deg); }
  50% {
    -webkit-transform: translateY(-8px) rotate(0); }
  100% {
    -webkit-transform: translateY(0) rotate(0); } }
@keyframes menu-bar02 {
  0% {
    transform: translateY(-8px) rotate(-45deg); }
  50% {
    transform: translateY(-8px) rotate(0); }
  100% {
    transform: translateY(0) rotate(0); } }
  .sp_menu.off div:nth-of-type(3) {
    -webkit-animation: menu-bar02 0.75s forwards;
    animation: menu-bar02 0.75s forwards; }
  .sp_menu.on div:nth-of-type(1) {
    -webkit-animation: active-menu-bar01 0.75s forwards;
    animation: active-menu-bar01 0.75s forwards; }
@-webkit-keyframes active-menu-bar01 {
  0% {
    -webkit-transform: translateY(0) rotate(0); }
  50% {
    -webkit-transform: translateY(8px) rotate(0); }
  100% {
    -webkit-transform: translateY(8px) rotate(45deg); } }
@keyframes active-menu-bar01 {
  0% {
    transform: translateY(0) rotate(0); }
  50% {
    transform: translateY(8px) rotate(0); }
  100% {
    transform: translateY(8px) rotate(45deg); } }
  .sp_menu.on div:nth-of-type(2) {
    opacity: 0; }
  .sp_menu.on div:nth-of-type(3) {
    -webkit-animation: active-menu-bar03 0.75s forwards;
    animation: active-menu-bar03 0.75s forwards; }
@-webkit-keyframes active-menu-bar03 {
  0% {
    -webkit-transform: translateY(0) rotate(0); }
  50% {
    -webkit-transform: translateY(-8px) rotate(0); }
  100% {
    -webkit-transform: translateY(-8px) rotate(-45deg); } }
@keyframes active-menu-bar03 {
  0% {
    transform: translateY(0) rotate(0); }
  50% {
    transform: translateY(-8px) rotate(0); }
  100% {
    transform: translateY(-8px) rotate(-45deg); } }
.anchor {
  display: block;
  transform: translateY(-180px); }
  @media screen and (min-width: 641px) and (max-width: 835px) {
    .anchor {
      transform: translateY(-100px); } }
  @media only screen and (max-width: 640px) {
    .anchor {
      transform: translateY(-100px); } }

.anchor2 {
  display: block;
  transform: translateY(-100px); }
  @media screen and (min-width: 641px) and (max-width: 835px) {
    .anchor2 {
      transform: translateY(-100px); } }
  @media only screen and (max-width: 640px) {
    .anchor2 {
      transform: translateY(-100px); } }

/*
飛ばしたいところの前に以下のような記述
<span id="map" class="anchor"></span>
*/
.clone-nav {
  width: 100%;
  position: fixed !important;
  background: white;
  top: 0;
  left: 0;
  right: 0;
  z-index: 2;
  width: 100%;
  transition: .3s;
  transform: translateY(-100%); }
  @media only screen and (max-width: 835px) {
    .clone-nav {
      display: none; } }

.is-show {
  transform: translateY(0); }

footer#global_footer {
  position: relative;
  background: none !important;
  min-width: auto !important;
  margin-top: 60px; }
  @media screen and (min-width: 641px) and (max-width: 835px) {
    footer#global_footer {
      margin-top: 30px; } }
  @media only screen and (max-width: 640px) {
    footer#global_footer {
      margin-top: 15px; } }

#top-button {
  position: fixed;
  right: -100px;
  top: 300px;
  z-index: 1;
  -moz-transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg); }
  @media only screen and (max-width: 835px) {
    #top-button {
      display: none !important; } }

#fix-cont {
  width: 250px;
  height: 40px;
  border: 1px solid #ac138d;
  background: #ac138d;
  line-height: 40px;
  font-family: "a-otf-ryumin-pr6n", "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 1rem; }
  #fix-cont i {
    margin-right: 5px; }
  #fix-cont a {
    display: block;
    color: #fff;
    font-family: "a-otf-ryumin-pr6n", "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-size: 1rem;
    opacity: 1 !important; }
  #fix-cont:hover {
    background: #fc7e9a;
    border: 1px solid #fc7e9a;
    opacity: 1 !important;
    transition: 0.5s; }

#TCT-wrap {
  background: rgba(172, 19, 141, 0.07);
  padding: 4% 0 3% 0 !important; }
  @media screen and (min-width: 641px) and (max-width: 835px) {
    #TCT-wrap {
      padding: 8% 0 !important; } }
  @media only screen and (max-width: 640px) {
    #TCT-wrap {
      padding: 10% 0 !important; } }

#TCT-inner {
  max-width: 1200px;
  margin: 0 auto; }

#TCT-title {
  font-size: 1rem;
  margin-bottom: 50px; }
  #TCT-title h2 {
    font-size: 1.75rem;
    text-align: center;
    color: #fc7e9a;
    font-family: "a-otf-ryumin-pr6n", "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-weight: 600;
    position: relative;
    margin-bottom: 50px;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center; }
    @media (max-width: 1200px) {
      #TCT-title h2 {
        font-size: calc(1.3rem + 0.6vw) ; } }
    #TCT-title h2:after {
      display: block;
      position: absolute;
      content: '';
      background: url(../images/common/deco1.png) no-repeat center;
      background-size: contain;
      width: 500px;
      height: 30px;
      bottom: -40px;
      right: 0;
      left: 0;
      margin: 0 auto; }
  @media only screen and (max-width: 835px) {
    #TCT-title {
      margin-bottom: 20px; }
      #TCT-title h2 {
        font-size: 1.875rem; } }
    @media only screen and (max-width: 835px) and (max-width: 1200px) {
      #TCT-title h2 {
        font-size: calc(1.3125rem + 0.75vw) ; } }
  @media only screen and (max-width: 835px) {
        #TCT-title h2:after {
          width: 80%;
          max-width: 300px;
          height: 30px;
          bottom: -30px; } }
  @media only screen and (max-width: 640px) {
    #TCT-title {
      width: 95%;
      margin: 0  auto; } }

#TCT-bottom {
  display: flex;
  justify-content: space-around; }
  @media only screen and (max-width: 835px) {
    #TCT-bottom {
      flex-direction: column; } }

#TCT-tel-wrap, #TCT-cont-wrap {
  width: 49%;
  margin: 1%;
  padding: 4% 0;
  background: white;
  box-shadow: 0px 3px 7px 0px rgba(0, 0, 0, 0.15);
  display: flex;
  flex-direction: column;
  justify-content: space-between; }
  #TCT-tel-wrap #TCT-tel-title, #TCT-cont-wrap #TCT-tel-title, #TCT-cont-wrap #TCT-cont-title {
    font-size: 1.25rem;
    font-family: "a-otf-ryumin-pr6n", "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    color: #220008;
    background: rgba(252, 126, 154, 0.2);
    padding: 3% 0; }
    @media screen and (max-width: 400px) {
      #TCT-tel-wrap #TCT-tel-title, #TCT-cont-wrap #TCT-tel-title, #TCT-cont-wrap #TCT-cont-title {
        font-size: 18px; } }
  #TCT-tel-wrap #TCT-tel, #TCT-cont-wrap #TCT-tel {
    margin: 30px auto 5px auto; }
    #TCT-tel-wrap #TCT-tel a, #TCT-cont-wrap #TCT-tel a {
      color: #220008;
      font-family: "adobe-garamond-pro", serif;
      font-size: 2.5rem;
      opacity: 1 !important;
      position: relative;
      padding-left: 45px; }
      @media (max-width: 1200px) {
        #TCT-tel-wrap #TCT-tel a, #TCT-cont-wrap #TCT-tel a {
          font-size: calc(1.375rem + 1.5vw) ; } }
      #TCT-tel-wrap #TCT-tel a:after, #TCT-cont-wrap #TCT-tel a:after {
        position: absolute;
        content: '';
        background: url(../images/common/phone-1.png) no-repeat;
        background-size: contain;
        display: inline-block;
        width: 40px;
        height: 40px;
        top: 0;
        bottom: 0;
        left: 0;
        margin: 0 auto; }
  @media only screen and (max-width: 835px) {
    #TCT-tel-wrap, #TCT-cont-wrap {
      width: 90%;
      margin: 10px auto;
      padding: 7% 0; } }
  @media only screen and (max-width: 640px) {
    #TCT-tel-wrap, #TCT-cont-wrap {
      width: 95%; } }
  @media screen and (max-width: 400px) {
    #TCT-tel-wrap a, #TCT-cont-wrap a {
      font-size: 20px; } }

#TCT-cont-wrap #TCT-cont {
  height: 50%;
  margin-top: 15px; }
  #TCT-cont-wrap #TCT-cont a {
    padding: 10px;
    display: block;
    align-self: center;
    background: rgba(252, 126, 154, 0.4);
    color: #ac138d;
    font-family: "a-otf-ryumin-pr6n", "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-size: 1.125rem;
    padding: 3% 20%;
    min-width: 280px;
    display: inline-block; }
    #TCT-cont-wrap #TCT-cont a i {
      padding-right: 10px; }
    #TCT-cont-wrap #TCT-cont a:hover {
      opacity: 1 !important;
      background: rgba(172, 19, 141, 0.4);
      color: #fff;
      transition: 0.5s; }
  @media only screen and (max-width: 640px) {
    #TCT-cont-wrap #TCT-cont {
      margin-left: 0;
      margin-bottom: 10px; } }
  @media screen and (max-width: 400px) {
    #TCT-cont-wrap #TCT-cont a {
      font-size: 18px;
      padding: 5%; } }

#footer-inner {
  width: 100%; }
  #footer-inner address {
    margin-bottom: 20px;
    font-size: 0.9375rem; }
    #footer-inner address h2 {
      margin-bottom: 15px; }
      #footer-inner address h2 a {
        font-size: 1.5rem;
        font-family: "a-otf-ryumin-pr6n", "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
        color: #220008; }
        @media (max-width: 1200px) {
          #footer-inner address h2 a {
            font-size: calc(1.275rem + 0.3vw) ; } }
    @media only screen and (max-width: 835px) {
      #footer-inner address {
        margin-bottom: 10px; } }
    #footer-inner address a {
      color: #333;
      opacity: 1; }

.f-bg {
  background: url(../images/common/TCT_bg.png) no-repeat center;
  background-size: cover;
  padding: 50px 15px 40px 15px; }
  @media only screen and (max-width: 835px) {
    .f-bg {
      padding: 30px 0; } }

.f-map {
  width: 95%;
  max-width: 1000px;
  margin: 0 auto; }
  .f-map iframe {
    vertical-align: bottom; }

.f-gray {
  background-image: -moz-linear-gradient(-90deg, #fbded4 0%, #f8daf2 0%, #fdd7df 100%);
  background-image: -webkit-linear-gradient(-90deg, #fbded4 0%, #f8daf2 0%, #fdd7df 100%);
  background-image: -ms-linear-gradient(-90deg, #fbded4 0%, #f8daf2 0%, #fdd7df 100%);
  padding: 20px 15px; }

.shokuninlogo {
  margin: 10px auto 15px auto; }

#footer-nav {
  width: 50%;
  min-width: 700px;
  margin: 0 auto 10px auto; }
  #footer-nav ul {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap; }
    #footer-nav ul li {
      flex-grow: 1;
      position: relative; }
      #footer-nav ul li a {
        display: block;
        font-size: 0.8125rem;
        width: 100%;
        padding: 3px 10px; }
      #footer-nav ul li:not(:first-child):before {
        content: '|';
        font-size: 10px;
        color: rgba(172, 19, 141, 0.5);
        padding-right: 10px;
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        display: flex;
        align-items: center; }
  @media only screen and (max-width: 835px) {
    #footer-nav {
      display: none; } }

#copyright {
  color: #ac138d;
  text-align: center; }

.mean-container .mean-push {
  display: none !important; }

.top-title h2, .top-title2 h2 {
  font-size: 1.75rem;
  text-align: center;
  color: #fc7e9a;
  font-family: "a-otf-ryumin-pr6n", "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 600;
  position: relative;
  margin-bottom: 65px;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center; }
  @media (max-width: 1200px) {
    .top-title h2, .top-title2 h2 {
      font-size: calc(1.3rem + 0.6vw) ; } }
  .top-title h2:after, .top-title2 h2:after {
    display: block;
    position: absolute;
    content: '';
    background: url(../images/common/deco1.png) no-repeat center;
    background-size: contain;
    width: 500px;
    height: 30px;
    bottom: -40px;
    right: 0;
    left: 0;
    margin: 0 auto; }
@media only screen and (max-width: 835px) {
  .top-title h2, .top-title2 h2 {
    margin-bottom: 35px;
    font-size: 1.875rem; } }
  @media only screen and (max-width: 835px) and (max-width: 1200px) {
    .top-title h2, .top-title2 h2 {
      font-size: calc(1.3125rem + 0.75vw) ; } }
@media only screen and (max-width: 835px) {
    .top-title h2:after, .top-title2 h2:after {
      width: 80%;
      max-width: 300px;
      height: 30px;
      bottom: -30px; } }

.top-title2 h2 {
  color: #fff; }

.con1 {
  max-width: 1400px;
  margin: 0 auto;
  widows: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; }
  .con1 div {
    position: relative;
    z-index: -1;
    margin-top: -20px;
    width: 100%;
    max-width: 1000px;
    background: #fc7e9a;
    padding: 50px 15px 30px 15px;
    color: #fff;
    font-size: 1.125rem;
    line-height: 2.0em;
    font-family: "a-otf-ryumin-pr6n", "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    text-align: center; }
    @media only screen and (max-width: 835px) {
      .con1 div {
        padding: 30px 10px 15px 10px;
        font-size: 1rem;
        line-height: 2.0em;
        text-align: left !important; } }

.TFLX1-wrap {
  position: relative;
  padding: 3% 0 !important; }
  @media screen and (max-width: 1500px) {
    .TFLX1-wrap {
      padding: 7% 0 !important; } }
  @media only screen and (max-width: 835px) {
    .TFLX1-wrap {
      padding: 10% 0 !important; } }

.TFLX1-inr {
  width: 1000%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  margin: 0% 0% 0% -500%;
  background: rgba(252, 126, 154, 0.15);
  z-index: -1; }

.TFLX1 {
  width: 95%;
  max-width: 750px;
  margin: 0 auto;
  display: flex;
  justify-content: center; }
  .TFLX1 .box {
    width: 31.333%;
    margin: 1%; }
    .TFLX1 .box article > h3 {
      display: none; }
    .TFLX1 .box article img {
      margin: 0 auto;
      display: block; }
    .TFLX1 .box article div {
      text-align: center;
      font-size: 1rem;
      font-family: "a-otf-ryumin-pr6n", "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
      color: #ac138d;
      margin-top: 10px; }
  @media only screen and (max-width: 640px) {
    .TFLX1 {
      width: 100%; }
      .TFLX1 .box {
        width: 48%; } }
  @media screen and (max-width: 350px) {
    .TFLX1 {
      flex-direction: column; }
      .TFLX1 .box {
        width: 100%;
        margin: 0 auto 15px auto; } }

.TTBL1-wrap {
  position: relative;
  padding: 4% 0  !important; }
  @media screen and (max-width: 1300px) {
    .TTBL1-wrap {
      padding: 6% 0  !important; } }
  @media screen and (min-width: 641px) and (max-width: 835px) {
    .TTBL1-wrap {
      padding: 8% 0 !important; } }
  @media only screen and (max-width: 640px) {
    .TTBL1-wrap {
      padding: 10% 0 !important; } }

.TTBL1-inr {
  width: 100vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  margin-left: calc(((100vw - 100%) / 2) * -1);
  margin-right: calc(((100vw - 100%) / 2) * -1);
  background: url(../images/common/top_bg1.png) repeat center bottom;
  background-size: cover;
  z-index: -1; }
  @media only screen and (max-width: 640px) {
    .TTBL1-inr {
      background-position: right bottom; } }

.TTBL1 .box-txt {
  color: #fff;
  font-size: 1.125rem; }

.top-bnr {
  max-width: 1200px;
  width: 95%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around; }
  .top-bnr .box {
    width: 31.333%;
    margin: 1%;
    opacity: 0.5;
    background-image: -moz-linear-gradient(0deg, #fc1c4c 0%, #fc3f68 49%, #fc1c4c 100%);
    background-image: -webkit-linear-gradient(0deg, #fc1c4c 0%, #fc3f68 49%, #fc1c4c 100%);
    background-image: -ms-linear-gradient(0deg, #fc1c4c 0%, #fc3f68 49%, #fc1c4c 100%); }
    .top-bnr .box div {
      height: 100%; }
    .top-bnr .box a {
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: space-around;
      padding: 30px; }
      .top-bnr .box a img:first-child {
        width: 50px; }
      .top-bnr .box a img:last-child {
        width: 15px;
        opacity: 0.5; }
      .top-bnr .box a .box-txt {
        font-size: 1.25rem;
        font-family: "a-otf-ryumin-pr6n", "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
        color: #fff;
        text-align: center; }
        .top-bnr .box a .box-txt span {
          display: block;
          font-size: 1rem;
          margin-top: 5px; }
      @media screen and (max-width: 1200px) {
        .top-bnr .box a {
          padding: 20px;
          justify-content: space-between; }
          .top-bnr .box a .box-txt {
            font-size: 1.25rem; } }
      @media screen and (min-width: 835px) and (max-width: 1000px) {
        .top-bnr .box a {
          padding: 20px 15px; }
          .top-bnr .box a img:first-child {
            width: 40px; } }
      @media screen and (min-width: 641px) and (max-width: 835px) {
        .top-bnr .box a {
          padding: 20px 15px; }
          .top-bnr .box a .box-txt {
            font-size: 1.0625rem; }
          .top-bnr .box a img:first-child {
            width: 40px; } }
      @media only screen and (max-width: 640px) {
        .top-bnr .box a {
          justify-content: space-around;
          padding: 20px 35px 20px 20px; } }
    @media screen and (min-width: 641px) and (max-width: 835px) {
      .top-bnr .box {
        min-width: 260px; } }
  @media only screen and (max-width: 640px) {
    .top-bnr {
      flex-direction: column; }
      .top-bnr .box {
        width: 100%;
        margin: 0 auto 15px auto; } }

.TFLX2 {
  width: 95%;
  max-width: 1200px;
  margin: 0 auto;
  display: flex; }
  .TFLX2 .box {
    width: 23%;
    margin: 1%; }
  @media only screen and (max-width: 640px) {
    .TFLX2 {
      width: 100%; }
      .TFLX2 .box {
        width: 48%; } }
  @media screen and (max-width: 350px) {
    .TFLX2 {
      flex-direction: column; }
      .TFLX2 .box {
        width: 100%;
        margin: 0 auto 15px auto; } }

.TFLX3 {
  width: 95%;
  max-width: 1200px;
  margin: 0 auto;
  display: flex; }
  .TFLX3 a {
    width: 31.333%;
    margin: 1%;
    background: #fff3f0;
    box-shadow: 0px 3px 7px 0px rgba(0, 0, 0, 0.2);
    padding: 30px;
    position: relative; }
    @media screen and (min-width: 641px) and (max-width: 835px) {
      .TFLX3 a {
        padding: 20px; } }
    .TFLX3 a h3 {
      display: none; }
    .TFLX3 a h2 {
      margin-top: 15px;
      text-align: center;
      font-family: "Source Han Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
      color: #220008;
      font-size: 1.5rem;
      position: relative; }
      @media (max-width: 1200px) {
        .TFLX3 a h2 {
          font-size: calc(1.275rem + 0.3vw) ; } }
      .TFLX3 a h2:after {
        position: absolute;
        content: '';
        width: 60px;
        height: 2px;
        background-image: -moz-linear-gradient(0deg, #fc7e9a 0%, #fa5630 100%);
        background-image: -webkit-linear-gradient(0deg, #fc7e9a 0%, #fa5630 100%);
        background-image: -ms-linear-gradient(0deg, #fc7e9a 0%, #fa5630 100%);
        bottom: -10px;
        left: 0;
        margin: 0 auto;
        display: block;
        right: 0; }
    .TFLX3 a:before {
      position: absolute;
      content: '';
      background-image: -moz-linear-gradient(180deg, #0080cb 0%, #004c7b 100%);
      background-image: -webkit-linear-gradient(180deg, #0080cb 0%, #004c7b 100%);
      background-image: -ms-linear-gradient(180deg, #0080cb 0%, #004c7b 100%);
      width: 100%;
      height: 5px;
      right: 0;
      left: 0;
      top: 0; }
    .TFLX3 a:first-child h2 {
      font-size: 1.125rem; }
      @media screen and (max-width: 1000px) {
        .TFLX3 a:first-child h2 br {
          display: none;
          text-align: left; } }
      @media only screen and (max-width: 835px) {
        .TFLX3 a:first-child h2 {
          font-size: 1rem; } }
  @media only screen and (max-width: 640px) {
    .TFLX3 {
      flex-direction: column; }
      .TFLX3 a {
        width: 100%;
        margin: 0 auto 20px auto; }
        .TFLX3 a img {
          margin: 0 auto;
          display: block;
          width: 85%; }
        .TFLX3 a h2 {
          font-size: 1.25rem; } }

.news-box {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  height: 300px;
  padding: 40px;
  background: #fff3f0;
  box-shadow: 0px 3px 7px 0px rgba(0, 0, 0, 0.2); }
  @media only screen and (max-width: 640px) {
    .news-box {
      padding: 20px; } }

.news {
  height: 100%;
  overflow-y: auto; }
  .news dl {
    border: none !important;
    margin-bottom: 15px;
    border-bottom: 1px dashed #ccc !important; }
    .news dl dt {
      color: #220008 !important;
      padding: 5px 10px !important;
      background: none !important; }
    .news dl dt, .news dl dd {
      border: none !important; }
    .news dl dd {
      background: none !important; }
    @media only screen and (max-width: 640px) {
      .news dl {
        flex-direction: column;
        margin-bottom: 0; }
        .news dl dd {
          width: 100% !important; } }

.link-button01 {
  max-width: 1200px;
  width: auto  !important;
  margin: 0 auto; }
  .link-button01 div {
    margin: 0 auto 0 0;
    position: relative; }
    .link-button01 div a {
      width: 250px;
      position: absolute;
      bottom: -50px; }
      @media screen and (max-width: 1200px) {
        .link-button01 div a {
          left: 15px; } }

.top-blog .blog_list {
  border: none; }
  .top-blog .blog_list .blog_photo {
    display: none; }
  .top-blog .blog_list .blog_text {
    width: 100%; }
    .top-blog .blog_list .blog_text .blog_date {
      color: #fc7e9a;
      font-family: "adobe-garamond-pro", serif;
      font-size: 0.875rem; }
    .top-blog .blog_list .blog_text h3 a {
      color: #555 !important;
      text-decoration: underline; }
    .top-blog .blog_list .blog_text .detail {
      display: none; }

.button a, .button2b a {
  text-align: center;
  position: relative;
  z-index: 2;
  border: 1px solid #fc7e9a;
  transition: all .3s;
  display: block;
  margin: 0 auto;
  width: 90%;
  max-width: 400px;
  min-width: 220px;
  padding: 10px;
  color: #333;
  font-size: 1rem; }
  .button a:before, .button2b a:before {
    right: 0;
    top: 0;
    width: 50%;
    height: 100%;
    background-color: #fff;
    transition: all .3s;
    position: absolute;
    z-index: -1;
    display: block;
    content: ''; }
  .button a:after, .button2b a:after {
    left: 0;
    top: 0;
    width: 50%;
    height: 100%;
    background-color: #fff;
    transition: all .3s;
    position: absolute;
    z-index: -1;
    display: block;
    content: ''; }
  .button a:hover, .button2b a:hover {
    opacity: 1 !important;
    background-color: #fc7e9a;
    border-color: #FFF;
    color: #FFF; }
    .button a:hover:after, .button2b a:hover:after, .button a:hover:before, .button2b a:hover:before {
      width: 0;
      background-color: #FFF; }

.button2b {
  max-width: 300px;
  width: 100%; }
  .button2b a {
    display: flex !important;
    border: 1px solid #ac138d;
    align-items: center;
    width: 100%;
    max-width: auto;
    padding: 15px; }
    .button2b a:before {
      background: #ac138d; }
    .button2b a:after {
      background: #ac138d; }
    .button2b a img {
      width: 27% !important;
      margin: 3%; }
    .button2b a div {
      width: 67%;
      margin: 3%;
      color: #fff;
      text-align: left !important;
      font-size: 1.25rem; }
      .button2b a div i {
        margin-left: 10px; }
      .button2b a div span {
        display: block;
        font-size: 0.9375rem; }

.btn1 a {
  display: block;
  width: 90%;
  max-width: 400px;
  min-width: 250px;
  margin: 0  auto;
  padding: 15px 5px;
  color: #ac138d;
  font-size: 1rem;
  text-align: center;
  font-weight: 500;
  position: relative;
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid #ac138d; }
  .btn1 a:after {
    font-family: "Font Awesome 5 Pro";
    content: "\f105";
    /*アイコンのユニコード*/
    font-weight: 600;
    position: absolute;
    /*絶対位置*/
    font-size: 0.875rem;
    /*サイズ*/
    right: 10px;
    /*アイコンの位置*/
    top: auto;
    /*アイコンの位置*/
    bottom: auto;
    color: #ac138d; }
  .btn1 a:hover {
    background: #ac138d;
    opacity: 1;
    transition: 0.5s;
    color: #fff; }
    .btn1 a:hover:after {
      transform: translate(3px, 0);
      transition: 0.5s;
      color: #fff; }

.top-insta {
  max-width: 1200px;
  margin: 0 auto; }
  .top-insta .sns_list {
    flex-direction: inherit !important;
    border: none  !important;
    flex-wrap: wrap; }
    .top-insta .sns_list .sns_text {
      display: none; }
    .top-insta .sns_list .sns_photo {
      width: 100% !important;
      height: 100%;
      padding: 0 !important; }
      .top-insta .sns_list .sns_photo img {
        width: 100%;
        height: 100% !important;
        object-fit: cover; }
  .top-insta .sns_list > div {
    border: none !important;
    width: 16%;
    margin: 0.333%; }
    @media screen and (min-width: 641px) and (max-width: 835px) {
      .top-insta .sns_list > div {
        width: 49%; } }
    @media only screen and (max-width: 640px) {
      .top-insta .sns_list > div {
        width: 49%; } }
    @media screen and (max-width: 350px) {
      .top-insta .sns_list > div {
        width: 99%; } }

@media screen and (min-width: 641px) and (max-width: 835px) {
  .partner-UL li {
    width: 48% !important; } }
@media only screen and (max-width: 640px) {
  .partner-UL li {
    width: 100% !important;
    float: none; } }

.r_contact {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%; }
  @media only screen and (max-width: 835px) {
    .r_contact {
      width: auto;
      flex-direction: column; } }
  .r_contact .header-tel i, .r_contact #header_inner_wrap .h_contact .header-tel-nav i, #header_inner_wrap .h_contact .r_contact .header-tel-nav i {
    font-size: 1.875rem;
    font-weight: solid;
    color: #220008; }
    @media (max-width: 1200px) {
      .r_contact .header-tel i, .r_contact #header_inner_wrap .h_contact .header-tel-nav i, #header_inner_wrap .h_contact .r_contact .header-tel-nav i {
        font-size: calc(1.3125rem + 0.75vw) ; } }
  .r_contact .header-tel .h-tel, .r_contact #header_inner_wrap .h_contact .header-tel-nav .h-tel, #header_inner_wrap .h_contact .r_contact .header-tel-nav .h-tel {
    text-align: center;
    margin-right: 5px; }
    .r_contact .header-tel .h-tel a, .r_contact #header_inner_wrap .h_contact .header-tel-nav .h-tel a, #header_inner_wrap .h_contact .r_contact .header-tel-nav .h-tel a {
      color: #220008;
      font-family: "adobe-garamond-pro", serif;
      font-size: 1.5rem;
      opacity: 1 !important;
      position: relative;
      padding-left: 35px; }
      @media (max-width: 1200px) {
        .r_contact .header-tel .h-tel a, .r_contact #header_inner_wrap .h_contact .header-tel-nav .h-tel a, #header_inner_wrap .h_contact .r_contact .header-tel-nav .h-tel a {
          font-size: calc(1.275rem + 0.3vw) ; } }
      .r_contact .header-tel .h-tel a:after, .r_contact #header_inner_wrap .h_contact .header-tel-nav .h-tel a:after, #header_inner_wrap .h_contact .r_contact .header-tel-nav .h-tel a:after {
        position: absolute;
        content: '';
        background: url(../images/common/phone-1.png) no-repeat;
        background-size: contain;
        display: inline-block;
        width: 30px;
        height: 30px;
        top: 0;
        bottom: 0;
        left: 0;
        margin: 0 auto; }
    .r_contact .header-tel .h-tel span, .r_contact #header_inner_wrap .h_contact .header-tel-nav .h-tel span, #header_inner_wrap .h_contact .r_contact .header-tel-nav .h-tel span {
      font-size: 1.25rem; }
  .r_contact .header-tel .header-time, .r_contact #header_inner_wrap .h_contact .header-tel-nav .header-time, #header_inner_wrap .h_contact .r_contact .header-tel-nav .header-time {
    font-size: 0.8125rem; }
    .r_contact .header-tel .header-time span, .r_contact #header_inner_wrap .h_contact .header-tel-nav .header-time span, #header_inner_wrap .h_contact .r_contact .header-tel-nav .header-time span {
      background: #ccc;
      color: #fff;
      font-size: 0.75rem;
      padding: 0 5px;
      border-radius: 3px;
      margin-right: 5px; }
  @media only screen and (max-width: 835px) {
    .r_contact .header-tel, .r_contact #header_inner_wrap .h_contact .header-tel-nav, #header_inner_wrap .h_contact .r_contact .header-tel-nav {
      text-align: center; } }
  .r_contact .header-cont a, .r_contact #header_inner_wrap .h_contact .header-cont-nav a, #header_inner_wrap .h_contact .r_contact .header-cont-nav a {
    display: block;
    background: rgba(252, 126, 154, 0.3);
    padding: 10px 100px;
    color: #ac138d;
    font-family: "a-otf-ryumin-pr6n", "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif; }
    .r_contact .header-cont a i, .r_contact #header_inner_wrap .h_contact .header-cont-nav a i, #header_inner_wrap .h_contact .r_contact .header-cont-nav a i {
      margin-right: 5px; }
    .r_contact .header-cont a:hover, .r_contact #header_inner_wrap .h_contact .header-cont-nav a:hover, #header_inner_wrap .h_contact .r_contact .header-cont-nav a:hover {
      opacity: 1;
      background: rgba(172, 19, 141, 0.4);
      transition: 0.5s;
      color: #fff; }

.flow-tel {
  margin-right: 5px; }
  .flow-tel a {
    color: #220008;
    font-family: "adobe-garamond-pro", serif;
    font-size: 1.5rem;
    opacity: 1 !important;
    position: relative;
    padding-left: 35px; }
    @media (max-width: 1200px) {
      .flow-tel a {
        font-size: calc(1.275rem + 0.3vw) ; } }
    .flow-tel a:after {
      position: absolute;
      content: '';
      background: url(../images/common/phone-1.png) no-repeat;
      background-size: contain;
      display: inline-block;
      width: 30px;
      height: 30px;
      top: 0;
      bottom: 0;
      left: 0;
      margin: 0 auto; }
  .flow-tel span {
    font-size: 1.25rem; }

.flow-time {
  font-size: 0.8125rem; }
  .flow-time span {
    background: #ccc;
    color: #fff;
    font-size: 0.75rem;
    padding: 0 5px;
    border-radius: 3px;
    margin-right: 5px; }

@media only screen and (max-width: 835px) {
  text-align: center; }
.question_01 dl {
  display: block !important;
  margin-bottom: 30px;
  line-height: normal; }
  .question_01 dl dt {
    padding: 10px 15px 10px 40px !important;
    font-size: 1.125rem;
    background-color: rgba(252, 126, 154, 0.5) !important;
    border: none !important;
    color: #fff;
    cursor: pointer;
    cursor: hand;
    position: relative; }
    .question_01 dl dt:before {
      content: "Q";
      display: block;
      position: absolute;
      top: 5px;
      left: 10px;
      color: #fff;
      font-size: 22px; }
    .question_01 dl dt:after {
      content: ">";
      display: flex;
      justify-content: center;
      align-items: center;
      position: absolute;
      top: 0;
      bottom: 0;
      right: 30px;
      color: #fff;
      font-size: 1.5rem; }
      @media (max-width: 1200px) {
        .question_01 dl dt:after {
          font-size: calc(1.275rem + 0.3vw) ; } }
  .question_01 dl dd {
    padding: 0 0 0 15px !important;
    border: none !important;
    display: none;
    margin-top: 20px;
    font-size: 16px; }
  @media only screen and (max-width: 640px) {
    .question_01 dl {
      margin-bottom: 20px; }
      .question_01 dl dt {
        font-size: 1rem;
        padding-right: 20px !important; }
        .question_01 dl dt:after {
          font-size: 1.25rem;
          right: 5px; } }

.main-btn a {
  background: #fc7e9a; }
  .main-btn a:hover {
    background: #ac138d;
    opacity: 1 !important;
    transition: 0.5s; }

.acc-btn a {
  background: #ac138d; }
  .acc-btn a:hover {
    background: #fa5630;
    opacity: 1 !important;
    transition: 0.5s; }

.tel-s a, .tel-h a {
  color: #333; }
  .tel-s a:hover, .tel-h a:hover {
    opacity: 1.0 !important; }

a.tel-link {
  color: #333; }
  a.tel-link:hover {
    opacity: 1.0 !important; }

@media only screen and (max-width: 835px) {
  .brdnt {
    text-align: left !important; }
    .brdnt br {
      display: none; } }

@media only screen and (max-width: 640px) {
  .brdn {
    text-align: left !important; }
    .brdn br {
      display: none; }
    .brdn div {
      text-align: left !important; } }

@media screen and (min-width: 835px) {
  .brdnpc br {
    display: none; } }

@media screen and (min-width: 640px) {
  .brsp br {
    display: none; } }

@media screen and (min-width: 835px) {
  .brtab br {
    display: none; } }

@media only screen and (max-width: 640px) {
  .CLS table tr {
    display: flex;
    flex-direction: column-reverse; } }

.ai-company dt {
  align-items: center !important;
  background: rgba(34, 0, 8, 0.3) !important;
  color: #fff; }
@media only screen and (max-width: 640px) {
  .ai-company dl {
    display: block !important; }
    .ai-company dl dt {
      width: 100% !important;
      border-right: 1px solid #ccc !important; }
    .ai-company dl dd {
      width: 100% !important; } }

.ai-company2 {
  background: none !important; }
  .ai-company2 dl dt {
    align-items: center !important;
    background: none !important;
    border-bottom: 2px solid #fc7e9a !important; }
  .ai-company2 dl dd {
    background: none !important;
    border-bottom: 2px solid #ccc !important; }
  .ai-company2 dl:last-of-type dt {
    border-bottom: 2px solid #fc7e9a !important; }
  @media only screen and (max-width: 640px) {
    .ai-company2 dl {
      display: block !important; }
      .ai-company2 dl dt {
        width: 100% !important;
        border-right: 2px solid #fc7e9a !important;
        border-left: 2px solid #fc7e9a !important;
        background: rgba(252, 126, 154, 0.2) !important; }
      .ai-company2 dl dd {
        width: 100% !important;
        border-bottom: 2px solid #ccc !important;
        border-left: 2px solid #ccc !important;
        border-right: 2px solid #ccc !important; } }

.ai-company3 {
  max-width: 500px; }
  .ai-company3 dt {
    align-items: center !important;
    background: #ac138d !important;
    color: #fff; }
  .ai-company3 dd {
    text-align: center; }
  @media only screen and (max-width: 640px) {
    .ai-company3 dl {
      display: block !important; }
      .ai-company3 dl dt {
        width: 100% !important;
        border-right: 1px solid #ccc !important; }
      .ai-company3 dl dd {
        width: 100% !important; } }

.ai-company4 dt {
  align-items: center !important;
  background: #ac138d !important;
  color: #fff; }
@media only screen and (max-width: 640px) {
  .ai-company4 dl {
    display: block !important; }
    .ai-company4 dl dt {
      width: 100% !important;
      border-right: 1px solid #ccc !important; }
    .ai-company4 dl dd {
      width: 100% !important; } }

.form_wrap dl dd > div {
  display: block !important; }

@media only screen and (max-width: 835px) {
  .fancybox-toolbar {
    top: 50px !important; } }

.pankuzu {
  text-align: right;
  margin-top: 20px; }
  @media only screen and (max-width: 835px) {
    .pankuzu {
      display: none; } }

.imgL {
  max-width: 100% !important; }

.error2 h2 {
  font-size: 40px;
  font-weight: bold; }
.error2 a {
  border: 1px solid #ccc;
  padding: 3px 20px;
  display: inline-block; }

.pick01, .pick02 {
  background: #fff3f0;
  box-shadow: 0px 3px 7px 0px rgba(0, 0, 0, 0.2);
  padding: 30px;
  position: relative; }
  @media only screen and (max-width: 835px) {
    .pick01, .pick02 {
      padding: 30px 10px; } }
  .pick01 h2, .pick02 h2 {
    font-size: 1.5rem;
    text-align: center;
    color: #fc7e9a;
    font-family: "a-otf-ryumin-pr6n", "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-weight: 600;
    position: relative;
    margin-bottom: 45px;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center; }
    @media (max-width: 1200px) {
      .pick01 h2, .pick02 h2 {
        font-size: calc(1.275rem + 0.3vw) ; } }
    .pick01 h2:after, .pick02 h2:after {
      display: block;
      position: absolute;
      content: '';
      background: url(../images/common/deco1.png) no-repeat center;
      background-size: contain;
      width: 300px;
      height: 20px;
      bottom: -30px;
      right: 0;
      left: 0;
      margin: 0 auto; }
  @media only screen and (max-width: 835px) {
    .pick01 h2, .pick02 h2 {
      margin-bottom: 35px;
      font-size: 1.25rem; }
      .pick01 h2:after, .pick02 h2:after {
        width: 80%;
        max-width: 300px;
        height: 30px;
        bottom: -30px; } }
  .pick01:before, .pick02:before {
    position: absolute;
    content: '';
    background: rgba(172, 19, 141, 0.2);
    opacity: 1;
    width: 100%;
    height: 5px;
    right: 0;
    left: 0;
    top: 0; }

.pick02 {
  display: flex;
  flex-direction: column-reverse; }

.pick03 {
  padding: 2%;
  background: rgba(172, 19, 141, 0.1); }
  .pick03 h3 {
    font-size: 1.125rem; }
  @media only screen and (max-width: 835px) {
    .pick03 {
      padding: 5%; } }

.gallery-3 {
  display: flex;
  flex-wrap: wrap; }
  .gallery-3 .box {
    width: 31.333%;
    margin: 1%; }
    @media only screen and (max-width: 835px) {
      .gallery-3 .box {
        width: 48%;
        margin-bottom: 15px; } }
    @media screen and (max-width: 350px) {
      .gallery-3 .box {
        width: 100%; } }

.contact_contents #contents_wrap {
  margin-top: 100px; }
  @media only screen and (max-width: 835px) {
    .contact_contents #contents_wrap {
      margin-top: 50px; } }

.img100 img {
  display: block !important;
  width: 100% !important; }

.gallery-FLX {
  display: flex;
  flex-wrap: flex-wrap; }
  .gallery-FLX .box {
    width: 31.333%;
    margin: 1%; }
    .gallery-FLX .box img {
      display: block; }
    .gallery-FLX .box h3 {
      display: none; }
    .gallery-FLX .box div a {
      background: #ac138d;
      color: #fff;
      padding: 5px;
      display: block;
      width: 200px;
      margin: 0 auto;
      text-align: center; }
    .gallery-FLX .box article {
      height: 100% !important;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: space-between; }
  @media only screen and (max-width: 640px) {
    .gallery-FLX {
      flex-direction: column;
      align-items: center;
      justify-content: center; }
      .gallery-FLX .box {
        width: 90%;
        margin-bottom: 15px; } }

.mail {
  display: none; }

.page-title-wrap {
  position: relative;
  padding: 7% 0  !important; }
  @media screen and (min-width: 1001px) and (max-width: 1200px) {
    .page-title-wrap {
      padding: 7% 0  !important; } }
  @media screen and (min-width: 835px) and (max-width: 1000px) {
    .page-title-wrap {
      padding: 7% 0  !important; } }
  @media only screen and (max-width: 835px) {
    .page-title-wrap {
      margin-top: 70px;
      padding: 15% 0 !important; } }

.page-title-inner {
  width: 100vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  margin-left: calc(((100vw - 100%) / 2) * -1);
  margin-right: calc(((100vw - 100%) / 2) * -1);
  background: url(../images/common/main_img1.png) no-repeat center top;
  background-size: cover;
  opacity: 0.3;
  z-index: -1; }

.page-title h1, .page-title2 h1 {
  font-weight: bold;
  font-size: 1.875rem;
  font-family: "Source Han Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  color: #220008;
  line-height: 1.5em;
  position: relative;
  display: block;
  margin-bottom: 30px; }
  @media (max-width: 1200px) {
    .page-title h1, .page-title2 h1 {
      font-size: calc(1.3125rem + 0.75vw) ; } }
  .page-title h1:after, .page-title2 h1:after {
    position: absolute;
    content: '';
    width: 70%;
    max-width: 300px;
    height: 3px;
    background: #fc7e9a;
    bottom: -20px;
    left: 0;
    right: 0;
    margin: 0 auto; }
  @media screen and (max-width: 1000px) {
    .page-title h1:after, .page-title2 h1:after {
      width: 30%; } }
  @media only screen and (max-width: 835px) {
    .page-title h1, .page-title2 h1 {
      margin-bottom: 10px; }
      .page-title h1:after, .page-title2 h1:after {
        bottom: -10px; } }

.page-title2 h1 {
  font-size: 2.5rem;
  letter-spacing: 0.1em;
  text-align: center; }
  @media (max-width: 1200px) {
    .page-title2 h1 {
      font-size: calc(1.375rem + 1.5vw) ; } }
  @media screen and (max-width: 400px) {
    .page-title2 h1 {
      font-size: 2.1875rem; } }
  @media screen and (max-width: 400px) and (max-width: 1200px) {
    .page-title2 h1 {
      font-size: calc(1.34375rem + 1.125vw) ; } }

  @media screen and (max-width: 350px) {
    .page-title2 h1 {
      font-size: 1.75rem; } }
  @media screen and (max-width: 350px) and (max-width: 1200px) {
    .page-title2 h1 {
      font-size: calc(1.3rem + 0.6vw) ; } }

.title h2, .title3 h2, .title h3, .title3 h3 {
  color: #220008;
  font-family: "a-otf-ryumin-pr6n", "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 600;
  font-size: 1.5rem;
  padding: 0.3em 0.4em;
  /*文字の上下 左右の余白*/
  background: rgba(252, 126, 154, 0.1);
  /*背景色*/
  border-left: solid 5px #fc7e9a;
  /*左線*/
  border-bottom: solid 3px #cccccc;
  /*下線*/ }
  @media (max-width: 1200px) {
    .title h2, .title3 h2, .title h3, .title3 h3 {
      font-size: calc(1.275rem + 0.3vw) ; } }
  @media only screen and (max-width: 835px) {
    .title h2, .title3 h2, .title h3, .title3 h3 {
      font-size: 1.25rem;
      font-weight: 500; } }

.title2 h3, .title2 h4 {
  font-size: 1.25rem;
  font-weight: 600;
  color: #220008;
  padding-left: 7px;
  border-left: 4px solid #fa5630;
  border-bottom: 1px dashed #ccc; }
  @media only screen and (max-width: 835px) {
    .title2 h3, .title2 h4 {
      font-size: 1.125rem; } }

.title-center01 h2 {
  position: relative;
  color: #158b2b;
  font-size: 20px;
  padding: 10px 0;
  text-align: center;
  margin: 1.5em 0; }
  .title-center01 h2:before {
    content: "";
    position: absolute;
    top: -8px;
    left: 50%;
    width: 150px;
    height: 58px;
    border-radius: 50%;
    border: 5px solid #a6ddb0;
    border-left-color: transparent;
    border-right-color: transparent;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%); }

@media only screen and (max-width: 640px) {
  .title3 h2 {
    font-size: 18px; } }

.step-title h2 {
  font-size: 1.5rem;
  position: relative;
  border-top: solid 2px rgba(252, 126, 154, 0.3);
  border-bottom: solid 2px rgba(252, 126, 154, 0.3);
  background: rgba(252, 126, 154, 0.1);
  line-height: 1.4;
  padding: 0.2em; }
  @media (max-width: 1200px) {
    .step-title h2 {
      font-size: calc(1.275rem + 0.3vw) ; } }
  .step-title h2:after {
    /*タブ*/
    position: absolute;
    font-family: "Font Awesome 5 pro", lato, sans-serif;
    content: '\f0a6\ STEP';
    font-size: 0.9375rem;
    background: #fc7e9a;
    color: #fff;
    left: 0px;
    bottom: 100%;
    border-radius: 3px 3px 0 0;
    padding: 5px 10px 3px;
    line-height: 1;
    letter-spacing: 0.05em; }
.step-title h3 {
  font-size: 1.125rem;
  color: #fc7e9a;
  position: relative;
  border-top: solid 2px #ac138d;
  border-bottom: solid 2px #ac138d;
  line-height: 1.4;
  padding: 0.2em; }
  .step-title h3:after {
    /*タブ*/
    position: absolute;
    font-family: "Font Awesome 5 pro";
    font-style: oblique;
    content: '\f5ad\ point';
    background: #fc7e9a;
    color: #fff;
    left: 0px;
    bottom: 100%;
    border-radius: 3px 3px 0 0;
    padding: 5px 10px 3px;
    font-size: 0.9em;
    line-height: 1;
    letter-spacing: 0.05em; }

.step-title2 h3 {
  font-size: 1.125rem;
  font-weight: 600;
  color: #220008;
  border-bottom: 1px dotted rgba(51, 51, 51, 0.5); }
  .step-title2 h3 div {
    background: rgba(252, 126, 154, 0.7);
    color: #fff;
    display: inline-block;
    width: 10%;
    min-width: 90px;
    margin-right: 10px;
    text-align: center !important; }
  .step-title2 h3:not(:first-child) {
    margin-top: 20px; }
    @media only screen and (max-width: 640px) {
      .step-title2 h3:not(:first-child) {
        margin-top: 15px; } }

.staff-title h3 {
  font-size: 1.25rem;
  font-weight: bold;
  position: relative;
  border-top: solid 2px rgba(138, 116, 29, 0.3);
  border-bottom: solid 2px rgba(138, 116, 29, 0.3);
  background: rgba(252, 126, 154, 0.1);
  line-height: 1.4;
  padding: 0.2em; }
  .staff-title h3:after {
    /*タブ*/
    position: absolute;
    font-family: "Font Awesome 5 pro";
    content: '\f7f3\ STAFF';
    background: #8a741d;
    color: #fff;
    left: 0px;
    bottom: 100%;
    border-radius: 3px 3px 0 0;
    padding: 5px 10px 3px;
    font-size: 0.8em;
    line-height: 1;
    letter-spacing: 0.05em; }

.land-title h2 {
  font-size: 1.5rem;
  color: #220008;
  border-bottom: 2px dashed #ccc;
  position: relative;
  padding-left: 35px; }
  @media (max-width: 1200px) {
    .land-title h2 {
      font-size: calc(1.275rem + 0.3vw) ; } }
  .land-title h2:before {
    font-family: "Font Awesome 5 Pro";
    content: "\f69a";
    /*アイコンのユニコード*/
    font-weight: 600;
    position: absolute;
    /*絶対位置*/
    font-size: 1.875rem;
    /*サイズ*/
    left: 0;
    /*アイコンの位置*/
    top: 0;
    /*アイコンの位置*/
    color: #fa5630;
    /*アイコン色*/ }
    @media (max-width: 1200px) {
      .land-title h2:before {
        font-size: calc(1.3125rem + 0.75vw) ; } }
.land-title h3 {
  font-size: 1.125rem;
  color: #220008;
  border-bottom: 2px dashed #ccc;
  position: relative;
  padding-left: 35px; }
  .land-title h3:before {
    font-family: "Font Awesome 5 Pro";
    content: "\f69a";
    /*アイコンのユニコード*/
    font-weight: 600;
    position: absolute;
    /*絶対位置*/
    font-size: 1.875rem;
    /*サイズ*/
    left: 0;
    /*アイコンの位置*/
    top: 0;
    /*アイコンの位置*/
    color: #fa5630;
    /*アイコン色*/ }
    @media (max-width: 1200px) {
      .land-title h3:before {
        font-size: calc(1.3125rem + 0.75vw) ; } }

.rs-tel {
  font-size: 1.5rem;
  color: #220008 !important;
  font-family: "adobe-garamond-pro", serif; }
  @media (max-width: 1200px) {
    .rs-tel {
      font-size: calc(1.275rem + 0.3vw) ; } }
  .rs-tel a {
    color: #220008; }
  .rs-tel:before {
   /*
 font-family: "Font Awesome 5 Free";
 content: "\f0c4";
 font-weight: 600;
*/
    content: '';
    background: url(../images/common/header_tel_icon.png) no-repeat;
    background-size: contain;
    display: inline-block;
    width: 35px;
    height: 35px;
    vertical-align: middle;
    padding-right: 5px; }

.list01 dl, .list02 dl {
  border-bottom: 1px dashed #333; }
  .list01 dl dt, .list02 dl dt {
    border: none !important;
    background: none !important; }
  .list01 dl dd, .list02 dl dd {
    border: none !important;
    background: none !important;
    text-align: right !important;
    min-width: 107px;
    color: #8a4609;
    font-weight: bold; }

.list02 dl dd {
  min-width: 300px; }
@media only screen and (max-width: 640px) {
  .list02 dl {
    display: block !important; }
    .list02 dl dd, .list02 dl dt {
      width: 100% !important; } }

.list03 dl {
  border-bottom: 1px dashed #333; }
  .list03 dl dt {
    border: none !important;
    background: none !important;
    color: #8a4609;
    font-weight: bold;
    min-width: 280px; }
  .list03 dl dd {
    border: none !important;
    background: none !important;
    text-align: right !important; }
  @media only screen and (max-width: 640px) {
    .list03 dl {
      display: block !important; }
      .list03 dl dd, .list03 dl dt {
        width: 100% !important;
        text-align: left !important; } }

.faq table td {
  border: none; }

.faq-q span, .faq-a span {
  width: 40px;
  height: 40px;
  display: block;
  background: #fc7e9a;
  line-height: 40px;
  border-radius: 5px;
  color: #fff;
  font-size: 1.5rem; }
  @media (max-width: 1200px) {
    .faq-q span, .faq-a span {
      font-size: calc(1.275rem + 0.3vw) ; } }
@media only screen and (max-width: 640px) {
  .faq-q, .faq-a {
    background: #fc7e9a;
    padding: 0 !important; }
    .faq-q span, .faq-a span {
      display: inline-block; } }

.faq-a span {
  background: #ac138d; }
@media only screen and (max-width: 640px) {
  .faq-a {
    background: #ac138d; } }

.faq-q-txt {
  font-weight: bold;
  color: #220008; }
  @media screen and (min-width: 640px) {
    .faq-q-txt {
      border-bottom: 1px dashed #ccc !important; } }

.blog {
  max-width: 1200px;
  margin: 80px auto 0; }
  @media screen and (min-width: 641px) and (max-width: 835px) {
    .blog {
      margin: 50px auto 0; } }
  @media only screen and (max-width: 640px) {
    .blog {
      margin: 30px auto 0; } }
  .blog .wrap {
    display: flex; }
    .blog .wrap aside {
      width: 28%;
      margin: 1%; }
      .blog .wrap aside nav {
        line-height: 2.0em; }
        .blog .wrap aside nav h3 {
          background: #fa5630 !important; }
        .blog .wrap aside nav ul li {
          border-bottom: 1px dashed #ccc; }
          .blog .wrap aside nav ul li .blogside {
            color: #333; }
            .blog .wrap aside nav ul li .blogside span {
              color: #fc7e9a;
              margin-left: 5px;
              display: block; }
        .blog .wrap aside nav > a {
          background: #ac138d !important; }
    .blog .wrap #contents {
      width: 68%;
      margin: 1%;
      min-width: auto; }
      .blog .wrap #contents article .date {
        color: #fc7e9a !important; }
      .blog .wrap #contents article div img {
        width: 48%;
        margin: 1%; }
      .blog .wrap #contents article .date {
        color: #fc7e9a !important; }
      .blog .wrap #contents article h2 {
        background: #fc7e9a;
        color: #fff !important;
        font-family: "a-otf-ryumin-pr6n", "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif; }
    @media only screen and (max-width: 835px) {
      .blog .wrap {
        flex-direction: column; }
        .blog .wrap aside, .blog .wrap #contents {
          width: 100%;
          margin: 10px auto; }
        .blog .wrap aside {
          text-align: center !important; } }
    @media only screen and (max-width: 640px) {
      .blog .wrap #contents article div {
        flex-direction: column; }
        .blog .wrap #contents article div img {
          width: 100%; } }

.bg_100per_wrap {
  position: relative;
  padding: 50px 0 !important;
  margin-bottom: 60px !important; }

.bg_100per_inner {
  width: 1000%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  margin: 0% 0% 0% -500%;
  background: #f7ead4;
  z-index: -1; }

.bg_100per_wrap {
  position: relative;
  padding: 80px 0 !important;
  margin-bottom: 60px 0 !important; }

.bg_100per_inner {
  width: 100vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  margin-left: calc(((100vw - 100%) / 2) * -1);
  margin-right: calc(((100vw - 100%) / 2) * -1);
  background: url(../images/contents/cont-bg.jpg) repeat center top;
  background-size: cover;
  z-index: -1; }

.hoverBgContents {
  position: relative;
  overflow: hidden;
  z-index: 1; }
  .hoverBgContents > .hoverBg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    background-size: cover;
    background-repeat: no-repeat;
    z-index: -1;
    pointer-events: none;
    transition: transform 0.8s;
    background-position: center; }
  .hoverBgContents:hover > .hoverBg {
    transform: scale(1.2); }

@media only screen and (max-width: 835px) {
  #col_main .errorbg {
    padding: 0 !important; } }

.slide-bottom {
  opacity: 0;
  transform: translate(0, 50px);
  transition: all 1500ms; }

.slide-bottom.scrollin {
  opacity: 1;
  transform: translate(0, 0); }

.slide-top {
  opacity: 0;
  transform: translate(0, -50px);
  transition: all 1500ms; }

.slide-top.scrollin {
  opacity: 1;
  transform: translate(0, 0); }

.slide-top2 {
  opacity: 0.4;
  transform: translate(0, -50px);
  transition: all 1500ms; }

.slide-top2.scrollin {
  opacity: 1;
  transform: translate(0, 0); }

.slide-right {
  opacity: 0;
  transform: translate(100px, 0px);
  transition: all 2500ms; }

.slide-right.scrollin {
  opacity: 1;
  transform: translate(0, 0); }

.slide-left {
  opacity: 0;
  transform: translate(-100px, 0px);
  transition: all 2500ms; }

.slide-left.scrollin {
  opacity: 1;
  transform: translate(0, 0); }

.slide-left2 {
  opacity: 0;
  transform: translate(-100px, 0px);
  transition: all 1000ms; }

.slide-left2.scrollin {
  opacity: 1;
  transform: translate(0, 0); }

.works-FLX {
  display: flex;
  flex-wrap: wrap;
  align-items: top; }
  .works-FLX a:hover {
    opacity: 1 !important; }
  .works-FLX .boxL {
    width: 43%;
    margin: 1%; }
    .works-FLX .boxL ul li article div {
      display: none; }
  .works-FLX .boxR {
    width: 53%;
    margin: 1%; }
    .works-FLX .boxR ul {
      display: flex;
      flex-wrap: wrap;
      align-items: center; }
      .works-FLX .boxR ul li {
        width: 24%;
        margin: 0 0.5% 1% 0.5%; }
        .works-FLX .boxR ul li article {
          position: relative; }
          .works-FLX .boxR ul li article:before {
            content: '';
            display: block;
            padding-top: 100%; }
          .works-FLX .boxR ul li article img {
            position: absolute;
            top: 0;
            right: 0;
            height: 100% !important;
            width: 100% !important;
            object-fit: cover;
            font-family: 'object-fit: cover;';
            display: block; }
          .works-FLX .boxR ul li article div {
            display: none; }
  @media only screen and (max-width: 835px) {
    .works-FLX {
      flex-direction: column;
      align-items: center; }
      .works-FLX .boxL {
        width: 90%; }
      .works-FLX .boxR {
        width: 95%; } }
  @media only screen and (max-width: 640px) {
    .works-FLX .boxR ul li {
      width: 48%; } }

.modaal-close {
  position: absolute !important;
  right: 6px !important;
  top: 6px !important;
  background: #e1e1e1 !important;
  width: 50px !important;
  height: 50px !important; }
  .modaal-close:hover {
    opacity: 0.7 !important; }
  .modaal-close:before, .modaal-close:after {
    background: #000 !important; }

.modaal-content-container table td {
  padding: 10px; }

.modaal-container {
  background: none !important;
  color: #fff !important; }

@media only screen and (max-width: 640px) {
  .modaal-wrapper table td {
    display: block !important;
    border: none !important; } }

.modaalBox {
  display: none; }

/* title */
.midashi h2 {
  color: #fff;
  line-height: 2em;
  font-size: 40px;
  font-weight: bold; }
  @media only screen and (max-width: 640px) {
    .midashi h2 {
      font-size: 20px; } }

.tdpd10 td {
  padding: 10px !important; }

/*# sourceMappingURL=common_style.css.map */
