@charset "UTF-8";
/* ================================================================= 
 License : e-TRUST Inc.
 File name : common_style.css
 Style : common_style
================================================================= */
@import url(https://use.typekit.net/wgd6zip.css);
/*Balboa*/
@import url(https://use.typekit.net/vig5vke.css);
/*open sans*/
@import url(https://use.typekit.net/aac4zlo.css);
/*garamond-premier-pro*/
@import url(https://use.typekit.net/wml6ata.css);
/*acuminpro*/
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+JP:100,300,400,500,700,800,|Noto+Serif+JP:300,400,500,600,700,800&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@300;400;700&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Rancho&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap);
/*
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.
*/
.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 {
  -webkit-transform: rotate(30deg);
          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 {
  -webkit-transform: rotate(-30deg);
          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;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  -webkit-transform-origin: 0 0;
          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%;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  -webkit-transform: translate(312px);
          transform: translate(312px);
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1000;
  background-color: #FFF;
}

.zdo_drawer_menu .zdo_drawer_nav_wrapper.open {
  -webkit-transform: translate(0);
          transform: translate(0);
}

.zdo_drawer_menu.left .zdo_drawer_button {
  right: auto;
  left: 32px;
}

.zdo_drawer_menu.left .zdo_drawer_nav_wrapper {
  -webkit-transform: translate(-312px);
          transform: translate(-312px);
  right: auto;
  left: 0;
}

.zdo_drawer_menu.left .zdo_drawer_nav_wrapper.open {
  -webkit-transform: translate(0);
          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;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  counter-reset: number 0;
  line-height: 2em;
  font-weight: 300;
  letter-spacing: 1.0px;
  color: #333;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  word-wrap: break-word;
  overflow: hidden;
  -webkit-animation: fadeIn 3s ease 0s 1 normal;
          animation: fadeIn 3s ease 0s 1 normal;
  font-size: 0.9375rem;
}

@media only screen and (max-width: 640px) {
  body {
    font-size: 0.9375rem;
    line-height: 1.8em;
    letter-spacing: normal;
  }
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.inner6 {
  width: 95%;
  max-width: 600px;
  margin: 0 auto;
}

.inner8 {
  width: 95%;
  max-width: 800px;
  margin: 0 auto;
}

.inner8_ {
  width: 95%;
  max-width: 800px;
  margin: 0 auto;
}

.inner9 {
  width: 95%;
  max-width: 900px;
  margin: 0 auto;
}

.inner {
  width: 95%;
  max-width: 1000px;
  margin: 0 auto;
}

.inner_ {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}

.inner11 {
  width: 95%;
  max-width: 1100px;
  margin: 0 auto;
}

.inner_11 {
  width: 100% !important;
  max-width: 1100px;
  margin: 0 auto;
}

.inner12 {
  width: 95%;
  max-width: 1200px;
  margin: 0 auto;
}

.inner_12 {
  width: 100% !important;
  max-width: 1200px;
  margin: 0 auto;
}

.inner14 {
  width: 95%;
  max-width: 1400px;
  margin: 0 auto;
}

.inner_14 {
  width: 100% !important;
  max-width: 1400px;
  margin: 0 auto;
}

.inner15 {
  width: 95%;
  max-width: 1500px;
  margin: 0 auto;
}

.inner_15 {
  width: 100% !important;
  max-width: 1500px;
  margin: 0 auto;
}

.inner16 {
  width: 95%;
  max-width: 1600px;
  margin: 0 auto;
}

.inner_16 {
  width: 100% !important;
  max-width: 1600px;
  margin: 0 auto;
}

.inner17 {
  width: 95%;
  max-width: 1700px;
  margin: 0 auto;
}

.inner18 {
  width: 95%;
  max-width: 1850px;
  margin: 0 auto;
}

#contents_wrap {
  width: 100%;
  min-width: 100% !important;
}

#contents {
  background: none;
  font-size: 100%;
  width: 100%;
  max-width: 1200px !important;
}

@media only screen and (max-width: 1200px) {
  #contents {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  #contents {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media only screen and (max-width: 640px) {
  #contents {
    padding-left: 15px;
    padding-right: 15px;
  }
}

#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 {
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

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;
    max-width: 100% !important;
    text-align: center;
  }
}

.mincho {
  font-family: "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", "a-otf-ryumin-pr6n", serif;
}

.gothic {
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ 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 {
  min-width: auto;
}

footer#global_footer {
  min-width: auto;
}

header#global_header {
  position: relative;
  max-width: 100%;
  width: 100%;
  min-width: 100%;
}

#header {
  width: 100%;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media only screen and (max-width: 835px) {
  #header {
    padding: 0 20px;
    height: 60px;
  }
}

#nav-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.header_logo {
  width: 15%;
  max-width: 250px;
  min-width: 180px;
  margin: 0  20px;
}

.header_logo img {
  vertical-align: middle;
  display: block;
  width: 100%;
}

@media only screen and (max-width: 1024px) {
  .header_logo {
    min-width: 150px;
    margin: 0  10px;
  }
}

@media only screen and (max-width: 835px) {
  .header_logo {
    margin-left: 0;
    width: 250px;
  }
}

@media only screen and (max-width: 835px) {
  .local_tel {
    display: block !important;
  }
}

.mean-bar {
  display: none;
}

.mean-container .mean-push {
  display: none !important;
}

.header_R {
  width: 85%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 0 0 auto;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

#nav_global {
  width: 100%;
  max-width: 1200px;
}

#nav_global > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#nav_global > ul > li {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  position: relative;
}

#nav_global > ul > li a {
  color: #1b1b1b;
  text-align: center;
  padding: 20px 10px;
  display: block;
  text-align: center;
  position: relative;
  text-decoration: none;
  font-size: 1rem;
  font-weight: 600;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  line-height: 1;
  letter-spacing: 0.1rem;
}

@media only screen and (max-width: 835px) {
  #nav_global > ul > li a {
    letter-spacing: 1.0px;
  }
}

#nav_global > ul > li a:hover .jp {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}

@media only screen and (max-width: 1500px) {
  #nav_global > ul > li a {
    font-size: 0.9375rem;
    padding: 20px 5px;
  }
}

@media only screen and (max-width: 1024px) {
  #nav_global > ul > li a {
    font-size: 0.875rem;
    padding: 25px 5px;
  }
}

#nav_global > ul > li ul {
  position: absolute;
  margin: auto;
  display: block;
  width: 100%;
  z-index: 10;
}

#nav_global > ul > li ul li {
  background: #e6fafe;
  background-size: cover;
}

#nav_global > ul > li ul li:before {
  content: none !important;
}

#nav_global > ul > li ul li a {
  display: block;
}

#nav_global > ul > li ul li:last-child:after {
  content: none;
}

@media only screen and (max-width: 835px) {
  #nav_global > ul {
    display: none;
  }
}

@media only screen and (max-width: 835px) {
  #nav_global {
    margin: 0 auto;
    padding: 0;
  }
}

.nav_tel {
  margin: 0 20px;
  text-align: left !important;
}

.nav_tel a {
  color: #3db4cc !important;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  padding: 0 !important;
}

.nav_tel a i {
  font-size: 1.25rem;
}

.nav_tel a p {
  font-size: 1.375rem;
  font-family: "open-sans", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
}

@media (max-width: 1200px) {
  .nav_tel a p {
    font-size: calc(1.2625rem + 0.15vw) ;
  }
}

.nav_tel .time {
  font-size: 0.75rem;
}

@media only screen and (max-width: 1500px) {
  .nav_tel {
    display: none;
  }
}

.nav_cont {
  min-width: 120px;
}

.nav_cont a {
  background: #1b1b1b;
  color: #fff !important;
  padding: 10px 0 !important;
  line-height: 1;
}

.nav_cont a i {
  font-size: 1.875rem;
  margin-bottom: 15px;
}

@media (max-width: 1200px) {
  .nav_cont a i {
    font-size: calc(1.3125rem + 0.75vw) ;
  }
}

.nav_cont a p {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
}

@media only screen and (max-width: 1024px) {
  .nav_cont {
    display: none;
  }
}

.h_cont {
  width: 250px;
  min-width: 200px;
  margin-left: 30px;
  height: 100%;
}

.h_cont a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 15px 0;
  line-height: 1;
  font-size: 1.25rem;
}

.h_cont a i {
  margin-right: 10px;
}

.h_cont a p {
  color: #57c6dd;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

@media only screen and (max-width: 835px) {
  .h_cont {
    margin-right: 40px;
    margin-left: 10px;
  }
}

#nav-toggle p {
  color: #57c6dd !important;
}

.main {
  position: relative;
  z-index: 1;
}

@media only screen and (max-width: 835px) {
  .main {
    height: auto !important;
  }
}

.main-item img {
  height: 100% !important;
  width: 100% !important;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit:cover;";
}

@media only screen and (max-width: 640px) {
  .main-item img {
    height: 60vh !important;
  }
}

.main-title {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
          transform: translateY(-50%) translateX(-50%);
  left: 50%;
}

.main li {
  position: relative;
}

.main .main_txt {
  position: absolute;
  bottom: 5%;
  left: 5%;
  width: 100%;
}

.main .main_txt .ttl {
  font-size: 3.125rem;
  font-weight: 800;
  color: #fff;
  text-align: left;
  line-height: 1.5em;
}

@media (max-width: 1200px) {
  .main .main_txt .ttl {
    font-size: calc(1.4375rem + 2.25vw) ;
  }
}

@media only screen and (max-width: 1200px) {
  .main .main_txt .ttl {
    font-size: 2.625rem;
  }
}

@media only screen and (max-width: 1200px) and (max-width: 1200px) {
  .main .main_txt .ttl {
    font-size: calc(1.3875rem + 1.65vw) ;
  }
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .main .main_txt .ttl {
    font-size: 2.25rem;
  }
}

@media screen and (min-width: 641px) and (max-width: 835px) and (max-width: 1200px) {
  .main .main_txt .ttl {
    font-size: calc(1.35rem + 1.2vw) ;
  }
}

@media only screen and (max-width: 640px) {
  .main .main_txt .ttl {
    font-size: 1.5rem;
  }
}

@media only screen and (max-width: 640px) and (max-width: 1200px) {
  .main .main_txt .ttl {
    font-size: calc(1.275rem + 0.3vw) ;
  }
}

.main .main_txt .main_point {
  text-align: left;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.main .main_txt .main_point li {
  width: 160px;
  height: 160px;
  margin: 1%;
  background: #3db4cc;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #fff;
  position: relative;
}

.main .main_txt .main_point li i {
  font-size: 1.875rem;
  z-index: 1;
}

@media (max-width: 1200px) {
  .main .main_txt .main_point li i {
    font-size: calc(1.3125rem + 0.75vw) ;
  }
}

@media only screen and (max-width: 835px) {
  .main .main_txt .main_point li i {
    font-size: 1.5rem;
  }
}

@media only screen and (max-width: 835px) and (max-width: 1200px) {
  .main .main_txt .main_point li i {
    font-size: calc(1.275rem + 0.3vw) ;
  }
}

.main .main_txt .main_point li p {
  text-align: center;
  line-height: 1.5em;
  font-size: 1rem;
  z-index: 1;
}

@media only screen and (max-width: 835px) {
  .main .main_txt .main_point li p {
    font-size: 0.75rem;
  }
}

.main .main_txt .main_point li::before {
  position: absolute;
  content: '';
  background: #3db4cc;
  border-radius: 50%;
  border: 1px dashed #fff;
  height: 150px;
  width: 150px;
  top: 5px;
  left: 5px;
  right: 5px;
  bottom: 5px;
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .main .main_txt .main_point li {
    width: 130px;
    height: 130px;
  }
  .main .main_txt .main_point li::before {
    height: 120px;
    width: 120px;
  }
}

@media only screen and (max-width: 640px) {
  .main .main_txt .main_point li {
    width: 100px;
    height: 100px;
  }
  .main .main_txt .main_point li::before {
    height: 90px;
    width: 90px;
  }
}

/*====== 9-1-1 縦線が動いてスクロールを促す =======*/
/*スクロールダウン全体の場所*/
.scrolldown {
  /*描画位置※位置は適宜調整してください*/
  position: absolute;
  z-index: 10;
  right: 30px;
  bottom: 40%;
  /*全体の高さ*/
  height: 80px;
}

@media only screen and (max-width: 835px) {
  .scrolldown {
    display: none;
  }
}

/*Scrollテキストの描写*/
.scrolldown span {
  /*描画位置*/
  position: absolute;
  left: -15px;
  top: -50px;
  /*テキストの形状*/
  color: #eee;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
          writing-mode: vertical-rl;
}

.scrolldown span a {
  color: #fff;
  opacity: 1 !important;
}

/* 線の描写 */
.scrolldown::after {
  content: "";
  /*描画位置*/
  position: absolute;
  top: 10px;
  left: 0px;
  right: 0;
  /*線の形状*/
  width: 1px;
  height: 30px;
  background: #eee;
  /*線の動き1.4秒かけて動く。永遠にループ*/
  -webkit-animation: pathmove 1.4s ease-in-out infinite;
          animation: pathmove 1.4s ease-in-out infinite;
  opacity: 0;
}

/*高さ・位置・透過が変化して線が上から下に動く*/
@-webkit-keyframes pathmove {
  0% {
    height: 0;
    top: 0;
    opacity: 0;
  }
  30% {
    height: 30px;
    opacity: 1;
  }
  100% {
    height: 0;
    top: 50px;
    opacity: 0;
  }
}
@keyframes pathmove {
  0% {
    height: 0;
    top: 0;
    opacity: 0;
  }
  30% {
    height: 30px;
    opacity: 1;
  }
  100% {
    height: 0;
    top: 50px;
    opacity: 0;
  }
}

.anchor {
  display: block;
  -webkit-transform: translateY(-100px);
          transform: translateY(-100px);
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .anchor {
    -webkit-transform: translateY(-50px);
            transform: translateY(-50px);
  }
}

@media only screen and (max-width: 640px) {
  .anchor {
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px);
  }
}

.anchor2 {
  display: block;
  -webkit-transform: translateY(-150px);
          transform: translateY(-150px);
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .anchor2 {
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
}

@media only screen and (max-width: 640px) {
  .anchor2 {
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
}

/*
飛ばしたいところの前に以下のような記述
<span id="map" class="anchor"></span>
*/
.clone--nav {
  width: 100% !important;
  max-width: 100% !important;
  position: fixed !important;
  background: rgba(230, 250, 254, 0.9);
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  -webkit-transition: .3s;
  transition: .3s;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  margin-left: 0 !important;
}

.clone--nav ul {
  max-width: 1200px;
  margin: 0 auto;
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: row !important;
          flex-direction: row !important;
}

.clone--nav ul li a {
  padding: 25px 5px !important;
  text-align: center !important;
}

.clone--nav ul .nav_tel, .clone--nav ul .nav_cont {
  display: none !important;
}

@media only screen and (max-width: 835px) {
  .clone--nav {
    display: none !important;
  }
}

.is-show {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.sp_shop {
  width: 90%;
  margin: 50px auto 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.sp_shop .list {
  width: 48%;
  margin: 1%;
}

.sp_shop .list a {
  width: 100%;
  border-bottom: none !important;
  background: #555;
  padding: 5px !important;
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 14px !important;
  color: #fff !important;
}

.sp_shop .list a p {
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 16px;
}

.sp_shop .list a i, .sp_shop .list a img {
  margin-bottom: 5px;
  font-size: 18px;
  font-weight: 400;
  width: 20px;
}

.sp_shop .list:nth-child(2) a {
  background: #57c6dd;
}

.sp_shop .list:nth-child(2) a p {
  font-family: "open-sans", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.toggleMenu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 49px;
  width: 49px;
  position: fixed;
  top: 5px;
  right: 5px;
  z-index: 100;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  background: #57c6dd;
}

@media only screen and (max-width: 640px) {
  .toggleMenu {
    width: 49px;
  }
}

.toggleMenu .bars {
  margin: 0 30px 0 15px;
  height: 22px;
  width: 35px;
  position: relative;
}

.toggleMenu a:hover {
  opacity: 1;
}

.toggleMenu .bars span {
  height: 2px;
  background-color: #fff;
  -webkit-transition: all .5s ease;
  transition: all .5s ease;
  position: absolute;
  left: -5px;
}

.toggleMenu .bars span:nth-of-type(1) {
  width: 30px;
  top: 0;
}

.toggleMenu .bars span:nth-of-type(2) {
  width: 30px;
  top: 10px;
}

.toggleMenu .bars span:nth-of-type(3) {
  width: 30px;
  top: 20px;
}

.toggleMenu.isActive .bars span {
  right: 0;
}

.toggleMenu.isActive .bars span:nth-of-type(1), .toggleMenu.isActive .bars span:nth-of-type(3) {
  width: 30px;
  top: 10px;
}

.toggleMenu.isActive .bars span:nth-of-type(1) {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.toggleMenu.isActive .bars span:nth-of-type(2) {
  opacity: 0;
}

.toggleMenu.isActive .bars span:nth-of-type(3) {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.overlayMenu {
  width: 60%;
  -webkit-transition: -webkit-transform .8s ease;
  transition: -webkit-transform .8s ease;
  transition: transform .8s ease;
  transition: transform .8s ease, -webkit-transform .8s ease;
  z-index: 10;
  position: fixed;
  top: 0;
  right: 100%;
  bottom: 0;
  min-width: 300px;
}

@media only screen and (max-width: 640px) {
  .overlayMenu {
    width: 80%;
    min-width: 300px;
  }
}

.overlayMenu.isOpened {
  -webkit-transform: translateX(100%);
  transform: translateX(100%);
}

.overlayMenu > .outer {
  height: 100%;
  overflow: scroll;
  -webkit-overflow-scrolling: touch;
  background: #e6fafe;
  background-size: auto;
  padding: 100px 10px !important;
}

.overlayMenu > .outer li {
  position: relative;
}

.overlayMenu > .outer li a {
  height: auto !important;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #1b1b1b;
  padding: 25px 15px;
  display: block;
  border-bottom: 1px solid rgba(204, 204, 204, 0.5);
  font-size: 20px;
  letter-spacing: 0.1rem;
}

.overlayMenu > .outer li a .jp {
  display: block;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 12px;
  color: #333;
}

@media only screen and (max-width: 835px) {
  .overlayMenu > .outer li a {
    letter-spacing: 1.0px;
  }
}

.overlayMenu > .outer .toggle {
  position: absolute;
  right: 0;
  top: 0;
  z-index: 100;
  display: block;
  padding: 29px 15px;
}

.overlayMenu > .outer .sp_btn {
  position: relative;
}

.overlayMenu > .outer .sp_btn:before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  display: block;
  margin: auto 0;
  width: 12px;
  height: 1px;
  background-color: #57c6dd;
  content: '';
}

.overlayMenu > .outer .sp_btn:after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  display: block;
  margin: auto 0;
  width: 12px;
  height: 1px;
  background-color: #57c6dd;
  content: '';
  -webkit-transition: -webkit-transform .3s;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}

.overlayMenu > .outer .on_click:after {
  -webkit-transform: rotate(0);
          transform: rotate(0);
}

.overlayMenu:before, .overlayMenu:after {
  content: "";
  height: 20px;
  background-size: cover;
  position: absolute;
  left: 10px;
  right: 10px;
}

.overlayMenu:before {
  top: 0;
}

.overlayMenu:after {
  bottom: 0;
}

@media (max-width: 835px) {
  .pcOnly {
    display: none !important;
  }
}

@media (min-width: 835px) {
  .smOnly {
    display: none !important;
  }
}

.dropdown li a {
  font-size: 16px !important;
  color: #3db4cc !important;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.dropdown li a img {
  width: 30px;
  margin-right: 10px;
}

footer#global_footer {
  position: relative;
  margin-top: 100px;
  min-width: auto !important;
}

@media only screen and (max-width: 1200px) {
  footer#global_footer {
    margin-top: 80px;
  }
}

@media only screen and (max-width: 1024px) {
  footer#global_footer {
    margin-top: 60px;
  }
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  footer#global_footer {
    margin-top: 50px;
  }
}

@media only screen and (max-width: 640px) {
  footer#global_footer {
    margin-top: 40px;
  }
}

.side_info_wrap {
  position: fixed;
  z-index: 10000000;
  right: 0;
  bottom: 20%;
}

@media only screen and (max-width: 1500px) {
  .side_info_wrap {
    left: 0;
    bottom: 0;
    top: auto;
    margin: 0 auto;
  }
}

.side_info .s_tel, .side_info .s_cont, .side_info .s_cont2 {
  width: 50px;
  height: 220px;
}

.side_info .s_tel a, .side_info .s_cont a, .side_info .s_cont2 a {
  border: 1px solid rgba(255, 255, 255, 0.5);
  background: #3db4cc;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100%;
  width: 100%;
  color: #fff;
  font-size: 1.25rem;
}

.side_info .s_tel a i, .side_info .s_cont a i, .side_info .s_cont2 a i {
  margin-bottom: 5px;
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  width: 30px;
  height: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.side_info .s_tel a img, .side_info .s_cont a img, .side_info .s_cont2 a img {
  width: 30px;
  height: 30px;
  margin-bottom: 10px;
}

.side_info .s_tel a p, .side_info .s_cont a p, .side_info .s_cont2 a p {
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
          writing-mode: vertical-rl;
  font-family: "open-sans", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 18px;
  width: 18px;
  line-height: 1;
  font-weight: 600;
}

.side_info .s_cont {
  height: 180px;
  margin-top: 10px;
  margin-bottom: 10px;
}

.side_info .s_cont a {
  background: #1b1b1b;
}

.side_info .s_cont a img {
  width: 30px;
  height: 30px;
}

.side_info .s_cont a p {
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.side_info .s_cont2 {
  height: 220px;
}

.side_info .s_cont2 a {
  background: #06C755;
}

.side_info .s_cont2 a p {
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1rem;
  display: block;
}

@media only screen and (max-width: 1500px) {
  .side_info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    max-width: 600px;
    width: 100%;
    margin: 0 0 0 auto;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .side_info .s_tel, .side_info .s_cont, .side_info .s_cont2 {
    width: 50%;
    height: 50px;
  }
  .side_info .s_tel a, .side_info .s_cont a, .side_info .s_cont2 a {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .side_info .s_tel a img, .side_info .s_cont a img, .side_info .s_cont2 a img, .side_info .s_tel a i, .side_info .s_cont a i, .side_info .s_cont2 a i {
    margin-bottom: 0;
    margin-right: 10px;
  }
  .side_info .s_tel a p, .side_info .s_cont a p, .side_info .s_cont2 a p {
    -ms-writing-mode: inherit;
    -webkit-writing-mode: inherit;
            writing-mode: inherit;
    width: auto;
  }
  .side_info .s_cont {
    margin: 0 10px;
  }
}

@media only screen and (max-width: 835px) {
  .side_info {
    max-width: 100%;
  }
  .side_info .s_cont {
    margin: 0;
    border-left: 1px solid #fff;
    border-right: 1px solid #fff;
  }
}

@media only screen and (max-width: 640px) {
  .s_tel, .side_info .s_cont, .side_info .s_cont2 {
    height: 50px;
  }
}

.tct_wrap {
  position: relative;
  padding: 150px 0    !important;
}

@media screen and (max-width: 1300px) {
  .tct_wrap {
    padding: 120px 0  !important;
  }
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .tct_wrap {
    padding: 80px 0  !important;
  }
}

@media only screen and (max-width: 640px) {
  .tct_wrap {
    padding: 60px 0  !important;
  }
}

.tct_wrap::before {
  position: absolute;
  content: 'CONTACT';
  left: 0;
  top: 0;
  color: #e6fafe;
  font-size: 9.375rem;
  line-height: 0.7;
  font-weight: 800;
  opacity: 0.3;
}

@media (max-width: 1200px) {
  .tct_wrap::before {
    font-size: calc(2.0625rem + 9.75vw) ;
  }
}

@media only screen and (max-width: 835px) {
  .tct_wrap::before {
    font-size: 6.25rem;
  }
}

@media only screen and (max-width: 835px) and (max-width: 1200px) {
  .tct_wrap::before {
    font-size: calc(1.75rem + 6vw) ;
  }
}

.tct_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/top/footer_bg.jpg) no-repeat center;
  background-size: cover;
  z-index: -1;
}

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

.tct_info li {
  width: 31.333%;
  margin: 1%;
}

.tct_info li.tct_tel {
  background: #3db4cc;
}

.tct_info li.tct_tel a {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 600;
}

@media (max-width: 1200px) {
  .tct_info li.tct_tel a {
    font-size: calc(1.275rem + 0.3vw) ;
  }
}

.tct_info li.tct_tel a i {
  margin-right: 10px;
}

.tct_info li.tct_tel a p {
  font-family: "open-sans", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 600;
}

.tct_info li.tct_tel span {
  color: #fff;
  font-size: 0.8125rem;
}

@media only screen and (max-width: 835px) {
  .tct_info li.tct_tel {
    padding: 10px 0;
  }
}

.tct_info li.tct_cont, .tct_info li.tct_cont2 {
  background: #1b1b1b;
}

.tct_info li.tct_cont a, .tct_info li.tct_cont2 a {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  font-size: 1.125rem;
}

.tct_info li.tct_cont a i, .tct_info li.tct_cont2 a i {
  margin-right: 10px;
}

.tct_info li.tct_cont a p, .tct_info li.tct_cont2 a p {
  font-family: "open-sans", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 600;
}

@media only screen and (max-width: 835px) {
  .tct_info li.tct_cont a, .tct_info li.tct_cont2 a {
    padding: 15px 0;
  }
}

.tct_info li.tct_cont2 {
  background: #555 !important;
}

@media only screen and (max-width: 835px) {
  .tct_info {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .tct_info li {
    width: 100%;
    max-width: 300px;
    margin: 0 auto 20px auto;
  }
  .tct_info li.tct_cont2 {
    margin: 0 auto !important;
  }
}

.footer_logo {
  width: 280px;
  margin: 60px auto 20px auto;
}

@media only screen and (max-width: 835px) {
  .footer_logo {
    margin: 40px auto 20px auto;
  }
}

.footer_address {
  font-size: 0.875rem;
}

.footer-nav {
  width: 100%;
  max-width: 800px;
  margin: 0 auto 60px auto;
}

.footer-nav > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  text-align: left;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.footer-nav > ul > li {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}

.footer-nav > ul > li > a {
  display: block;
  width: 100%;
  text-align: center;
  color: #333;
  padding: 20px 10px;
  font-weight: 700;
}

@media only screen and (max-width: 835px) {
  .footer-nav {
    display: none;
  }
}

#copy {
  font-size: 0.8125rem;
  background: #57c6dd;
  padding: 5px 0;
  color: #fff;
}

#copy a {
  color: #fff !important;
}

@media only screen and (max-width: 1500px) {
  #copy {
    padding: 15px 0 65px 0;
  }
}

@media only screen and (max-width: 640px) {
  #copy {
    text-align: center;
  }
}

@media only screen and (max-width: 835px) {
  #copy {
    margin-top: 20px;
  }
}

.mean-container .mean-push {
  display: none !important;
}

.local_sns .sns_text ul {
  display: none !important;
}

.local_sns .square-inner {
  position: relative;
  display: block;
}

.local_sns .square-inner:before {
  position: relative;
  z-index: 1;
  content: "";
  display: block;
  width: 100% !important;
}

.local_sns .square-inner img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: "object-fit:cover;";
  width: 100% !important;
  height: 100% !important;
}

.local_sns .sns_photo {
  padding: 0 5px;
}

.title_01 h2 {
  color: #fff;
  font-size: 2.5rem;
  font-weight: 500;
  line-height: 1;
}

@media (max-width: 1200px) {
  .title_01 h2 {
    font-size: calc(1.375rem + 1.5vw) ;
  }
}

.title_01 h2 .en {
  display: block;
  margin-top: 20px;
  font-size: 0.875rem;
  font-weight: 600;
}

@media only screen and (max-width: 835px) {
  .title_01 h2 {
    font-size: 1.875rem;
  }
}

@media only screen and (max-width: 835px) and (max-width: 1200px) {
  .title_01 h2 {
    font-size: calc(1.3125rem + 0.75vw) ;
  }
}

.title_02 h2 {
  color: #1b1b1b;
  font-size: 2.25rem;
  font-weight: 600;
  line-height: 1.5em;
}

@media (max-width: 1200px) {
  .title_02 h2 {
    font-size: calc(1.35rem + 1.2vw) ;
  }
}

@media only screen and (max-width: 835px) {
  .title_02 h2 {
    font-size: 1.875rem;
  }
}

@media only screen and (max-width: 835px) and (max-width: 1200px) {
  .title_02 h2 {
    font-size: calc(1.3125rem + 0.75vw) ;
  }
}

.title_02 article > div {
  margin-top: 20px;
  font-size: 1rem;
  color: #3db4cc;
  font-weight: 600;
}

@media only screen and (max-width: 835px) {
  .title_02 article > div {
    margin-top: 15px;
    font-size: 0.8125rem;
  }
}

.title_03 {
  padding-top: 50px;
  position: relative;
}

.title_03 h2 {
  color: #1b1b1b;
  font-size: 3.75rem;
  font-weight: 600;
  line-height: 1;
}

@media (max-width: 1200px) {
  .title_03 h2 {
    font-size: calc(1.5rem + 3vw) ;
  }
}

.title_03 h2 .sub {
  font-size: 2.25rem;
  margin-bottom: 15px;
  display: block;
}

@media (max-width: 1200px) {
  .title_03 h2 .sub {
    font-size: calc(1.35rem + 1.2vw) ;
  }
}

@media only screen and (max-width: 835px) {
  .title_03 h2 .sub {
    font-size: 1.125rem;
    margin-bottom: 10px;
  }
}

@media only screen and (max-width: 835px) {
  .title_03 h2 {
    font-size: 1.875rem;
  }
}

@media only screen and (max-width: 835px) and (max-width: 1200px) {
  .title_03 h2 {
    font-size: calc(1.3125rem + 0.75vw) ;
  }
}

.title_03 article > div {
  margin-top: 20px;
  font-size: 1rem;
  font-weight: 600;
  color: #3db4cc;
}

@media only screen and (max-width: 835px) {
  .title_03 article > div {
    margin-top: 15px;
    font-size: 0.8125rem;
  }
}

.title_03::before {
  position: absolute;
  content: 'INSTAGRAM';
  left: 0;
  top: 0;
  color: #e6fafe;
  font-size: 9.375rem;
  line-height: 0.7;
  font-weight: 800;
  opacity: 1;
  z-index: -1;
}

@media (max-width: 1200px) {
  .title_03::before {
    font-size: calc(2.0625rem + 9.75vw) ;
  }
}

@media only screen and (max-width: 835px) {
  .title_03::before {
    font-size: 6.25rem;
  }
}

@media only screen and (max-width: 835px) and (max-width: 1200px) {
  .title_03::before {
    font-size: calc(1.75rem + 6vw) ;
  }
}

@media only screen and (max-width: 835px) {
  .title_03 {
    padding-top: 30px;
  }
}

.title_04 {
  padding-top: 10px;
  position: relative;
}

.title_04 h2 {
  color: #1b1b1b;
  font-size: 3.75rem;
  font-weight: 600;
  line-height: 1;
}

@media (max-width: 1200px) {
  .title_04 h2 {
    font-size: calc(1.5rem + 3vw) ;
  }
}

@media only screen and (max-width: 835px) {
  .title_04 h2 {
    font-size: 1.875rem;
  }
}

@media only screen and (max-width: 835px) and (max-width: 1200px) {
  .title_04 h2 {
    font-size: calc(1.3125rem + 0.75vw) ;
  }
}

.title_04 article > div {
  margin-top: 20px;
  font-size: 0.875rem;
  font-weight: 600;
  color: #3db4cc;
}

@media only screen and (max-width: 835px) {
  .title_04 article > div {
    margin-top: 15px;
    font-size: 0.8125rem;
  }
}

.title_04::before {
  width: 100%;
  position: absolute;
  content: 'WOKRS';
  left: 0;
  right: 0;
  top: 0;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #e6fafe;
  font-size: 9.375rem;
  line-height: 0.7;
  font-weight: 800;
  opacity: 1;
  z-index: -1;
}

@media (max-width: 1200px) {
  .title_04::before {
    font-size: calc(2.0625rem + 9.75vw) ;
  }
}

@media only screen and (max-width: 835px) {
  .title_04::before {
    font-size: 6.25rem;
  }
}

@media only screen and (max-width: 835px) and (max-width: 1200px) {
  .title_04::before {
    font-size: calc(1.75rem + 6vw) ;
  }
}

.title_05, .title_05b {
  position: relative;
}

.title_05 h2, .title_05b h2, .title_05 h3, .title_05b h3 {
  color: #1b1b1b;
  font-size: 2.5rem;
  font-weight: 600;
  line-height: 1;
}

@media (max-width: 1200px) {
  .title_05 h2, .title_05b h2, .title_05 h3, .title_05b h3 {
    font-size: calc(1.375rem + 1.5vw) ;
  }
}

@media only screen and (max-width: 835px) {
  .title_05 h2, .title_05b h2, .title_05 h3, .title_05b h3 {
    font-size: 1.5rem;
  }
}

@media only screen and (max-width: 835px) and (max-width: 1200px) {
  .title_05 h2, .title_05b h2, .title_05 h3, .title_05b h3 {
    font-size: calc(1.275rem + 0.3vw) ;
  }
}

.title_05::before, .title_05b::before {
  position: absolute;
  content: 'Purchase';
  right: -100px;
  top: -100px;
  color: #e6fafe;
  font-size: 6.25rem;
  line-height: 0.7;
  font-weight: 800;
  z-index: -1;
}

@media (max-width: 1200px) {
  .title_05::before, .title_05b::before {
    font-size: calc(1.75rem + 6vw) ;
  }
}

@media only screen and (max-width: 1500px) {
  .title_05::before, .title_05b::before {
    right: -50px;
    top: -50px;
  }
}

@media only screen and (max-width: 1200px) {
  .title_05::before, .title_05b::before {
    right: 0;
    top: -30px;
    font-size: 4.375rem;
  }
}

@media only screen and (max-width: 1200px) and (max-width: 1200px) {
  .title_05::before, .title_05b::before {
    font-size: calc(1.5625rem + 3.75vw) ;
  }
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .title_05::before, .title_05b::before {
    font-size: 3.75rem;
  }
}

@media screen and (min-width: 641px) and (max-width: 835px) and (max-width: 1200px) {
  .title_05::before, .title_05b::before {
    font-size: calc(1.5rem + 3vw) ;
  }
}

@media only screen and (max-width: 640px) {
  .title_05::before, .title_05b::before {
    font-size: 5rem;
    z-index: 1;
  }
}

@media only screen and (max-width: 640px) and (max-width: 1200px) {
  .title_05::before, .title_05b::before {
    font-size: calc(1.625rem + 4.5vw) ;
  }
}

.title_05b::before {
  content: 'Rental';
}

.title_06 {
  position: relative;
}

.title_06 h2, .title_06 h3 {
  color: #1b1b1b;
  font-size: 2.5rem;
  font-weight: 600;
  line-height: 1;
}

@media (max-width: 1200px) {
  .title_06 h2, .title_06 h3 {
    font-size: calc(1.375rem + 1.5vw) ;
  }
}

@media only screen and (max-width: 835px) {
  .title_06 h2, .title_06 h3 {
    font-size: 1.5rem;
  }
}

@media only screen and (max-width: 835px) and (max-width: 1200px) {
  .title_06 h2, .title_06 h3 {
    font-size: calc(1.275rem + 0.3vw) ;
  }
}

.title_06::before {
  position: absolute;
  content: 'Wrecker';
  right: -50px;
  top: -100px;
  color: #e6fafe;
  font-size: 6.25rem;
  line-height: 0.7;
  font-weight: 800;
  z-index: -1;
}

@media (max-width: 1200px) {
  .title_06::before {
    font-size: calc(1.75rem + 6vw) ;
  }
}

@media only screen and (max-width: 1500px) {
  .title_06::before {
    right: -50px;
    top: -50px;
  }
}

@media only screen and (max-width: 1200px) {
  .title_06::before {
    right: -30px;
    top: -30px;
    font-size: 4.375rem;
  }
}

@media only screen and (max-width: 1200px) and (max-width: 1200px) {
  .title_06::before {
    font-size: calc(1.5625rem + 3.75vw) ;
  }
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .title_06::before {
    font-size: 3.75rem;
  }
}

@media screen and (min-width: 641px) and (max-width: 835px) and (max-width: 1200px) {
  .title_06::before {
    font-size: calc(1.5rem + 3vw) ;
  }
}

@media only screen and (max-width: 640px) {
  .title_06::before {
    right: 0;
    font-size: 5rem;
    z-index: 1;
  }
}

@media only screen and (max-width: 640px) and (max-width: 1200px) {
  .title_06::before {
    font-size: calc(1.625rem + 4.5vw) ;
  }
}

.title_07 {
  padding-top: 80px;
  position: relative;
}

.title_07 h2 {
  color: #1b1b1b;
  font-size: 3.75rem;
  font-weight: 600;
  line-height: 1;
}

@media (max-width: 1200px) {
  .title_07 h2 {
    font-size: calc(1.5rem + 3vw) ;
  }
}

@media only screen and (max-width: 835px) {
  .title_07 h2 {
    font-size: 1.875rem;
  }
}

@media only screen and (max-width: 835px) and (max-width: 1200px) {
  .title_07 h2 {
    font-size: calc(1.3125rem + 0.75vw) ;
  }
}

.title_07 article > div {
  margin-top: 20px;
  font-size: 0.875rem;
  font-weight: 600;
  color: #3db4cc;
}

@media only screen and (max-width: 835px) {
  .title_07 article > div {
    margin-top: 15px;
    font-size: 0.8125rem;
  }
}

.title_07::before {
  position: absolute;
  content: 'REASON';
  right: 0;
  top: 0;
  color: #e6fafe;
  font-size: 9.375rem;
  line-height: 0.7;
  font-weight: 800;
  opacity: 1;
  z-index: -1;
}

@media (max-width: 1200px) {
  .title_07::before {
    font-size: calc(2.0625rem + 9.75vw) ;
  }
}

@media only screen and (max-width: 835px) {
  .title_07::before {
    font-size: 6.25rem;
  }
}

@media only screen and (max-width: 835px) and (max-width: 1200px) {
  .title_07::before {
    font-size: calc(1.75rem + 6vw) ;
  }
}

@media only screen and (max-width: 1200px) {
  .title_07 {
    padding-top: 50px;
  }
}

@media only screen and (max-width: 835px) {
  .title_07 {
    padding-top: 30px;
  }
}

.title_08 h2 {
  color: #fff;
  font-size: 3.75rem;
  font-weight: 600;
  line-height: 1;
}

@media (max-width: 1200px) {
  .title_08 h2 {
    font-size: calc(1.5rem + 3vw) ;
  }
}

@media only screen and (max-width: 835px) {
  .title_08 h2 {
    font-size: 1.875rem;
  }
}

@media only screen and (max-width: 835px) and (max-width: 1200px) {
  .title_08 h2 {
    font-size: calc(1.3125rem + 0.75vw) ;
  }
}

.title_08 article > div {
  margin-top: 20px;
  font-size: 0.875rem;
  font-weight: 600;
  color: #fff;
}

@media only screen and (max-width: 835px) {
  .title_08 article > div {
    margin-top: 15px;
    font-size: 0.8125rem;
  }
}

.bg_color_wrap1 {
  position: relative;
  padding: 150px 0    !important;
}

@media screen and (max-width: 1300px) {
  .bg_color_wrap1 {
    padding: 120px 0  !important;
  }
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .bg_color_wrap1 {
    padding: 80px 0  !important;
  }
}

@media only screen and (max-width: 640px) {
  .bg_color_wrap1 {
    padding: 60px 0  !important;
  }
}

.bg_color_wrap1::before {
  position: absolute;
  content: 'AUTO LINK';
  right: 0;
  top: 0;
  color: #fff;
  font-size: 9.375rem;
  line-height: 0.7;
  font-weight: 800;
  opacity: 0.5;
}

@media (max-width: 1200px) {
  .bg_color_wrap1::before {
    font-size: calc(2.0625rem + 9.75vw) ;
  }
}

@media only screen and (max-width: 835px) {
  .bg_color_wrap1::before {
    font-size: 6.25rem;
  }
}

@media only screen and (max-width: 835px) and (max-width: 1200px) {
  .bg_color_wrap1::before {
    font-size: calc(1.75rem + 6vw) ;
  }
}

.bg_color_inr1 {
  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: #d4f7fe;
  z-index: -1;
}

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

.cont_01 .box {
  overflow: visible !important;
}

.cont_01 .box:nth-child(2) {
  padding-left: 20px;
}

@media only screen and (max-width: 640px) {
  .cont_01 .box:nth-child(2) {
    padding-left: 0;
  }
}

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

.cont_01b .box {
  overflow: visible !important;
}

.cont_01b .box:first-child {
  padding-right: 20px;
}

@media only screen and (max-width: 640px) {
  .cont_01b .box:first-child {
    padding-right: 0px;
  }
}

@media only screen and (max-width: 640px) {
  .cont_01b {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
            flex-direction: column-reverse !important;
  }
  .cont_01b .box:first-child {
    margin: 0 auto !important;
  }
  .cont_01b .box:nth-child(2) {
    margin: 0 auto 15px auto !important;
  }
}

.cont_02 .box {
  position: relative;
  overflow: visible !important;
}

.cont_02 .box .num {
  text-align: center;
  position: absolute;
  left: -15px;
  top: -50px;
  color: #3db4cc;
  font-size: 5rem;
  font-weight: 800;
}

@media (max-width: 1200px) {
  .cont_02 .box .num {
    font-size: calc(1.625rem + 4.5vw) ;
  }
}

.cont_02 .box .num span {
  display: block;
  font-size: 0.9375rem;
  margin-bottom: 10px;
}

@media only screen and (max-width: 1500px) {
  .cont_02 .box .num {
    left: -10px;
    top: -20px;
    font-size: 3.75rem;
  }
}

@media only screen and (max-width: 1500px) and (max-width: 1200px) {
  .cont_02 .box .num {
    font-size: calc(1.5rem + 3vw) ;
  }
}

@media only screen and (max-width: 1500px) {
  .cont_02 .box .num span {
    font-size: 0.8125rem;
    line-height: 1;
  }
}

@media only screen and (max-width: 640px) {
  .cont_02 .box .num {
    font-size: 5rem;
  }
}

@media only screen and (max-width: 640px) and (max-width: 1200px) {
  .cont_02 .box .num {
    font-size: calc(1.625rem + 4.5vw) ;
  }
}

@media only screen and (max-width: 640px) {
  .cont_02 .box .num span {
    font-size: 0.8125rem;
  }
}

.cont_02 .box > div {
  margin-top: 10px;
}

@media only screen and (max-width: 640px) {
  .cont_02 .box:not(:last-child) {
    margin-bottom: 30px !important;
  }
}

.news {
  height: 250px;
  overflow-y: auto;
  line-height: 1.2;
}

.news dl {
  border: none !important;
  border-bottom: 1px solid #57c6dd !important;
  padding: 15px 0;
  color: #fff;
  line-height: 1.5em;
}

.news dl dt {
  background: none !important;
  border: none !important;
  text-align: center !important;
  display: block !important;
  min-width: 140px;
  height: 30px;
  color: white;
  font-weight: 400;
  font-family: "open-sans", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1rem;
}

.news dl dd {
  border: none !important;
  width: 100% !important;
  background: none !important;
  padding: 5px 8px !important;
  color: #fff;
}

@media only screen and (max-width: 835px) {
  .news dl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .news dl dt, .news dl dd {
    width: 100% !important;
    text-align: left !important;
  }
}

.bg_color_wrap2 {
  position: relative;
  padding: 150px 0    !important;
}

@media screen and (max-width: 1300px) {
  .bg_color_wrap2 {
    padding: 120px 0  !important;
  }
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .bg_color_wrap2 {
    padding: 80px 0  !important;
  }
}

@media only screen and (max-width: 640px) {
  .bg_color_wrap2 {
    padding: 60px 0  !important;
  }
}

.bg_color_wrap2::before {
  position: absolute;
  content: 'NEWS';
  right: 0;
  top: 0;
  color: #fff;
  font-size: 9.375rem;
  line-height: 0.7;
  font-weight: 800;
  opacity: 0.5;
}

@media (max-width: 1200px) {
  .bg_color_wrap2::before {
    font-size: calc(2.0625rem + 9.75vw) ;
  }
}

@media only screen and (max-width: 835px) {
  .bg_color_wrap2::before {
    font-size: 6.25rem;
  }
}

@media only screen and (max-width: 835px) and (max-width: 1200px) {
  .bg_color_wrap2::before {
    font-size: calc(1.75rem + 6vw) ;
  }
}

.bg_color_inr2 {
  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: #3db4cc;
  z-index: -1;
}

.top_map iframe {
  vertical-align: bottom !important;
}

.mCSB_scrollTools .mCSB_draggerRail {
  background: #57c6dd !important;
}

.bg_ptn_wrap {
  position: relative;
  padding: 70px 0    !important;
}

@media screen and (max-width: 1300px) {
  .bg_ptn_wrap {
    padding: 60px 0  !important;
  }
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .bg_ptn_wrap {
    padding: 50px 0  !important;
  }
}

@media only screen and (max-width: 640px) {
  .bg_ptn_wrap {
    padding: 40px 0  !important;
  }
}

.bg_ptn_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/top/ptn02.png) repeat center;
  background-size: auto;
  z-index: -1;
}

@media only screen and (max-width: 1200px) {
  .bg_ptn_inr {
    background-size: 50%;
  }
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .bg_ptn_inr {
    background-size: 75%;
  }
}

@media only screen and (max-width: 640px) {
  .bg_ptn_inr {
    background-size: 100%;
  }
}

.bg_color_wrap {
  position: relative;
  padding: 80px 0    !important;
}

@media screen and (max-width: 1300px) {
  .bg_color_wrap {
    padding: 70px 0  !important;
  }
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .bg_color_wrap {
    padding: 60px 0  !important;
  }
}

@media only screen and (max-width: 640px) {
  .bg_color_wrap {
    padding: 40px 0  !important;
  }
}

.bg_color_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: #f9f7f3;
  z-index: -1;
}

.bg_img_wrap {
  position: relative;
  padding: 80px 0    !important;
}

@media screen and (max-width: 1300px) {
  .bg_img_wrap {
    padding: 70px 0  !important;
  }
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .bg_img_wrap {
    padding: 60px 0  !important;
  }
}

@media only screen and (max-width: 640px) {
  .bg_img_wrap {
    padding: 40px 0  !important;
  }
}

.bg_img_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/top/bg02.jpg) no-repeat center;
  background-size: cover;
  z-index: -1;
}

.page_title {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-color: rgba(255, 255, 255, 0.7);
  background-blend-mode: lighten;
}

.page_title article {
  padding: 120px 0;
  -webkit-backdrop-filter: blur(2px);
          backdrop-filter: blur(2px);
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.page_title article h1, .page_title article .blog_page_ttl {
  color: #1b1b1b;
  font-size: 2.5rem;
  font-weight: bold;
}

@media (max-width: 1200px) {
  .page_title article h1, .page_title article .blog_page_ttl {
    font-size: calc(1.375rem + 1.5vw) ;
  }
}

@media only screen and (max-width: 1024px) {
  .page_title article h1, .page_title article .blog_page_ttl {
    font-size: 1.875rem;
  }
}

@media only screen and (max-width: 1024px) and (max-width: 1200px) {
  .page_title article h1, .page_title article .blog_page_ttl {
    font-size: calc(1.3125rem + 0.75vw) ;
  }
}

.page_title article > div {
  display: block;
  font-size: 1.125rem;
  font-weight: bold;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #57c6dd;
  margin-top: 20px;
  position: relative;
}

@media only screen and (max-width: 1024px) {
  .page_title article > div {
    font-size: 0.875rem;
  }
}

@media only screen and (max-width: 1024px) {
  .page_title article {
    padding: 100px 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .page_title article {
    padding: 80px 0;
  }
}

@media only screen and (max-width: 640px) {
  .page_title article {
    padding: 60px 0;
  }
}

.contact_title {
  background: url(../images/contents/title_bg01.jpg) no-repeat center !important;
  background-size: cover !important;
}

.blog_title {
  background: url(../images/common/title_bg01.jpg) no-repeat center !important;
  background-size: cover !important;
}

.blog_title_wrap {
  position: relative;
  padding: 70px 0  !important;
}

@media screen and (max-width: 1300px) {
  .blog_title_wrap {
    padding: 50px 0  !important;
  }
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .blog_title_wrap {
    padding: 40px 0  !important;
  }
}

@media only screen and (max-width: 640px) {
  .blog_title_wrap {
    padding: 40px 0  !important;
  }
}

.blog_title_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/top/title_bg.jpg) no-repeat center bottom;
  background-size: cover;
  z-index: 0;
}

.title_a {
  margin: 40px auto 20px;
}

.title_a h2, .title_a h3, .title_a h4 {
  font-size: 1.5rem;
  color: #3db4cc;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  background: rgba(230, 250, 254, 0.5);
  border-left: 5px solid #57c6dd;
  border-bottom: 3px solid rgba(204, 204, 204, 0.7);
  padding: 8px 0 8px 10px;
}

@media (max-width: 1200px) {
  .title_a h2, .title_a h3, .title_a h4 {
    font-size: calc(1.275rem + 0.3vw) ;
  }
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .title_a {
    margin: 30px auto 15px;
  }
  .title_a h2, .title_a h3, .title_a h4 {
    font-size: 1.25rem;
  }
}

@media only screen and (max-width: 640px) {
  .title_a {
    margin: 30px auto 15px;
  }
  .title_a h2, .title_a h3, .title_a h4 {
    font-size: 1.125rem;
    font-weight: 500;
  }
}

.title_b {
  margin: 40px auto 15px;
}

.title_b h2, .title_b h3, .title_b h4 {
  position: relative;
  padding-left: 30px;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  color: #1b1b1b;
  border-bottom: dashed 1px #cccccc;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.title_b h2:after, .title_b h3:after, .title_b h4:after {
  font-family: "Font Awesome 5 Pro";
  content: "\f219";
  /*アイコンのユニコード*/
  font-weight: bold;
  color: #57c6dd;
  font-size: 1.5rem;
  position: absolute;
  /*絶対位置*/
  left: 0px;
  /*アイコンの位置*/
  top: 0;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 1200px) {
  .title_b h2:after, .title_b h3:after, .title_b h4:after {
    font-size: calc(1.275rem + 0.3vw) ;
  }
}

@media only screen and (max-width: 835px) {
  .title_b h2, .title_b h3, .title_b h4 {
    font-size: 1.3125rem;
    padding-left: 25px;
  }
}

@media only screen and (max-width: 835px) and (max-width: 1200px) {
  .title_b h2, .title_b h3, .title_b h4 {
    font-size: calc(1.25625rem + 0.075vw) ;
  }
}

@media only screen and (max-width: 835px) {
  .title_b {
    margin: 20px auto 10px;
  }
}

.title_c {
  margin: 40px auto 20px;
}

.title_c h2, .title_c h3, .title_c h4 {
  background: rgba(232, 219, 187, 0.5);
  padding: 8px 0 8px 40px;
  font-weight: 400;
  font-size: 1.5rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #1b1b1b;
  position: relative;
}

@media (max-width: 1200px) {
  .title_c h2, .title_c h3, .title_c h4 {
    font-size: calc(1.275rem + 0.3vw) ;
  }
}

.title_c h2:before, .title_c h3:before, .title_c h4:before {
  content: "□";
  position: absolute;
  left: 5px;
  top: 0;
  color: rgba(87, 198, 221, 0.8);
}

.title_c h2:after, .title_c h3:after, .title_c h4:after {
  content: "□";
  position: absolute;
  left: 13px;
  top: 14px;
  color: rgba(85, 85, 85, 0.8);
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .title_c {
    margin: 30px auto 15px;
  }
  .title_c h2, .title_c h3, .title_c h4 {
    font-size: 1.25rem;
  }
}

@media only screen and (max-width: 640px) {
  .title_c {
    margin: 30px auto 15px;
  }
  .title_c h2, .title_c h3, .title_c h4 {
    font-size: 1.125rem;
  }
}

.title_d {
  margin: 40px auto 20px auto;
}

.title_d h2, .title_d h3, .title_d h4 {
  font-size: 1.5rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #1b1b1b;
  font-weight: 500;
  letter-spacing: 0.075em;
  line-height: 1em;
  padding-bottom: 15px;
  position: relative;
}

@media (max-width: 1200px) {
  .title_d h2, .title_d h3, .title_d h4 {
    font-size: calc(1.275rem + 0.3vw) ;
  }
}

.title_d h2:after, .title_d h3:after, .title_d h4:after {
  position: absolute;
  content: '';
  display: block;
  background: #57c6dd;
  bottom: 0;
  width: 60px;
  height: 1px;
  left: 0;
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .title_d h2, .title_d h3, .title_d h4 {
    font-size: 1.125rem;
  }
}

@media only screen and (max-width: 640px) {
  .title_d h2, .title_d h3, .title_d h4 {
    font-size: 1.125rem;
  }
}

@media only screen and (max-width: 835px) {
  .title_d {
    margin: 30px auto 15px;
  }
}

.title_e {
  margin: 40px auto 20px;
}

.title_e h2, .title_e h3, .title_e h4 {
  font-size: 1.5rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #1b1b1b;
  font-weight: bold;
  padding-bottom: 8px;
  text-align: center;
  border-bottom: solid 2px #ccc;
  position: relative;
}

@media (max-width: 1200px) {
  .title_e h2, .title_e h3, .title_e h4 {
    font-size: calc(1.275rem + 0.3vw) ;
  }
}

.title_e h2:after, .title_e h3:after, .title_e h4:after {
  position: absolute;
  content: '';
  display: block;
  border-bottom: solid 2px rgba(87, 198, 221, 0.7);
  bottom: -2px;
  width: 20%;
  left: 0;
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .title_e h2, .title_e h3, .title_e h4 {
    font-size: 1.3125rem;
  }
}

@media screen and (min-width: 641px) and (max-width: 835px) and (max-width: 1200px) {
  .title_e h2, .title_e h3, .title_e h4 {
    font-size: calc(1.25625rem + 0.075vw) ;
  }
}

@media only screen and (max-width: 640px) {
  .title_e h2, .title_e h3, .title_e h4 {
    font-size: 1.3125rem;
  }
}

@media only screen and (max-width: 640px) and (max-width: 1200px) {
  .title_e h2, .title_e h3, .title_e h4 {
    font-size: calc(1.25625rem + 0.075vw) ;
  }
}

@media only screen and (max-width: 835px) {
  .title_e {
    margin: 30px auto 15px;
  }
}

.title_f {
  margin: 40px auto 20px;
  border-bottom: 2px dotted rgba(204, 204, 204, 0.7);
}

.title_f h2, .title_f h3, .title_f h4 {
  font-size: 1.5rem;
  font-weight: 500;
  color: #1b1b1b;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  background: rgba(204, 204, 204, 0.5);
  border-left: 3px solid #57c6dd;
  padding: 8px 0 8px 10px;
  margin-bottom: 5px;
  line-height: 1em;
}

@media (max-width: 1200px) {
  .title_f h2, .title_f h3, .title_f h4 {
    font-size: calc(1.275rem + 0.3vw) ;
  }
}

@media only screen and (max-width: 640px) {
  .title_f h2, .title_f h3, .title_f h4 {
    line-height: 1.3em;
  }
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .title_f {
    margin: 30px auto 15px;
  }
  .title_f h2, .title_f h3, .title_f h4 {
    font-size: 1.25rem;
  }
}

@media only screen and (max-width: 640px) {
  .title_f {
    margin: 30px auto 15px;
  }
  .title_f h2, .title_f h3, .title_f h4 {
    font-size: 1.125rem;
    font-weight: 600;
  }
}

.title_g {
  margin: 40px auto 20px;
}

.title_g h2, .title_g h3, .title_g h4 {
  background: rgba(204, 204, 204, 0.3);
  background-size: auto;
  padding: 7px 10px 7px 20px;
  font-size: 1.5rem;
  font-weight: 500;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #1b1b1b;
  position: relative;
}

@media (max-width: 1200px) {
  .title_g h2, .title_g h3, .title_g h4 {
    font-size: calc(1.275rem + 0.3vw) ;
  }
}

.title_g h2:before, .title_g h3:before, .title_g h4:before {
  content: "";
  position: absolute;
  background: #3db4cc;
  width: 4px;
  height: 80%;
  left: 7px;
  top: 10%;
}

.title_g h2 .sub, .title_g h3 .sub, .title_g h4 .sub {
  font-size: 1rem;
}

@media only screen and (max-width: 835px) {
  .title_g {
    margin: 30px auto 15px;
  }
}

.title_h {
  margin: 20px auto 15px auto;
}

.title_h h2, .title_h h3, .title_h h4 {
  font-size: 1.125rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #dcc895;
  font-weight: 500;
  letter-spacing: 0.075em;
  line-height: 1em;
  padding-bottom: 15px;
  position: relative;
}

.title_h h2:after, .title_h h3:after, .title_h h4:after {
  position: absolute;
  content: '';
  display: block;
  background: rgba(85, 85, 85, 0.5);
  bottom: 0;
  width: 60px;
  height: 2px;
  left: 0;
}

@media only screen and (max-width: 835px) {
  .title_h {
    margin: 20px auto 10px;
  }
  .title_h h2, .title_h h3, .title_h h4 {
    font-size: 1rem;
  }
}

@media only screen and (max-width: 835px) {
  .title_h {
    margin: 20px auto 10px;
  }
  .title_h h2, .title_h h3, .title_h h4 {
    font-size: 1rem;
  }
}

.title_i {
  margin: 30px auto 20px auto;
}

.title_i h2, .title_i h3, .title_i h4 {
  font-size: 1.3125rem;
  font-weight: 500;
  color: #1b1b1b;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  border-left: 3px solid #57c6dd;
  border-bottom: 1px dotted rgba(51, 51, 51, 0.3);
  padding: 5px 0 5px 10px;
}

@media (max-width: 1200px) {
  .title_i h2, .title_i h3, .title_i h4 {
    font-size: calc(1.25625rem + 0.075vw) ;
  }
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .title_i {
    margin: 30px auto 15px;
  }
}

@media only screen and (max-width: 640px) {
  .title_i {
    margin: 30px auto 15px;
  }
  .title_i h2, .title_i h3, .title_i h4 {
    font-size: 1rem;
    font-weight: 500;
  }
}

.title_j {
  margin: 40px auto 20px;
}

.title_j h2, .title_j h3, .title_j h4 {
  background: rgba(204, 204, 204, 0.5);
  padding: 15px 10px 15px 20px;
  font-size: 1.5rem;
  font-weight: 500;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #1b1b1b;
  position: relative;
}

@media (max-width: 1200px) {
  .title_j h2, .title_j h3, .title_j h4 {
    font-size: calc(1.275rem + 0.3vw) ;
  }
}

.title_j h2:before, .title_j h3:before, .title_j h4:before {
  content: "";
  position: absolute;
  background: #57c6dd;
  width: 4px;
  height: 60%;
  left: 7px;
  top: 20%;
}

.title_j h2 .sub, .title_j h3 .sub, .title_j h4 .sub {
  font-size: 1rem;
}

@media only screen and (max-width: 835px) {
  .title_j {
    margin: 30px auto 15px;
  }
}

.title_line {
  margin: 70px auto 30px auto;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid  #ccc;
  padding: 20px 0;
}

.title_line article {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  line-height: 2rem;
}

.title_line article > div .en {
  color: #57c6dd;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 10px;
}

.title_line article h2 {
  color: #1b1b1b;
  font-size: 1.5rem;
  font-weight: 600;
}

@media (max-width: 1200px) {
  .title_line article h2 {
    font-size: calc(1.275rem + 0.3vw) ;
  }
}

.title_line article h3 {
  color: #1b1b1b;
  font-size: 1.3125rem;
  font-weight: 600;
}

@media (max-width: 1200px) {
  .title_line article h3 {
    font-size: calc(1.25625rem + 0.075vw) ;
  }
}

@media only screen and (max-width: 835px) {
  .title_line {
    margin: 40px auto 20px auto;
  }
}

.title_icon {
  margin: 40px auto 20px;
}

.title_icon h2, .title_icon h3, .title_icon h4 {
  position: relative;
  padding-left: 40px;
  font-size: 1.25rem;
  font-weight: bold;
  color: #3db4cc;
  padding-bottom: 5px;
  border-bottom: dotted 2px rgba(204, 204, 204, 0.5);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.title_icon h2:after, .title_icon h3:after, .title_icon h4:after {
  position: absolute;
  content: "";
  display: block;
  width: 35px;
  height: 35px;
  background: url(../images/common/nikukyu.png) no-repeat left;
  background-size: contain;
  bottom: 5px;
  left: 0;
}

.title_icon h2 .name, .title_icon h3 .name, .title_icon h4 .name {
  font-size: 1.125rem;
  margin-left: 10px;
}

@media only screen and (max-width: 835px) {
  .title_icon h2, .title_icon h3, .title_icon h4 {
    font-size: 1.3125rem;
  }
}

@media only screen and (max-width: 835px) and (max-width: 1200px) {
  .title_icon h2, .title_icon h3, .title_icon h4 {
    font-size: calc(1.25625rem + 0.075vw) ;
  }
}

@media only screen and (max-width: 835px) {
  .title_icon h2:after, .title_icon h3:after, .title_icon h4:after {
    width: 35px;
    height: 30px;
  }
}

@media only screen and (max-width: 835px) {
  .title_icon {
    margin: 30px auto 15px;
  }
}

.title_center_01 h2, .title_center_01 h3, .title_center_01 h4 {
  font-size: 1.5rem;
  color: #1b1b1b;
  font-weight: 500;
  position: relative;
  padding-bottom: 10px;
  text-align: center;
  line-height: 1.5em;
  margin-bottom: 20px;
}

@media (max-width: 1200px) {
  .title_center_01 h2, .title_center_01 h3, .title_center_01 h4 {
    font-size: calc(1.275rem + 0.3vw) ;
  }
}

.title_center_01 h2:after, .title_center_01 h3:after, .title_center_01 h4:after {
  position: absolute;
  content: '';
  background: #cccccc;
  width: 60px;
  height: 2px;
  left: 0;
  right: 0;
  margin: 0 auto;
  bottom: 0;
}

.title_center_01 h2 br, .title_center_01 h3 br, .title_center_01 h4 br {
  display: block !important;
}

@media only screen and (max-width: 835px) {
  .title_center_01 h2, .title_center_01 h3, .title_center_01 h4 {
    font-size: 1.125rem;
    margin-bottom: 15px;
  }
}

.title_center_bg {
  margin: 0 auto 20px auto;
}

.title_center_bg h2, .title_center_bg h3, .title_center_bg h4 {
  background: rgba(87, 198, 221, 0.9);
  opacity: 0.9;
  padding: 8px 10px;
  font-size: 1.5rem;
  font-weight: 500;
  color: white;
  line-height: 1.5em;
  text-align: center;
}

@media (max-width: 1200px) {
  .title_center_bg h2, .title_center_bg h3, .title_center_bg h4 {
    font-size: calc(1.275rem + 0.3vw) ;
  }
}

.title_center_bg h2 span, .title_center_bg h3 span, .title_center_bg h4 span {
  width: 100%;
  max-width: 500px;
  margin: 5px auto 0 auto;
  color: #d4f7fe;
  display: block;
  background: #fff;
  font-size: 1rem;
  line-height: 1;
  padding: 5px;
}

@media only screen and (max-width: 835px) {
  .title_center_bg {
    margin: 0 auto 15px auto;
  }
  .title_center_bg h2, .title_center_bg h3, .title_center_bg h4 {
    font-size: 1.5rem;
  }
}

@media only screen and (max-width: 835px) and (max-width: 1200px) {
  .title_center_bg h2, .title_center_bg h3, .title_center_bg h4 {
    font-size: calc(1.275rem + 0.3vw) ;
  }
}

.title_center_bg_s {
  margin: 40px auto 20px auto;
}

.title_center_bg_s h2, .title_center_bg_s h3, .title_center_bg_s h4 {
  background: rgba(129, 202, 240, 0.9);
  padding: 8px 10px;
  font-weight: 500;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.25rem;
  color: #fff;
  line-height: 1.5em;
  text-align: center;
}

.title_center_bg_s h2 span, .title_center_bg_s h3 span, .title_center_bg_s h4 span {
  color: #d4f7fe;
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .title_center_bg_s {
    margin: 30px auto 15px auto;
  }
  .title_center_bg_s h2, .title_center_bg_s h3, .title_center_bg_s h4 {
    font-size: 1.125rem;
  }
}

@media only screen and (max-width: 640px) {
  .title_center_bg_s {
    margin: 30px auto 15px auto;
  }
  .title_center_bg_s h2, .title_center_bg_s h3, .title_center_bg_s h4 {
    font-size: 1rem;
  }
}

.title_center_bg_ans {
  margin: 40px auto 20px auto;
}

.title_center_bg_ans div {
  background: #555555;
  padding: 8px 10px;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.75rem;
  color: #fff;
  font-weight: 600;
  line-height: 1.5em;
  text-align: center;
}

@media (max-width: 1200px) {
  .title_center_bg_ans div {
    font-size: calc(1.3rem + 0.6vw) ;
  }
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .title_center_bg_ans {
    margin: 30px auto 15px auto;
  }
  .title_center_bg_ans div {
    font-size: 1.125rem;
  }
}

@media only screen and (max-width: 640px) {
  .title_center_bg_ans {
    margin: 30px auto 15px auto;
  }
  .title_center_bg_ans div {
    font-size: 1.125rem;
  }
}

.title_center_bg_ans2 {
  margin: 40px auto 20px auto;
}

.title_center_bg_ans2 div {
  background: rgba(232, 219, 187, 0.7);
  padding: 8px 10px;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #fff;
  text-align: center;
  font-size: 1rem;
}

.title_center_bg_ans2 div b {
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.5em;
}

@media (max-width: 1200px) {
  .title_center_bg_ans2 div b {
    font-size: calc(1.275rem + 0.3vw) ;
  }
}

@media only screen and (max-width: 835px) {
  .title_center_bg_ans2 {
    margin: 30px auto 15px auto;
  }
  .title_center_bg_ans2 div {
    font-size: 0.9375rem;
  }
  .title_center_bg_ans2 div b {
    font-size: 1.125rem;
  }
}

.title_half {
  margin: 40px auto 15px;
}

.title_half h2, .title_half h3, .title_half h4 {
  max-width: 550px;
  width: 100%;
  font-size: 1.3125rem;
  font-weight: 500;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  text-align: center !important;
  background: rgba(85, 85, 85, 0.8);
  padding: 8px 10px;
  color: #fff;
}

@media (max-width: 1200px) {
  .title_half h2, .title_half h3, .title_half h4 {
    font-size: calc(1.25625rem + 0.075vw) ;
  }
}

@media only screen and (max-width: 835px) {
  .title_half {
    margin: 30px auto 15px;
  }
  .title_half h2, .title_half h3, .title_half h4 {
    font-size: 1.125rem;
  }
}

@media only screen and (max-width: 640px) {
  .title_half {
    max-width: 100%;
  }
}

.title_center_dot {
  margin: 30px auto 20px auto;
}

.title_center_dot h2, .title_center_dot h3, .title_center_dot h4 {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.title_center_dot h2 div, .title_center_dot h3 div, .title_center_dot h4 div {
  min-width: 20px;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  position: relative;
  z-index: 1;
}

.title_center_dot h2 div:after, .title_center_dot h3 div:after, .title_center_dot h4 div:after {
  content: "";
  width: 100%;
  height: 1px;
  background: rgba(87, 198, 221, 0.6);
  opacity: 0.5;
  background-size: contain;
  position: absolute;
  top: 60%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: -1;
  display: block;
  visibility: initial;
}

.title_center_dot h2 span, .title_center_dot h3 span, .title_center_dot h4 span {
  position: relative;
  font-size: 1.3125rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #3db4cc;
  background: transpatent;
  padding: 0 20px;
}

@media (max-width: 1200px) {
  .title_center_dot h2 span, .title_center_dot h3 span, .title_center_dot h4 span {
    font-size: calc(1.25625rem + 0.075vw) ;
  }
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .title_center_dot h2 span, .title_center_dot h3 span, .title_center_dot h4 span {
    font-size: 1.25rem;
  }
}

@media only screen and (max-width: 640px) {
  .title_center_dot h2 span, .title_center_dot h3 span, .title_center_dot h4 span {
    padding: 0 10px;
    font-size: 1.125rem;
  }
}

@media only screen and (max-width: 835px) {
  .title_center_dot {
    margin: 20px auto 15px auto;
  }
}

.title_cute {
  margin: 40px auto 20px;
}

.title_cute h2, .title_cute h3, .title_cute h4 {
  background: rgba(87, 198, 221, 0.7);
  border: dashed 2px white;
  padding: 0.2em 0.5em;
  font-size: 1.3125rem;
  font-weight: 400;
  color: #fff;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  position: relative;
  -webkit-box-shadow: 0px 0px 0px 5px rgba(87, 198, 221, 0.7);
          box-shadow: 0px 0px 0px 5px rgba(87, 198, 221, 0.7);
}

@media (max-width: 1200px) {
  .title_cute h2, .title_cute h3, .title_cute h4 {
    font-size: calc(1.25625rem + 0.075vw) ;
  }
}

.title_cute h2:before, .title_cute h3:before, .title_cute h4:before {
  position: absolute;
  content: '';
  left: -7px;
  top: -7px;
  border-width: 0 0 15px 15px;
  border-style: solid;
  border-color: #fff #fff #555555;
  -webkit-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.15);
          box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.15);
}

.title_cute h2 .sub, .title_cute h3 .sub, .title_cute h4 .sub {
  font-size: 1rem;
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .title_cute {
    margin: 30px auto 15px;
  }
  .title_cute h2, .title_cute h3, .title_cute h4 {
    font-size: 1.25rem;
  }
  .title_cute h2 .sub, .title_cute h3 .sub, .title_cute h4 .sub {
    font-size: 0.875rem;
  }
}

@media only screen and (max-width: 640px) {
  .title_cute {
    margin: 30px auto 15px;
  }
  .title_cute h2, .title_cute h3, .title_cute h4 {
    font-size: 1.125rem;
  }
  .title_cute h2 .sub, .title_cute h3 .sub, .title_cute h4 .sub {
    font-size: 0.8125rem;
  }
}

.title_cute2 {
  margin: 50px auto 30px;
}

.title_cute2 h2, .title_cute2 h3, .title_cute2 h4 {
  font-size: 1.5rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  background: rgba(87, 198, 221, 0.6);
  background-size: cover;
  padding: 0.6em 1em 0.6em 1.8em;
  position: relative;
  border-radius: 10px;
  color: #fff;
}

@media (max-width: 1200px) {
  .title_cute2 h2, .title_cute2 h3, .title_cute2 h4 {
    font-size: calc(1.275rem + 0.3vw) ;
  }
}

.title_cute2 h2:before, .title_cute2 h3:before, .title_cute2 h4:before {
  content: "";
  background: #fff;
  width: 4px;
  height: 20px;
  border-radius: 5px;
  position: absolute;
  top: 50%;
  left: 20px;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
}

.title_cute2 h2:after, .title_cute2 h3:after, .title_cute2 h4:after {
  content: "";
  border: 1px dotted #fff;
  width: calc(100% - 10px);
  height: calc(100% - 10px);
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  border-radius: 7px;
}

@media only screen and (max-width: 835px) {
  .title_cute2 {
    margin: 40px auto 20px auto;
  }
}

.title_num {
  margin: 40px auto 30px auto;
}

.title_num h2, .title_num h3 {
  line-height: 1;
  font-size: 1.5rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 600;
}

.title_num h2 .num, .title_num h3 .num {
  font-family: "open-sans", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #3db4cc;
  font-size: 6.25rem;
  font-weight: 800;
  display: block;
  border-bottom: 2px solid #111;
  padding-top: 10px;
  margin-bottom: 10px;
}

@media (max-width: 1200px) {
  .title_num h2 .num, .title_num h3 .num {
    font-size: calc(1.75rem + 6vw) ;
  }
}

@media only screen and (max-width: 1500px) {
  .title_num h2 .num, .title_num h3 .num {
    font-size: 5rem;
  }
}

@media only screen and (max-width: 1500px) and (max-width: 1200px) {
  .title_num h2 .num, .title_num h3 .num {
    font-size: calc(1.625rem + 4.5vw) ;
  }
}

@media (max-width: 1200px) {
  .title_num h2, .title_num h3 {
    font-size: calc(1.275rem + 0.3vw) ;
  }
}

@media only screen and (max-width: 835px) {
  .title_num {
    margin: 30px auto 20px auto;
  }
}

.list_UL ul li {
  padding-left: 25px;
  position: relative;
  margin-bottom: 10px;
  font-size: 1rem;
  font-weight: 500;
}

.list_UL ul li:after {
  font-family: "Font Awesome 5 Pro";
  content: "\f111";
  /*アイコンのユニコード*/
  font-weight: 600;
  color: #dcc895;
  font-size: 0.875rem;
  position: absolute;
  /*絶対位置*/
  left: 0px;
  /*アイコンの位置*/
  top: 0;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.list_UL2 ul li {
  overflow: visible !important;
  padding-left: 25px;
  position: relative;
  margin-bottom: 10px;
  font-size: 1.125rem;
  font-weight: 500;
  border-bottom: 1px dashed #ccc;
}

.list_UL2 ul li:after {
  font-family: "Font Awesome 5 Pro";
  content: "\f276";
  /*アイコンのユニコード*/
  font-weight: 600;
  color: #555;
  font-size: 1.5rem;
  position: absolute;
  /*絶対位置*/
  left: 0px;
  /*アイコンの位置*/
  top: 0;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transform: rotate(-20deg);
          transform: rotate(-20deg);
}

@media (max-width: 1200px) {
  .list_UL2 ul li:after {
    font-size: calc(1.275rem + 0.3vw) ;
  }
}

@media only screen and (max-width: 835px) {
  .list_UL2 ul li {
    padding-left: 20px;
    font-size: 0.875rem;
  }
}

.check_UL ul li {
  padding-left: 30px;
  position: relative;
  margin-bottom: 10px;
  font-size: 1rem;
}

.check_UL ul li:after {
  content: "";
  position: absolute;
  /*絶対位置*/
  background: url(../images/top/check01.png) no-repeat;
  background-size: contain;
  width: 25px;
  height: 25px;
  left: 0px;
  /*アイコンの位置*/
  top: 0px;
}

@media only screen and (max-width: 835px) {
  .check_UL ul li {
    font-size: 0.9375rem;
    line-height: 1.5em;
  }
  .check_UL ul li:after {
    width: 25px;
    height: 23px;
  }
}

@media only screen and (max-width: 640px) {
  .check_UL ul li {
    padding-left: 25px;
  }
  .check_UL ul li:after {
    width: 20px;
    height: 20px;
    top: 0;
  }
}

.check_UL2 ul li {
  padding-left: 35px;
  position: relative;
  margin-bottom: 10px;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 2em;
}

.check_UL2 ul li:after {
  content: "";
  position: absolute;
  /*絶対位置*/
  background: url(../images/top/check01.png) no-repeat;
  background-size: contain;
  width: 30px;
  height: 27px;
  left: 0px;
  /*アイコンの位置*/
  top: 5px;
}

@media only screen and (max-width: 835px) {
  .check_UL2 ul li {
    font-size: 0.9375rem;
    line-height: 1.5em;
  }
  .check_UL2 ul li:after {
    width: 25px;
    height: 23px;
  }
}

@media only screen and (max-width: 640px) {
  .check_UL2 ul li {
    padding-left: 25px;
  }
  .check_UL2 ul li:after {
    width: 20px;
    height: 20px;
    top: 0;
  }
}

.check_UL3 ul li {
  width: 100% !important;
  overflow: visible !important;
  padding-left: 40px;
  padding-bottom: 5px;
  position: relative;
  margin-bottom: 15px;
  font-size: 1rem;
  font-weight: 500;
  border-bottom: 1px dashed #ccc;
}

.check_UL3 ul li:after {
  font-family: "Font Awesome 5 Pro";
  content: "\f058";
  /*アイコンのユニコード*/
  font-weight: 600;
  color: #555;
  font-size: 1.5rem;
  position: absolute;
  /*絶対位置*/
  left: 0px;
  /*アイコンの位置*/
  top: 0;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 1200px) {
  .check_UL3 ul li:after {
    font-size: calc(1.275rem + 0.3vw) ;
  }
}

.info_01 {
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
  padding: 30px 0;
}

@media only screen and (max-width: 835px) {
  .info_01 {
    padding: 20px 0;
  }
}

.triangle {
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 100px solid transparent;
  border-left: 100px solid transparent;
  border-top: 50px solid rgba(87, 198, 221, 0.5);
}

.pick01, .pick02, .pick03 {
  background: rgba(230, 250, 254, 0.7);
  border-radius: 10px;
  padding: 30px;
}

.pick01 .profile, .pick02 .profile, .pick03 .profile {
  font-size: 1rem;
  color: #1b1b1b;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  margin-bottom: 10px;
  text-align: right !important;
}

@media only screen and (max-width: 835px) {
  .pick01, .pick02, .pick03 {
    padding: 30px 15px;
  }
}

.pick02 {
  padding: 50px 30px;
}

@media only screen and (max-width: 835px) {
  .pick02 {
    padding: 30px 15px;
  }
}

.pick03 {
  background: rgba(232, 219, 187, 0.5);
}

.pick_rd {
  background: rgba(230, 250, 254, 0.5);
  padding: 20px;
  border-radius: 10px;
  border: rgba(220, 200, 149, 0.3) 1px solid;
}

.pick_rd .profile {
  font-size: 1rem;
  color: #1b1b1b;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  margin-bottom: 10px;
  text-align: right !important;
}

@media only screen and (max-width: 835px) {
  .pick_rd {
    padding: 30px 15px;
  }
}

.contact_contents #contents_wrap {
  margin-top: 50px;
}

@media only screen and (max-width: 835px) {
  .contact_contents #contents_wrap {
    margin-top: 50px;
  }
}

.picktxt_w {
  color: #fff;
}

.picktxt08 {
  font-size: 0.8em;
  line-height: 1.5em;
}

@media only screen and (max-width: 835px) {
  .picktxt08 {
    font-size: 0.9em;
  }
}

.picktxt08_w {
  font-size: 0.8em;
  line-height: 1.5em;
  color: #fff;
}

@media only screen and (max-width: 835px) {
  .picktxt08_w {
    font-size: 0.9em;
  }
}

.picktxt09 {
  font-size: 0.9em;
  line-height: 1.8em;
}

.picktxt09_w {
  color: #fff;
  font-size: 0.9em;
  line-height: 1.5em;
}

.picktxt105 {
  font-size: 1.05em;
  line-height: 2em;
}

@media only screen and (max-width: 835px) {
  .picktxt105 {
    line-height: 1.8em;
  }
}

.picktxt105_w {
  color: #fff;
  font-size: 1.05em;
  line-height: 2em;
}

@media only screen and (max-width: 835px) {
  .picktxt105_w {
    line-height: 1.8em;
  }
}

.picktxt11 {
  font-size: 1.1em;
  line-height: 2em;
}

@media only screen and (max-width: 835px) {
  .picktxt11 {
    line-height: 1.8em;
    font-size: 1.05em;
  }
}

.picktxt11_w {
  color: #fff;
  font-size: 1.1em;
  line-height: 2em;
}

@media only screen and (max-width: 835px) {
  .picktxt11_w {
    line-height: 1.8em;
    font-size: 1.05em;
  }
}

.picktxt12 {
  font-size: 1.2em;
  line-height: 2em;
}

@media only screen and (max-width: 1200px) {
  .picktxt12 {
    font-size: 1.1em;
  }
}

@media only screen and (max-width: 1024px) {
  .picktxt12 {
    font-size: 16px;
    line-height: 1.8em;
  }
}

.picktxt12_w {
  color: #fff;
  font-size: 1.2em;
  line-height: 2em;
}

@media only screen and (max-width: 1000px) {
  .picktxt12_w {
    font-size: 1.1em;
  }
}

@media only screen and (max-width: 835px) {
  .picktxt12_w {
    font-size: 16px;
    line-height: 1.8em;
  }
}

.fs_16 {
  font-size: 1rem;
}

.fs_18 {
  font-size: 1.125rem;
}

.fs_20 {
  font-size: 1.25rem;
}

@media only screen and (max-width: 835px) {
  .fs_20 {
    font-size: 1.125rem;
  }
}

.fs_24 {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.8em;
}

@media (max-width: 1200px) {
  .fs_24 {
    font-size: calc(1.275rem + 0.3vw) ;
  }
}

@media only screen and (max-width: 835px) {
  .fs_24 {
    font-size: 1.125rem;
  }
}

.fs_30 {
  font-size: 1.875rem;
  font-weight: bold;
}

@media (max-width: 1200px) {
  .fs_30 {
    font-size: calc(1.3125rem + 0.75vw) ;
  }
}

@media only screen and (max-width: 835px) {
  .fs_30 {
    font-size: 1.25rem;
  }
}

.hosoku {
  background: rgba(204, 204, 204, 0.4);
  padding: 10px;
  font-size: 0.95em;
}

.hosoku h2, .hosoku h3, .hosoku h4 {
  font-size: 1rem;
  color: #1b1b1b;
  font-weight: 600;
}

@media only screen and (max-width: 835px) {
  .hosoku {
    padding: 10px;
  }
}

.ls100 {
  letter-spacing: 0.2rem;
}

@media only screen and (max-width: 835px) {
  .ls100 {
    letter-spacing: 1.0px;
  }
}

.ls50 {
  letter-spacing: 0.1rem;
}

@media only screen and (max-width: 835px) {
  .ls50 {
    letter-spacing: 1.0px;
  }
}

.marker01 {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(40%, transparent), color-stop(0%, rgba(85, 85, 85, 0.2)));
  background: linear-gradient(transparent 40%, rgba(85, 85, 85, 0.2) 0%);
}

.marker02 {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(0%, rgba(85, 85, 85, 0.3)));
  background: linear-gradient(transparent 70%, rgba(85, 85, 85, 0.3) 0%);
}

.marker03 {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(40%, transparent), color-stop(0%, rgba(87, 198, 221, 0.2)));
  background: linear-gradient(transparent 40%, rgba(87, 198, 221, 0.2) 0%);
}

.marker04 {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(0%, rgba(87, 198, 221, 0.3)));
  background: linear-gradient(transparent 70%, rgba(87, 198, 221, 0.3) 0%);
}

.btn1 a, .btn1_L a {
  max-width: 220px;
  min-width: 180px;
  margin: 0 auto;
  width: 100%;
  background: #57c6dd;
  background-size: auto;
  padding: 15px 30px;
  line-height: 1;
  display: block;
  text-align: center;
  font-size: 1.875rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  position: relative;
  color: #1b1b1b;
}

@media (max-width: 1200px) {
  .btn1 a, .btn1_L a {
    font-size: calc(1.3125rem + 0.75vw) ;
  }
}

.btn1 a:after, .btn1_L a:after {
  -webkit-transition: 0.5s;
  transition: 0.5s;
  font-family: "Font Awesome 5 Pro";
  content: "\f330";
  /*アイコンのユニコード*/
  font-weight: 600;
  font-size: 0.9375rem;
  position: absolute;
  /*絶対位置*/
  right: 15px;
  /*アイコンの位置*/
  top: 0;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.btn1 a i, .btn1_L a i {
  color: #fff;
  margin-right: 5px;
}

@media only screen and (max-width: 640px) {
  .btn1 a, .btn1_L a {
    margin: 0 auto;
  }
}

.btn1 a:hover, .btn1_L a:hover {
  opacity: 1;
  background: #d4f7fe;
}

.btn1 a:hover:after, .btn1_L a:hover:after {
  -webkit-transform: translate(5px, 0);
          transform: translate(5px, 0);
}

.btn1_rad20 a, .btn1_rad20_L a {
  overflow: hidden;
  text-align: center;
  position: relative;
  z-index: 2;
  background: url(../images/top/top_ptn02.jpg) repeat center;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  display: block;
  margin: 0 auto;
  width: 100%;
  max-width: 500px;
  min-width: 220px;
  padding: 10px;
  color: #fff;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.125rem;
}

.btn1_rad20 a:before, .btn1_rad20_L a:before {
  content: "";
  z-index: -1;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: -100%;
  background: #555;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.btn1_rad20 a:after, .btn1_rad20_L a:after {
  -webkit-transition: 0.5s;
  transition: 0.5s;
  font-family: "Font Awesome 5 Pro";
  content: "\f0da";
  /*アイコンのユニコード*/
  font-weight: 100;
  font-size: 1.125rem;
  position: absolute;
  /*絶対位置*/
  right: 10px;
  /*アイコンの位置*/
  top: 0;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.btn1_rad20 a:hover, .btn1_rad20_L a:hover {
  opacity: 1 !important;
  color: #fff;
}

.btn1_rad20 a:hover:before, .btn1_rad20_L a:hover:before {
  left: 0;
}

.btn1_rad20 a:hover:after, .btn1_rad20_L a:hover:after {
  color: #fff;
}

.btn1_rad20 a, .btn1_rad20_L a {
  border-radius: 40px;
}

@media screen and (min-width: 640px) {
  .btn1_rad20_L a {
    margin: 0 auto 0 0;
  }
}

@media screen and (min-width: 640px) {
  .btn1_L a {
    margin: 0 auto 0 0;
  }
}

.btn2 a, .btn2_L a {
  text-align: center;
  position: relative;
  z-index: 2;
  border: 2px solid #3db4cc;
  background: rgba(230, 250, 254, 0.1);
  display: block;
  margin: 0 auto;
  width: 100%;
  max-width: 280px;
  padding: 20px 0;
  line-height: 1;
  color: #1b1b1b;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1rem;
  font-weight: 600;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.btn2 a:after, .btn2_L a:after {
  font-family: "Font Awesome 5 Pro";
  content: "\f054";
  /*アイコンのユニコード*/
  font-weight: 600;
  font-size: 0.8125rem;
  position: absolute;
  /*絶対位置*/
  right: 10px;
  /*アイコンの位置*/
  top: 0;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.btn2 a:hover, .btn2_L a:hover {
  opacity: 1 !important;
  background-color: #3db4cc;
  color: #fff;
}

@media only screen and (max-width: 1024px) {
  .btn2 a, .btn2_L a {
    font-size: 1rem;
  }
}

@media screen and (min-width: 640px) {
  .btn2_L a {
    margin: 0 auto 0 0;
  }
}

.btn3, .btn3_cont, .btn3_L {
  width: 100%;
  max-width: 350px;
  min-width: 200px;
  height: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto;
  padding: 10px;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  position: relative;
  overflow: hidden;
  z-index: 2;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.125rem;
  background: #2b2926;
  color: #fff !important;
  text-align: center;
}

.btn3:before, .btn3_cont:before, .btn3_L:before {
  content: "";
  z-index: -1;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: -100%;
  background: #2b2926;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.btn3:after, .btn3_cont:after, .btn3_L:after {
  font-family: "Font Awesome 5 Pro";
  content: "\f054";
  /*アイコンのユニコード*/
  font-size: 14px;
  position: absolute;
  /*絶対位置*/
  right: 10px;
  /*アイコンの位置*/
  top: 0;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center !important;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: bold;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.btn3:hover, .btn3_cont:hover, .btn3_L:hover {
  opacity: 1;
  color: #fff;
}

.btn3:hover:before, .btn3_cont:hover:before, .btn3_L:hover:before {
  left: 0;
}

.btn3:hover:after, .btn3_cont:hover:after, .btn3_L:hover:after {
  -webkit-transform: translate(5px, 0);
          transform: translate(5px, 0);
}

@media only screen and (max-width: 835px) {
  .btn3, .btn3_cont, .btn3_L {
    font-size: 1rem;
  }
}

@media only screen and (max-width: 640px) {
  .btn3, .btn3_cont, .btn3_L {
    margin: 0  auto;
    min-width: auto;
    width: 95%;
    height: 60px;
  }
}

.btn3_cont {
  background: #dcc895 !important;
  background-size: auto !important;
}

.btn3_cont:hover {
  opacity: 0.7;
}

.btn1_cont a {
  text-align: center;
  position: relative;
  z-index: 2;
  background: #555;
  border-radius: 5px;
  -webkit-transition: all .5s;
  transition: all .5s;
  display: block;
  margin: 0 auto;
  width: 100%;
  max-width: 350px;
  min-width: 250px;
  padding: 10px;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
}

.btn1_cont a i {
  margin-right: 5px;
}

.btn1_cont a:hover {
  background-color: #454545;
  color: #fff;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

@media screen and (min-width: 640px) {
  .btn3_L {
    margin: 0 auto 0 0;
  }
}

.btn4, .btn4_L {
  text-align: center !important;
  width: 95%;
  margin: 0 auto;
}

.btn4 a, .btn4_L a {
  position: relative;
  z-index: 0;
  margin: 0 auto;
  width: 100%;
  max-width: 350px;
  min-width: 250px;
  height: 55px;
  line-height: 55px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-align: center !important;
  background: #57c6dd;
  overflow: hidden;
  color: #1b1b1b;
  -webkit-transition: .5s;
  transition: .5s;
}

.btn4 a i, .btn4_L a i {
  margin-right: 5px;
}

.btn4 a span, .btn4_L a span {
  width: 100%;
  height: 100%;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  z-index: 10;
  font-size: 1.125rem;
  color: #fff;
  font-weight: 500;
}

.btn4 a span div, .btn4_L a span div {
  text-align: center !important;
}

.btn4 a span:after, .btn4_L a span:after {
  font-family: "Font Awesome 5 Pro";
  content: "\f054";
  /*アイコンのユニコード*/
  font-size: 14px;
  position: absolute;
  /*絶対位置*/
  right: 10px;
  /*アイコンの位置*/
  top: 0;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center !important;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: 600;
}

.btn4 a span:before, .btn4_L a span:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 0;
  display: block;
  background: #d4f7fe;
  z-index: -1;
  -webkit-transition: .5s;
  transition: .5s;
}

.btn4 a span:hover:before, .btn4_L a span:hover:before {
  width: 100%;
}

.btn4 a span:hover:after, .btn4_L a span:hover:after {
  -webkit-transform: translate(3px, 0);
          transform: translate(3px, 0);
  -webkit-transition: .5s;
  transition: .5s;
}

@media only screen and (max-width: 835px) {
  .btn4 a span, .btn4_L a span {
    font-size: 1rem;
  }
}

.btn4 a:hover, .btn4_L a:hover {
  opacity: 1;
}

@media only screen and (max-width: 640px) {
  .btn4 a, .btn4_L a {
    height: 50px;
    line-height: 50px;
  }
}

.btn4 div, .btn4_L div {
  text-align: center !important;
}

.btn4_L {
  width: 100%;
}

@media screen and (min-width: 640px) {
  .btn4_L a {
    margin: 0 auto 0 0;
  }
}

.btn5, .btn5_L {
  width: 100%;
}

.btn5 a, .btn5_L a {
  border: 1px solid #555555;
  display: block;
  width: 90%;
  max-width: 250px;
  margin: 0  auto;
  padding: 10px 5px;
  text-align: center;
  color: #1b1b1b;
  font-size: 1.25rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  position: relative;
}

.btn5 a:after, .btn5_L a:after {
  position: absolute;
  top: 50%;
  right: -25px;
  content: '';
  width: 50px;
  height: 1px;
  background: #57c6dd;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transition: -webkit-transform .3s;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s;
}

.btn5 a:hover, .btn5_L a:hover {
  background: #454545;
  color: #fff;
  opacity: 1;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.btn5 a:hover:after, .btn5_L a:hover:after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}

.btn5_L {
  width: 100%;
}

@media screen and (min-width: 640px) {
  .btn5_L a {
    margin: 0 auto 0 0;
  }
}

.bg_color_wrap {
  position: relative;
  padding: 3% 0 !important;
}

@media screen and (max-width: 1500px) {
  .bg_color_wrap {
    padding: 7% 0 !important;
  }
}

@media only screen and (max-width: 835px) {
  .bg_color_wrap {
    padding: 10% 0 !important;
  }
}

.bg_color_inr {
  width: 1000%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  margin: 0% 0% 0% -500%;
  background: rgba(87, 198, 221, 0.15);
  z-index: -1;
}

.bg_img_wrap {
  position: relative;
  padding: 4% 0  !important;
}

@media screen and (max-width: 1300px) {
  .bg_img_wrap {
    padding: 6% 0  !important;
  }
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .bg_img_wrap {
    padding: 8% 0 !important;
  }
}

@media only screen and (max-width: 640px) {
  .bg_img_wrap {
    padding: 10% 0 !important;
  }
}

.bg_img_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 top;
  background-size: cover;
  z-index: -1;
}

@media only screen and (max-width: 640px) {
  .bg_img_inr {
    background-position: right bottom;
  }
}

.bg_ptn_wrap {
  position: relative;
  padding: 80px 0    !important;
}

@media screen and (max-width: 1300px) {
  .bg_ptn_wrap {
    padding: 70px 0  !important;
  }
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .bg_ptn_wrap {
    padding: 60px 0  !important;
  }
}

@media only screen and (max-width: 640px) {
  .bg_ptn_wrap {
    padding: 40px 0  !important;
  }
}

.bg_ptn_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/top/ptn1.png) repeat center;
  background-size: auto;
  z-index: -1;
}

@media only screen and (max-width: 1200px) {
  .bg_ptn_inr {
    background-size: 50%;
  }
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .bg_ptn_inr {
    background-size: 75%;
  }
}

@media only screen and (max-width: 640px) {
  .bg_ptn_inr {
    background-size: 100%;
  }
}

.flx_inr01 .box article h3 {
  text-align: center;
}

.flx_inr01 .box article div {
  display: none;
}

.flx_inr02 .box article {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border: 1px solid #ccc;
}

.flx_inr02 .box article h3 {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  background: #57c6dd;
  padding: 5px 10px;
  color: #fff;
  font-size: 1.125rem;
  font-weight: 600;
}

@media only screen and (max-width: 835px) {
  .flx_inr02 .box article h3 {
    font-size: 1rem;
  }
}

.flx_inr02 .box article img {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  width: 100% !important;
  border: 5px solid #fefefe;
}

.flx_inr02 .box article div {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
  padding: 0 5px 5px 5px;
}

.flx_inr03 .box article h3 {
  text-align: center;
  font-size: 1.2em;
  color: #57c6dd;
  font-weight: 500;
  margin: 5px auto;
}

@media only screen and (max-width: 640px) {
  .flx_inr03 .box:not(:last-child) {
    margin-bottom: 20px !important;
  }
}

.flx_inr04 .box h3 {
  text-align: center;
  font-size: 1.2em;
  color: #57c6dd;
  font-weight: 500;
}

.flx_inr04 .box div {
  text-align: center;
  font-size: 1.125rem;
  color: #1b1b1b;
}

.img_txt_flx {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.img_txt_flx .box {
  overflow: inherit !important;
}

.img_txt_flx .box:first-child {
  width: 39%;
  margin: 0 1% 0 0;
}

.img_txt_flx .box:first-child img {
  display: block;
  margin: 0 auto;
  width: 100% !important;
}

.img_txt_flx .box:nth-child(2) {
  width: 59%;
  margin: 0 0 0 1%;
}

@media only screen and (max-width: 640px) {
  .img_txt_flx {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .img_txt_flx .box:first-child {
    width: 100%;
    margin: 0 auto 15px auto !important;
  }
  .img_txt_flx .box:nth-child(2) {
    width: 100%;
    margin: 0 auto !important;
  }
}

.img_txt_flx2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.img_txt_flx2 .box {
  overflow: inherit !important;
}

.img_txt_flx2 .box:first-child {
  width: 29%;
  margin: 0 1% 0 0;
}

.img_txt_flx2 .box:first-child img {
  display: block;
  margin: 0 auto;
  width: 100% !important;
}

.img_txt_flx2 .box:nth-child(2) {
  width: 69%;
  margin: 0 0 0 1%;
}

@media only screen and (max-width: 640px) {
  .img_txt_flx2 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .img_txt_flx2 .box:first-child {
    width: 100%;
    margin: 0 auto 15px auto !important;
  }
  .img_txt_flx2 .box:nth-child(2) {
    width: 100%;
    margin: 0 auto !important;
  }
}

.img_txt_flx3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.img_txt_flx3 .box {
  overflow: inherit !important;
}

.img_txt_flx3 .box:first-child {
  width: 19%;
  margin: 0 1% 0 0;
}

.img_txt_flx3 .box:first-child img {
  margin: 0 auto;
  display: block;
  float: none;
}

.img_txt_flx3 .box:nth-child(2) {
  width: 79%;
  margin: 0 0 0 1%;
}

@media only screen and (max-width: 640px) {
  .img_txt_flx3 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .img_txt_flx3 .box:first-child {
    width: 100%;
    margin: 0 auto 15px auto !important;
  }
  .img_txt_flx3 .box:nth-child(2) {
    width: 100%;
    margin: 0 auto !important;
  }
}

.txt_img_flx {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.txt_img_flx .box {
  overflow: inherit !important;
}

.txt_img_flx .box:first-child {
  width: 59%;
  margin: 0 1% 0 0;
}

.txt_img_flx .box:nth-child(2) {
  width: 39%;
  margin: 0 0 0 1%;
}

.txt_img_flx .box:nth-child(2) img {
  display: block;
  margin: 0 auto;
  width: 100% !important;
}

@media only screen and (max-width: 640px) {
  .txt_img_flx {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
            flex-direction: column-reverse !important;
  }
  .txt_img_flx .box:first-child {
    width: 100%;
    margin: 0 auto;
  }
  .txt_img_flx .box:nth-child(2) {
    width: 100%;
    margin: 0 auto 15px auto;
  }
}

.txt_img_flx2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.txt_img_flx2 .box {
  overflow: inherit !important;
}

.txt_img_flx2 .box:first-child {
  width: 69%;
  margin: 0 1% 0 0;
}

.txt_img_flx2 .box:nth-child(2) {
  width: 29%;
  margin: 0 0 0 1%;
}

.txt_img_flx2 .box:nth-child(2) img {
  display: block;
  margin: 0 auto;
  width: 100% !important;
}

@media only screen and (max-width: 640px) {
  .txt_img_flx2 {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
            flex-direction: column-reverse !important;
  }
  .txt_img_flx2 .box:first-child {
    width: 100%;
    margin: 0 auto;
  }
  .txt_img_flx2 .box:nth-child(2) {
    width: 100%;
    margin: 0 auto 15px auto;
  }
}

.txt_img_flx3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.txt_img_flx3 .box {
  overflow: inherit !important;
}

.txt_img_flx3 .box:first-child {
  width: 79%;
  margin: 0 1% 0 0;
}

.txt_img_flx3 .box:nth-child(2) {
  width: 19%;
  margin: 0 0 0 1%;
}

.txt_img_flx3 .box:nth-child(2) img {
  display: block;
  margin: 0 auto;
  width: 100% !important;
}

@media only screen and (max-width: 640px) {
  .txt_img_flx3 {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
            flex-direction: column-reverse !important;
  }
  .txt_img_flx3 .box:first-child {
    width: 100%;
    margin: 0 auto;
  }
  .txt_img_flx3 .box:nth-child(2) {
    width: 100%;
    margin: 0 auto 15px auto;
  }
}

.img_txt_flx4, .txt_img_flx4 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: nowrap !important;
      flex-wrap: nowrap !important;
  margin-top: 100px;
}

.img_txt_flx4 .box, .txt_img_flx4 .box {
  width: 50%;
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch;
}

.img_txt_flx4 .box:nth-child(2), .txt_img_flx4 .box:nth-child(2) {
  background: #e6fafe;
  width: 55%;
  margin: 50px 0 -30px -5%;
  -webkit-box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.05);
          box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.05);
}

.img_txt_flx4 .box:nth-child(2) > div, .txt_img_flx4 .box:nth-child(2) > div {
  height: 100%;
  padding: 50px 30px;
}

.img_txt_flx4 .box:nth-child(2) > div p, .txt_img_flx4 .box:nth-child(2) > div p {
  color: #1b1b1b;
  font-size: 1rem;
  line-height: 2.5rem;
}

@media only screen and (max-width: 1024px) {
  .img_txt_flx4 .box:nth-child(2) > div p, .txt_img_flx4 .box:nth-child(2) > div p {
    font-size: 0.9375rem;
    line-height: 2rem;
  }
  .img_txt_flx4 .box:nth-child(2) > div p br, .txt_img_flx4 .box:nth-child(2) > div p br {
    display: none;
  }
}

@media only screen and (max-width: 640px) {
  .img_txt_flx4 .box:nth-child(2) > div, .txt_img_flx4 .box:nth-child(2) > div {
    padding: 30px 10px;
    width: 95%;
  }
}

.img_txt_flx4 .box:nth-child(2) img, .txt_img_flx4 .box:nth-child(2) img {
  display: block;
  height: 100% !important;
  -o-object-fit: cover;
     object-fit: cover;
}

@media only screen and (max-width: 640px) {
  .img_txt_flx4, .txt_img_flx4 {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
  }
  .img_txt_flx4 .box:first-child, .txt_img_flx4 .box:first-child {
    width: 90%;
    margin: 0 auto 0 0;
    position: relative;
  }
  .img_txt_flx4 .box:nth-child(2), .txt_img_flx4 .box:nth-child(2) {
    position: relative;
    width: 90%;
    margin: -20px 0 0 auto;
  }
}

@media only screen and (max-width: 640px) {
  .img_txt_flx4, .txt_img_flx4 {
    margin-top: 80px;
  }
}

.txt_img_flx4 {
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: reverse !important;
      -ms-flex-direction: row-reverse !important;
          flex-direction: row-reverse !important;
}

.txt_img_flx4 .box:nth-child(2) {
  margin: 50px -5% -30px 0;
}

@media only screen and (max-width: 640px) {
  .txt_img_flx4 {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
  }
  .txt_img_flx4 .box:first-child {
    width: 90%;
    margin: -20px 0 0 auto !important;
    position: relative;
  }
  .txt_img_flx4 .box:nth-child(2) {
    position: relative;
    width: 90%;
    margin: -20px auto 0 0 !important;
  }
}

.flx2, .flx2_R {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

.flx2 .box, .flx2_R .box {
  width: 49%;
}

.flx2 .box:nth-child(2n+1), .flx2_R .box:nth-child(2n+1) {
  margin: 0 1% 0 0;
}

.flx2 .box:nth-child(2n), .flx2_R .box:nth-child(2n) {
  margin: 0 0 0 1%;
}

.flx2 .box img, .flx2_R .box img {
  margin: 0 auto;
}

@media only screen and (max-width: 640px) {
  .flx2, .flx2_R {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .flx2 .box, .flx2_R .box {
    width: 100%;
  }
  .flx2 .box:nth-child(2n+1), .flx2_R .box:nth-child(2n+1) {
    margin: 0 auto 20px auto;
  }
  .flx2 .box:nth-child(2n), .flx2_R .box:nth-child(2n) {
    margin: 0 auto;
  }
}

.flx2_img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

.flx2_img .box {
  width: 49%;
}

.flx2_img .box:nth-child(2n+1) {
  margin: 0 1% 0 0;
}

.flx2_img .box:nth-child(2n) {
  margin: 0 0 0 1%;
}

.flx2_img .box img {
  margin: 0 auto;
  display: block;
}

@media only screen and (max-width: 640px) {
  .flx2_img {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .flx2_img .box {
    width: 100%;
  }
  .flx2_img .box:nth-child(2n+1) {
    margin: 0 auto 15px auto;
  }
  .flx2_img .box:nth-child(2n) {
    margin: 0 auto;
  }
}

.flx2_R .box {
  width: 49%;
}

.flx2_R .box:nth-child(2n+1) {
  margin: 0 1% 2% 0;
}

.flx2_R .box:nth-child(2n) {
  margin: 0 0 2% 1%;
}

@media only screen and (max-width: 640px) {
  .flx2_R {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .flx2_R .box {
    width: 100%;
    margin: 0 auto 15px auto !important;
  }
  .flx2_R .box:last-child {
    margin: 0 auto;
  }
}

.flx3 {
  position: relative;
  border: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

@media only screen and (max-width: 835px) {
  .flx3 {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.flx3 .box {
  width: 32%;
  margin: 0 1%;
}

.flx3 .box:nth-child(3n+1) {
  margin: 0 1% 1% 0;
}

.flx3 .box:nth-child(3n+2) {
  margin: 0 1% 1% 1%;
}

.flx3 .box:nth-child(3n+3) {
  margin: 0 0 1% 1%;
}

.flx3 .box a {
  display: block;
}

.flx3 .box img {
  display: block;
  margin: 0 auto;
}

@media only screen and (max-width: 640px) {
  .flx3 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .flx3 .box {
    width: 100%;
    margin: 0 auto;
  }
  .flx3 .box:not(:last-child) {
    margin-bottom: 20px;
  }
}

.flx3_r {
  position: relative;
  border: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

@media only screen and (max-width: 835px) {
  .flx3_r {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.flx3_r .box {
  width: 32%;
  margin: 0 1%;
}

.flx3_r .box:nth-child(3n+1) {
  margin: 0 1% 2% 0;
}

.flx3_r .box:nth-child(3n+2) {
  margin: 0 1% 2% 1%;
}

.flx3_r .box:nth-child(3n+3) {
  margin: 0 0 2% 1%;
}

.flx3_r .box img {
  width: 100% !important;
}

.flx3_r .box tr td {
  padding: 0 !important;
  border: 0 !important;
}

@media only screen and (max-width: 640px) {
  .flx3_r {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .flx3_r .box {
    width: 100%;
    margin: 0 auto !important;
  }
  .flx3_r .box:not(:last-child) {
    margin-bottom: 20px !important;
  }
}

.flx4, .flx4_R {
  border: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

.flx4 .box, .flx4_R .box {
  width: 23.5%;
  margin: 0 1%;
}

.flx4 .box:nth-child(4n+1), .flx4_R .box:nth-child(4n+1) {
  margin: 0 1% 2% 0;
}

.flx4 .box:nth-child(4n+4), .flx4_R .box:nth-child(4n+4) {
  margin: 0 0 2% 1%;
}

.flx4 .box img, .flx4_R .box img {
  width: 100% !important;
}

.flx4 .box tr td, .flx4_R .box tr td {
  padding: 0 !important;
  border: 0 !important;
}

@media only screen and (max-width: 640px) {
  .flx4 .box, .flx4_R .box {
    width: 49%;
  }
  .flx4 .box:nth-child(2n+1), .flx4_R .box:nth-child(2n+1) {
    margin: 0 1% 2% 0;
  }
  .flx4 .box:nth-child(2n), .flx4_R .box:nth-child(2n) {
    margin: 0 0 2% 1%;
  }
}

@media screen and (max-width: 350px) {
  .flx4, .flx4_R {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .flx4 .box, .flx4_R .box {
    width: 100%;
    margin-bottom: 20px;
  }
  .flx4 .box:not(:last-child), .flx4_R .box:not(:last-child) {
    margin-bottom: 20px;
  }
}

.flx4_R .box {
  margin: 0 1% 2% 1%;
}

@media only screen and (max-width: 640px) {
  .flx4_R .box {
    width: 49%;
  }
  .flx4_R .box:nth-child(2n+1) {
    margin: 0 1% 2% 0;
  }
  .flx4_R .box:nth-child(2n) {
    margin: 0 0 2% 1%;
  }
}

.flx5 {
  border: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

.flx5 .box {
  width: 18.4%;
  margin: 0 1%;
}

.flx5 .box:nth-child(5n+1) {
  margin: 0 1% 1% 0;
}

.flx5 .box:nth-child(5n+5) {
  margin: 0 0 1% 1%;
}

.flx5 .box tr td {
  padding: 0 !important;
  border: 0 !important;
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .flx5 .box {
    width: 32%;
    margin: 0 1%;
  }
  .flx5 .box:nth-child(3n+1) {
    margin: 0 1% 1% 0;
  }
  .flx5 .box:nth-child(3n+2) {
    margin: 0 1% 1% 1%;
  }
  .flx5 .box:nth-child(3n+3) {
    margin: 0 0 1% 1%;
  }
  .flx5 .box tr td {
    padding: 0 !important;
    border: 0 !important;
  }
}

@media only screen and (max-width: 640px) {
  .flx5 .box {
    width: 49%;
  }
  .flx5 .box:nth-child(2n+1) {
    margin: 0 1% 2% 0;
  }
  .flx5 .box:nth-child(2n) {
    margin: 0 0 2% 1%;
  }
}

@media screen and (max-width: 350px) {
  .flx5 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .flx5 .box {
    width: 100%;
    margin-bottom: 20px;
  }
  .flx5 .box:not(:last-child) {
    margin-bottom: 20px;
  }
}

.flx6 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

.flx6 .box {
  width: 15%;
  margin: 0 1%;
}

.flx6 .box:nth-child(6n+1) {
  margin: 0 1% 1% 0;
}

.flx6 .box:nth-child(6n+6) {
  margin: 0 0 1% 1%;
}

.flx6 .box tr td {
  padding: 0 !important;
  border: 0 !important;
}

.flx6 .box img {
  width: 100% !important;
}

@media only screen and (max-width: 835px) {
  .flx6 .box {
    width: 32%;
    margin: 0 1%;
  }
  .flx6 .box:nth-child(3n+1) {
    margin: 0 1% 2% 0;
  }
  .flx6 .box:nth-child(3n+2) {
    margin: 0 1% 2% 1%;
  }
  .flx6 .box:nth-child(3n+3) {
    margin: 0 0 2% 1%;
  }
}

@media screen and (max-width: 350px) {
  .flx6 .box {
    width: 49%;
  }
  .flx6 .box:nth-child(2n+1) {
    margin: 0 1% 2% 0;
  }
  .flx6 .box:nth-child(2n) {
    margin: 0 0 2% 1%;
  }
}

._top_sns li {
  padding: 0 10px;
}

._top_sns .sns_text {
  display: none !important;
}

.top_sns .sns_text {
  display: none !important;
}

.top_sns .square-inner {
  position: relative;
  display: block;
}

.top_sns .square-inner:before {
  position: relative;
  z-index: 1;
  content: "";
  display: block;
  width: 100% !important;
}

.top_sns .square-inner img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: "object-fit:cover;";
  width: 100% !important;
  height: 100% !important;
}

.top_sns .sns_photo {
  padding: 0 5px;
}

.top_insta .sns_list {
  -webkit-box-orient: inherit !important;
  -webkit-box-direction: inherit !important;
      -ms-flex-direction: inherit !important;
          flex-direction: inherit !important;
  border: none  !important;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.top_insta .sns_list .sns_text {
  width: 100%;
}

.top_insta .sns_list .sns_text ul {
  display: none;
}

.top_insta .sns_list .sns_text .sns_date {
  color: #1b1b1b;
  font-family: "open-sans", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.2em;
}

.top_insta .sns_list .sns_text .caption {
  font-size: 0.875rem;
  line-height: 1.5em;
}

.top_insta .sns_list .sns_photo {
  width: 100% !important;
  padding: 0 !important;
}

.top_insta .sns_list .sns_photo img {
  width: 100%;
}

.top_insta .sns_list > div {
  border: none !important;
  display: block;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 23%;
  margin: 1%;
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .top_insta .sns_list > div {
    width: 48%;
  }
}

@media only screen and (max-width: 640px) {
  .top_insta .sns_list > div {
    width: 48%;
  }
}

@media screen and (max-width: 350px) {
  .top_insta .sns_list > div {
    width: 100%;
    margin: 0 auto 20px auto;
  }
}

.top_insta_6 .sns_list {
  -webkit-box-orient: inherit !important;
  -webkit-box-direction: inherit !important;
      -ms-flex-direction: inherit !important;
          flex-direction: inherit !important;
  border: none  !important;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.top_insta_6 .sns_list .sns_text {
  display: none;
}

.top_insta_6 .sns_list .sns_photo {
  width: 100% !important;
  height: 100%;
  padding: 0 !important;
}

.top_insta_6 .sns_list .sns_photo img {
  width: 100%;
  height: 100% !important;
  -o-object-fit: cover;
     object-fit: cover;
}

.top_insta_6 .sns_list > div {
  border: none !important;
  width: 16.666%;
  margin: 0;
}

@media only screen and (max-width: 1000px) {
  .top_insta_6 .sns_list > div {
    width: 25%;
  }
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .top_insta_6 .sns_list > div {
    width: 33.333%;
  }
}

@media only screen and (max-width: 640px) {
  .top_insta_6 .sns_list > div {
    width: 50%;
  }
}

@media screen and (max-width: 350px) {
  .top_insta_6 .sns_list > div {
    width: 100%;
  }
}

.top_insta_4 {
  width: 100%;
  margin: 0 auto;
}

.top_insta_4 .sns_list {
  -webkit-box-orient: inherit !important;
  -webkit-box-direction: inherit !important;
      -ms-flex-direction: inherit !important;
          flex-direction: inherit !important;
  border: none  !important;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.top_insta_4 .sns_list .sns_text {
  display: none;
}

.top_insta_4 .sns_list .sns_photo {
  width: 100% !important;
  height: 100%;
  padding: 0 !important;
}

.top_insta_4 .sns_list .sns_photo img {
  width: 100%;
  height: 100% !important;
  -o-object-fit: cover;
     object-fit: cover;
}

.top_insta_4 .sns_list > div {
  border: none !important;
  width: 25%;
  margin: 0;
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .top_insta_4 .sns_list > div {
    width: 33.333%;
  }
}

@media only screen and (max-width: 640px) {
  .top_insta_4 .sns_list > div {
    width: 50%;
  }
}

@media screen and (max-width: 350px) {
  .top_insta_4 .sns_list > div {
    width: 100%;
  }
}

.top_insta_t_4 .sns_list {
  -webkit-box-orient: inherit !important;
  -webkit-box-direction: inherit !important;
      -ms-flex-direction: inherit !important;
          flex-direction: inherit !important;
  border: none  !important;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.top_insta_t_4 .sns_list > div {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border: none !important;
  width: 23.5%;
  margin: 0 1% 2% 1%;
}

.top_insta_t_4 .sns_list > div:nth-child(4n+1) {
  margin: 0 1% 2% 0;
}

.top_insta_t_4 .sns_list > div:nth-child(4n+4) {
  margin: 0 0 2% 1%;
}

.top_insta_t_4 .sns_list > div .sns_text {
  width: 100%;
}

.top_insta_t_4 .sns_list > div .sns_text ul {
  display: none;
}

.top_insta_t_4 .sns_list > div .sns_text .sns_date {
  color: #fff;
  font-family: "open-sans", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.2em;
  line-height: 1;
  margin-bottom: 10px;
}

.top_insta_t_4 .sns_list > div .sns_text .caption {
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.5em;
}

.top_insta_t_4 .sns_list > div .sns_photo {
  width: 100% !important;
  padding: 0 !important;
}

.top_insta_t_4 .sns_list > div .sns_photo img {
  width: 100%;
}

@media only screen and (max-width: 835px) {
  .top_insta_t_4 .sns_list > div {
    width: 49%;
  }
  .top_insta_t_4 .sns_list > div:nth-child(2n+1) {
    margin: 0 1% 2% 0;
  }
  .top_insta_t_4 .sns_list > div:nth-child(2n) {
    margin: 0 0 2% 1%;
  }
}

.top_insta_3 {
  width: 100%;
  margin: 0 auto;
}

.top_insta_3 .sns_list {
  -webkit-box-orient: inherit !important;
  -webkit-box-direction: inherit !important;
      -ms-flex-direction: inherit !important;
          flex-direction: inherit !important;
  border: none  !important;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.top_insta_3 .sns_list .sns_text {
  display: none;
}

.top_insta_3 .sns_list .sns_photo {
  width: 100% !important;
  height: 100%;
  padding: 0 !important;
}

.top_insta_3 .sns_list .sns_photo img {
  width: 100%;
  height: 100% !important;
  -o-object-fit: cover;
     object-fit: cover;
}

.top_insta_3 .sns_list > div {
  border: none !important;
  width: 32.333%;
  margin: 0.5%;
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .top_insta_3 .sns_list > div {
    width: 49%;
  }
}

@media only screen and (max-width: 640px) {
  .top_insta_3 .sns_list > div {
    width: 49%;
  }
}

@media screen and (max-width: 350px) {
  .top_insta_3 .sns_list > div {
    width: 99%;
  }
}

.local_insta .sns_list {
  border: none;
}

.local_insta .sns_list .sns_photo {
  width: 20%;
}

.local_insta .sns_list .sns_text {
  width: 80%;
  font-size: 0.9375rem;
}

.local_insta .sns_list .sns_text .sns_date {
  width: 110px;
  text-align: center;
  background: #57c6dd;
  color: #fff;
  font-family: "open-sans", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  margin-bottom: 10px;
}

.local_insta .sns_list .sns_text ul li {
  background: rgba(204, 204, 204, 0.3);
  margin: 3px;
}

.local_insta .sns_list .sns_text ul li a {
  padding: 3px;
  width: 100%;
  display: block;
  text-align: center;
  font-size: 0.8125rem;
}

@media only screen and (max-width: 835px) {
  .local_insta .sns_list .sns_photo {
    width: 100%;
  }
  .local_insta .sns_list .sns_photo img {
    width: 100%;
  }
  .local_insta .sns_list .sns_text {
    width: 100%;
  }
}

.top_insta_scl .sns_list {
  border: none;
}

.top_insta_scl .sns_list .sns_photo {
  width: 25%;
}

.top_insta_scl .sns_list .sns_text {
  width: 75%;
  font-size: 0.9375rem;
}

.top_insta_scl .sns_list .sns_text .sns_date {
  width: 110px;
  text-align: center;
  background: #57c6dd;
  color: #fff;
  padding: 5px 5px 5px 10px;
  margin-bottom: 10px;
}

@media only screen and (max-width: 835px) {
  .top_insta_scl .sns_list .sns_photo {
    width: 100%;
  }
  .top_insta_scl .sns_list .sns_photo img {
    width: 100%;
  }
  .top_insta_scl .sns_list .sns_text {
    width: 100%;
  }
}

.top_insta_5 .sns_list {
  -webkit-box-orient: inherit !important;
  -webkit-box-direction: inherit !important;
      -ms-flex-direction: inherit !important;
          flex-direction: inherit !important;
  border: none  !important;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.top_insta_5 .sns_list .sns_text {
  display: none;
}

.top_insta_5 .sns_list .sns_photo {
  width: 100% !important;
  height: 100%;
  padding: 0 !important;
}

.top_insta_5 .sns_list .sns_photo img {
  width: 100%;
  height: 100% !important;
  -o-object-fit: cover;
     object-fit: cover;
}

.top_insta_5 .sns_list > div {
  border: none !important;
  display: block;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 18%;
  margin: 1%;
}

.top_insta_5 .sns_list > div:nth-child(2), .top_insta_5 .sns_list > div:nth-child(4) {
  margin-top: 60px;
}

@media only screen and (max-width: 1300px) {
  .top_insta_5 .sns_list > div:nth-child(2), .top_insta_5 .sns_list > div:nth-child(4) {
    margin-top: 35px;
  }
}

.top_insta_5 .sns_list > div:nth-child(3) {
  margin-top: 100px;
}

@media only screen and (max-width: 1300px) {
  .top_insta_5 .sns_list > div:nth-child(3) {
    margin-top: 60px;
  }
}

@media only screen and (max-width: 835px) {
  .top_insta_5 .sns_list > div:nth-child(3) {
    margin-top: 0;
  }
}

@media only screen and (max-width: 640px) {
  .top_insta_5 .sns_list > div {
    width: 48%;
  }
}

@media screen and (max-width: 350px) {
  .top_insta_5 .sns_list > div {
    width: 100%;
    margin: 0 auto 15px auto;
  }
}

.top_insta_t_5 .sns_list {
  -webkit-box-orient: inherit !important;
  -webkit-box-direction: inherit !important;
      -ms-flex-direction: inherit !important;
          flex-direction: inherit !important;
  border: none  !important;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.top_insta_t_5 .sns_list .sns_text {
  width: 100%;
}

.top_insta_t_5 .sns_list .sns_text ul {
  display: none;
}

.top_insta_t_5 .sns_list .sns_text .sns_date {
  color: #fff;
  font-family: "open-sans", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.2em;
}

.top_insta_t_5 .sns_list .sns_text .caption {
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.5em;
}

.top_insta_t_5 .sns_list .sns_photo {
  width: 100% !important;
  padding: 0 !important;
}

.top_insta_t_5 .sns_list .sns_photo img {
  width: 100%;
}

.top_insta_t_5 .sns_list > div {
  border: none !important;
  display: block;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 18%;
  margin: 1%;
}

.top_insta_t_5 .sns_list > div:nth-child(2), .top_insta_t_5 .sns_list > div:nth-child(4) {
  margin-top: 60px;
}

@media only screen and (max-width: 1300px) {
  .top_insta_t_5 .sns_list > div:nth-child(2), .top_insta_t_5 .sns_list > div:nth-child(4) {
    margin-top: 35px;
  }
}

.top_insta_t_5 .sns_list > div:nth-child(3) {
  margin-top: 100px;
}

@media only screen and (max-width: 1300px) {
  .top_insta_t_5 .sns_list > div:nth-child(3) {
    margin-top: 60px;
  }
}

@media only screen and (max-width: 835px) {
  .top_insta_t_5 .sns_list > div:nth-child(3) {
    margin-top: 0;
  }
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .top_insta_t_5 .sns_list > div {
    width: 48%;
  }
}

@media only screen and (max-width: 640px) {
  .top_insta_t_5 .sns_list > div {
    width: 48%;
  }
}

@media screen and (max-width: 350px) {
  .top_insta_t_5 .sns_list > div {
    width: 100%;
    margin: 0 auto 15px auto;
  }
}

.local_insta2 .sns_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: row !important;
          flex-direction: row !important;
  border: none;
}

.local_insta2 .sns_list > div {
  width: 31.333%;
  margin: 1%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border: none;
}

.local_insta2 .sns_list > div .sns_photo {
  width: 100%;
  padding: 0 !important;
}

.local_insta2 .sns_list > div .sns_photo img {
  width: 100% !important;
  height: 300px !important;
  -o-object-fit: cover;
     object-fit: cover;
}

@media only screen and (max-width: 1200px) {
  .local_insta2 .sns_list > div .sns_photo img {
    height: 250px !important;
  }
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .local_insta2 .sns_list > div .sns_photo img {
    height: 200px !important;
  }
}

@media only screen and (max-width: 640px) {
  .local_insta2 .sns_list > div .sns_photo img {
    height: 180px !important;
  }
}

.local_insta2 .sns_list > div .sns_text {
  width: 100%;
  padding: 0 !important;
}

.local_insta2 .sns_list > div .sns_text .sns_date {
  color: #57c6dd !important;
  font-size: 1rem;
}

.local_insta2 .sns_list > div .sns_text ul {
  display: none;
}

.local_insta2 .sns_list > div .sns_text .caption {
  font-size: 15px;
}

@media only screen and (max-width: 640px) {
  .local_insta2 .sns_list > div {
    width: 48%;
  }
}

section div.form_wrap dl dt {
  background: transration !important;
}

.panbtm {
  margin-top: 80px !important;
}

@media only screen and (max-width: 1024px) {
  .panbtm {
    margin-top: 60px !important;
  }
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .panbtm {
    margin-top: 50px !important;
  }
}

@media only screen and (max-width: 640px) {
  .panbtm {
    margin-top: 50px !important;
  }
}

.sp150 {
  margin: 150px auto;
}

@media only screen and (max-width: 1500px) {
  .sp150 {
    margin: 120px auto;
  }
}

@media only screen and (max-width: 1200px) {
  .sp150 {
    margin: 100px auto;
  }
}

@media only screen and (max-width: 1024px) {
  .sp150 {
    margin: 80px auto;
  }
}

@media only screen and (max-width: 835px) {
  .sp150 {
    margin: 50px auto;
  }
}

.sp120 {
  margin: 120px auto;
}

@media only screen and (max-width: 1500px) {
  .sp120 {
    margin: 100px auto;
  }
}

@media only screen and (max-width: 1200px) {
  .sp120 {
    margin: 80px auto;
  }
}

@media only screen and (max-width: 1000px) {
  .sp120 {
    margin: 60px auto;
  }
}

@media only screen and (max-width: 835px) {
  .sp120 {
    margin: 40px auto;
  }
}

.sp100 {
  margin: 100px auto;
}

@media only screen and (max-width: 1500px) {
  .sp100 {
    margin: 70px auto;
  }
}

@media only screen and (max-width: 835px) {
  .sp100 {
    margin: 40px auto;
  }
}

.sp80 {
  margin: 80px auto;
}

@media only screen and (max-width: 1200px) {
  .sp80 {
    margin: 60px auto;
  }
}

@media only screen and (max-width: 1000px) {
  .sp80 {
    margin: 50px auto;
  }
}

@media only screen and (max-width: 835px) {
  .sp80 {
    margin: 40px auto;
  }
}

.sp70 {
  margin: 70px auto;
}

@media only screen and (max-width: 1200px) {
  .sp70 {
    margin: 50px auto;
  }
}

@media only screen and (max-width: 1000px) {
  .sp70 {
    margin: 40px auto;
  }
}

@media only screen and (max-width: 835px) {
  .sp70 {
    margin: 40px auto;
  }
}

.sp60 {
  margin: 60px auto;
}

@media only screen and (max-width: 1200px) {
  .sp60 {
    margin: 50px auto;
  }
}

@media only screen and (max-width: 1000px) {
  .sp60 {
    margin: 40px auto;
  }
}

@media only screen and (max-width: 835px) {
  .sp60 {
    margin: 40px auto;
  }
}

.sp50 {
  margin: 50px auto;
}

@media only screen and (max-width: 1200px) {
  .sp50 {
    margin: 40px auto;
  }
}

@media only screen and (max-width: 1000px) {
  .sp50 {
    margin: 40px auto;
  }
}

@media only screen and (max-width: 835px) {
  .sp50 {
    margin: 30px auto;
  }
}

.sp40 {
  margin: 40px auto;
}

@media only screen and (max-width: 1000px) {
  .sp40 {
    margin: 30px auto;
  }
}

@media only screen and (max-width: 835px) {
  .sp40 {
    margin: 20px auto;
  }
}

.sp30 {
  margin: 30px auto;
}

@media only screen and (max-width: 1200px) {
  .sp30 {
    margin: 30px auto;
  }
}

@media only screen and (max-width: 1000px) {
  .sp30 {
    margin: 20px auto;
  }
}

@media only screen and (max-width: 835px) {
  .sp30 {
    margin: 15px auto;
  }
}

.sp20 {
  margin: 20px auto;
}

@media only screen and (max-width: 835px) {
  .sp20 {
    margin: 15px auto;
  }
}

.tp20 {
  margin-top: 20px;
}

@media only screen and (max-width: 835px) {
  .tp20 {
    margin-top: 15px;
  }
}

.tp15 {
  margin-top: 15px;
}

.tp10 {
  margin-top: 10px;
}

.tp30 {
  margin-top: 30px;
}

@media only screen and (max-width: 1024px) {
  .tp30 {
    margin-top: 20px;
  }
}

.tp40 {
  margin-top: 40px;
}

@media only screen and (max-width: 1024px) {
  .tp40 {
    margin-top: 30px;
  }
}

@media only screen and (max-width: 835px) {
  .tp40 {
    margin-top: 30px;
  }
}

.tp50 {
  margin-top: 50px;
}

@media only screen and (max-width: 1024px) {
  .tp50 {
    margin-top: 30px;
  }
}

@media only screen and (max-width: 835px) {
  .tp50 {
    margin-top: 30px;
  }
}

.tp70 {
  margin-top: 70px;
}

@media only screen and (max-width: 1200px) {
  .tp70 {
    margin-top: 50px;
  }
}

@media only screen and (max-width: 1024px) {
  .tp70 {
    margin-top: 40px;
  }
}

@media only screen and (max-width: 835px) {
  .tp70 {
    margin-top: 30px;
  }
}

.tp80 {
  margin-top: 80px;
}

@media only screen and (max-width: 1200px) {
  .tp80 {
    margin-top: 50px;
  }
}

@media only screen and (max-width: 1024px) {
  .tp80 {
    margin-top: 40px;
  }
}

@media only screen and (max-width: 835px) {
  .tp80 {
    margin-top: 40px;
  }
}

.tp100 {
  margin-top: 100px;
}

@media only screen and (max-width: 1500px) {
  .tp100 {
    margin-top: 80px;
  }
}

@media only screen and (max-width: 1200px) {
  .tp100 {
    margin-top: 70px;
  }
}

@media only screen and (max-width: 1024px) {
  .tp100 {
    margin-top: 50px;
  }
}

@media only screen and (max-width: 835px) {
  .tp100 {
    margin-top: 40px;
  }
}

.tp120 {
  margin-top: 120px;
}

@media only screen and (max-width: 1500px) {
  .tp120 {
    margin-top: 100px;
  }
}

@media only screen and (max-width: 1200px) {
  .tp120 {
    margin-top: 80px;
  }
}

@media only screen and (max-width: 1000px) {
  .tp120 {
    margin-top: 60px;
  }
}

@media only screen and (max-width: 835px) {
  .tp120 {
    margin-top: 40px;
  }
}

.bt15 {
  margin-bottom: 15px;
}

.bt20 {
  margin-bottom: 20px;
}

@media only screen and (max-width: 835px) {
  .bt20 {
    margin-bottom: 15px;
  }
}

.bt30 {
  margin-bottom: 30px;
}

@media only screen and (max-width: 835px) {
  .bt30 {
    margin-bottom: 15px;
  }
}

.bt40 {
  margin-bottom: 40px;
}

@media only screen and (max-width: 835px) {
  .bt40 {
    margin-bottom: 30px;
  }
}

.bt50 {
  margin-bottom: 50px;
}

@media only screen and (max-width: 835px) {
  .bt50 {
    margin-bottom: 30px;
  }
}

.bt70 {
  margin-bottom: 70px;
}

@media only screen and (max-width: 1200px) {
  .bt70 {
    margin-bottom: 50px;
  }
}

@media only screen and (max-width: 1024px) {
  .bt70 {
    margin-bottom: 40px;
  }
}

@media only screen and (max-width: 835px) {
  .bt70 {
    margin-bottom: 30px;
  }
}

.bt80 {
  margin-bottom: 80px;
}

@media only screen and (max-width: 1200px) {
  .bt80 {
    margin-bottom: 50px;
  }
}

@media only screen and (max-width: 1024px) {
  .bt80 {
    margin-bottom: 40px;
  }
}

@media only screen and (max-width: 835px) {
  .bt80 {
    margin-bottom: 30px;
  }
}

.bt100 {
  margin-bottom: 100px;
}

@media only screen and (max-width: 1200px) {
  .bt100 {
    margin-bottom: 80px;
  }
}

@media only screen and (max-width: 1024px) {
  .bt100 {
    margin-bottom: 50px;
  }
}

@media only screen and (max-width: 835px) {
  .bt100 {
    margin-bottom: 30px;
  }
}

.ctsp {
  margin: 40px auto;
}

@media only screen and (max-width: 640px) {
  .ctsp {
    margin: 30px auto;
  }
}

.ctsp2 {
  margin: 30px auto;
}

@media only screen and (max-width: 640px) {
  .ctsp2 {
    margin: 20px auto;
  }
}

.bssp {
  margin: 20px auto;
}

@media only screen and (max-width: 640px) {
  .bssp {
    margin: 15px auto;
  }
}

.spsp {
  margin: 0 auto 20px auto !important;
}

@media only screen and (max-width: 835px) {
  .spsp {
    margin: 0 auto 15px auto !important;
  }
}

.pd70 {
  padding: 70px 0;
}

@media only screen and (max-width: 1000px) {
  .pd70 {
    padding: 50px 0;
  }
}

@media only screen and (max-width: 835px) {
  .pd70 {
    padding: 30px 0;
  }
}

a.tel_link {
  color: #333;
  opacity: 1;
}

.local_tel {
  margin: 1%;
  text-align: left;
}

.local_tel a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "open-sans", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.875rem;
  color: #1b1b1b;
}

@media (max-width: 1200px) {
  .local_tel a {
    font-size: calc(1.3125rem + 0.75vw) ;
  }
}

.local_tel a i {
  margin-right: 5px;
  color: #fff;
  font-size: 1.5rem;
  background: #57c6dd;
  border-radius: 50%;
  width: 45px;
  height: 45px;
  line-height: 45px;
  text-align: center;
}

@media (max-width: 1200px) {
  .local_tel a i {
    font-size: calc(1.275rem + 0.3vw) ;
  }
}

.local_tel a p {
  color: #57c6dd;
}

.local_tel a:hover {
  opacity: 1 !important;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.local_tel span {
  font-size: 0.875rem;
  letter-spacing: normal;
  margin-top: 5px;
  line-height: 1.5em !important;
  display: block;
}

@media only screen and (max-width: 835px) {
  .brdnt {
    text-align: left !important;
  }
  .brdnt br {
    display: none;
  }
  .brdnt div {
    text-align: left !important;
  }
  .brdnt div br {
    display: none;
  }
}

@media only screen and (max-width: 640px) {
  .brdn {
    text-align: left !important;
  }
  .brdn br {
    display: none;
  }
  .brdn div, .brdn article, .brdn h2, .brdn h3 {
    text-align: left !important;
  }
  .brdn div br, .brdn article br, .brdn h2 br, .brdn h3 br {
    display: none;
  }
}

@media screen and (min-width: 836px) {
  .brdnpc br {
    display: none;
  }
}

@media screen and (min-width: 641px) {
  .brdnpct br {
    display: none;
  }
}

@media only screen and (max-width: 640px) {
  .CLS table tr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

@media only screen and (max-width: 640px) {
  .tblscr table {
    table-layout: auto !important;
  }
}

.tblscr table .ttl {
  background: #e6fafe;
}

.tblscr table .ttl div {
  font-weight: 500;
}

.tblscr table .price {
  font-family: "open-sans", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #1b1b1b;
}

.tblscr table .price div {
  font-weight: 600;
}

.company_DL dl {
  line-height: 1.8em !important;
}

.company_DL dt {
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
  background: #f5f5f5;
  font-weight: 500;
  min-width: 95px;
}

@media only screen and (max-width: 640px) {
  .company_DL dl {
    display: block !important;
  }
  .company_DL dl dt {
    width: 100% !important;
    border-right: 1px solid #ccc !important;
  }
  .company_DL dl:last-child dt {
    border-bottom: none !important;
  }
  .company_DL dl dd {
    width: 100% !important;
  }
}

.company_DL2 {
  background: none !important;
}

.company_DL2 dl {
  line-height: 2.5em;
}

.company_DL2 dl dt {
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
  background: none !important;
  border-bottom: 1px solid #3db4cc !important;
  min-width: 110px;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.company_DL2 dl dd {
  background: none !important;
  border-bottom: 1px solid rgba(204, 204, 204, 0.8) !important;
}

.company_DL2 dl:last-of-type dt {
  border-bottom: 1px solid #3db4cc !important;
}

.company_DL2a {
  background: none !important;
}

.company_DL2a dl {
  padding: 10px 0;
}

.company_DL2a dl dt {
  font-weight: 500;
  color: #1b1b1b;
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
  background: none !important;
  border-bottom: 2px solid #cccccc !important;
}

.company_DL2a dl dd {
  background: none !important;
  border-bottom: 2px solid rgba(204, 204, 204, 0.5) !important;
}

.company_DL2a dl:last-of-type dt {
  border-bottom: 2px solid #cccccc !important;
}

@media only screen and (max-width: 640px) {
  .company_DL2a dl {
    display: block !important;
  }
  .company_DL2a dl dt {
    width: 100% !important;
    border-right: 2px solid #cccccc !important;
    border-left: 2px solid #cccccc !important;
    background: #cccccc !important;
  }
  .company_DL2a dl dd {
    width: 100% !important;
    border-bottom: 2px solid #ccc !important;
    border-left: 2px solid #ccc !important;
    border-right: 2px solid #ccc !important;
  }
}

.company_DL3 {
  background: none !important;
}

.company_DL3 dl dt {
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
  background: none !important;
  border-bottom: 1px dashed #1b1b1b !important;
  min-width: 80px;
}

.company_DL3 dl dd {
  background: none !important;
  border-bottom: 1px dashed rgba(51, 51, 51, 0.3) !important;
}

.form_wrap dl dd > div {
  display: block !important;
}

@media only screen and (max-width: 835px) {
  .fancybox-toolbar {
    top: 50px !important;
  }
}

@media screen and (min-width: 1501px) {
  .fancybox-navigation .fancybox-button--arrow_right {
    right: 60px !important;
  }
}

.company_01 h3 {
  font-size: 1.3125rem;
  margin-bottom: 15px;
}

@media (max-width: 1200px) {
  .company_01 h3 {
    font-size: calc(1.25625rem + 0.075vw) ;
  }
}

@media only screen and (max-width: 835px) {
  .company_01 h3 {
    margin-bottom: 10px;
  }
}

.company_01 .name {
  font-size: 1.05em;
  text-align: right !important;
}

.enkaku_box {
  margin-top: 50px;
  position: relative;
  padding-bottom: 20px;
  padding-left: 60px;
}

.enkaku_box:after {
  position: absolute;
  top: 0;
  left: 15px;
  width: 3px;
  height: 100%;
  content: '';
  background: #57c6dd;
}

.enkaku_box dl {
  margin-bottom: 20px;
  padding-bottom: 20px !important;
  border-bottom: 1px dotted #999 !important;
}

.enkaku_box dl dt {
  min-width: 130px !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end !important;
      -ms-flex-align: end !important;
          align-items: flex-end !important;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  color: #57c6dd;
  font-size: 1rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
}

.enkaku_box dl dt:before {
  position: absolute;
  z-index: 0;
  top: 0;
  bottom: 0;
  left: -52px;
  display: block;
  width: 15px;
  height: 15px;
  margin: auto;
  content: '';
  border-radius: 10px;
  background: #57c6dd;
}

.enkaku_box dl dt:after {
  position: absolute;
  z-index: 0;
  top: 0;
  bottom: 0;
  left: -40px;
  display: block;
  width: 15%;
  height: 1px;
  margin: auto;
  content: '';
  background: #666;
}

@media only screen and (max-width: 640px) {
  .enkaku_box dl dt {
    min-width: 120px !important;
  }
}

.pan1 ol {
  margin: 20px auto 0 auto;
  text-align: right;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.pan1 ol .kasou {
  padding-left: 30px;
  position: relative;
}

.pan1 ol .kasou a {
  color: #333333 !important;
  pointer-events: none;
}

.pan1 ol .kasou:after {
  font-family: "Font Awesome 5 Pro";
  content: "\f054";
  /*アイコンのユニコード*/
  font-weight: 600;
  font-size: 0.875rem;
  position: absolute;
  /*絶対位置*/
  left: 10px;
  /*アイコンの位置*/
  top: 0;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

@media only screen and (max-width: 835px) {
  .pan1 ol {
    display: none;
  }
}

.pan2 ol {
  color: rgba(255, 255, 255, 0.8);
}

.pan2 ol a {
  color: rgba(255, 255, 255, 0.8);
}

.imgL {
  max-width: 100% !important;
}

.error2 {
  margin-top: 100px;
}

.error2 h2 {
  font-size: 40px;
  font-weight: bold;
}

.error2 a {
  border: 1px solid #ccc;
  padding: 3px 20px;
  display: inline-block;
}

@media only screen and (max-width: 835px) {
  .error2 {
    margin-top: 50px;
  }
}

.img100 img {
  display: block !important;
  width: 100% !important;
}

section form h2.mail.title {
  display: none;
}

.fitcon {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-align: left;
  margin-inline: auto;
}

.step_title {
  margin: 50px auto 20px auto;
}

.step_title h2, .step_title h3, .step_title h4 {
  font-size: 1.3125rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  border-bottom: 1px dashed #aaa;
  padding-bottom: 5px;
}

@media (max-width: 1200px) {
  .step_title h2, .step_title h3, .step_title h4 {
    font-size: calc(1.25625rem + 0.075vw) ;
  }
}

.step_title h2 .num, .step_title h3 .num, .step_title h4 .num {
  font-size: 1.5rem;
  background: #57c6dd;
  border-radius: 5px;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #fff;
  padding: 0 5px;
  margin-right: 5px;
}

@media (max-width: 1200px) {
  .step_title h2 .num, .step_title h3 .num, .step_title h4 .num {
    font-size: calc(1.275rem + 0.3vw) ;
  }
}

@media only screen and (max-width: 835px) {
  .step_title {
    margin: 30px auto 15px auto;
  }
}

.step_title2, .step_title3 {
  margin: 50px auto 20px auto;
}

.step_title2 h3, .step_title3 h3 {
  font-size: 1.5rem;
  font-weight: 500;
  color: #1b1b1b;
  position: relative;
  border-top: solid 2px rgba(220, 200, 149, 0.3);
  border-bottom: solid 2px rgba(220, 200, 149, 0.3);
  background: rgba(220, 200, 149, 0.1);
  line-height: 1.4;
  padding: 0.2em;
}

@media (max-width: 1200px) {
  .step_title2 h3, .step_title3 h3 {
    font-size: calc(1.275rem + 0.3vw) ;
  }
}

.step_title2 h3:after, .step_title3 h3:after {
  /*タブ*/
  position: absolute;
  font-family: "Font Awesome 5 pro", "open-sans", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  content: '\f0a6\ POINT';
  font-weight: 600;
  font-size: 1rem;
  background: #dcc895;
  color: #fff;
  left: 0px;
  bottom: 100%;
  border-radius: 3px 3px 0 0;
  padding: 5px 10px 3px;
  line-height: 1;
  letter-spacing: 0.05em;
}

@media only screen and (max-width: 835px) {
  .step_title2, .step_title3 {
    margin: 40px auto 15px auto;
  }
  .step_title2 h3, .step_title3 h3 {
    font-size: 1.125rem;
  }
}

.step_title3 h3:after {
  content: '\f4b6\ voice';
}

.step_title4 {
  margin: 40px auto 20px auto;
}

.step_title4 h2, .step_title4 h3, .step_title4 h4 {
  color: #1b1b1b;
  font-size: 1.5rem;
  font-weight: bold;
  padding-bottom: 10px;
  border-bottom: dotted 2px rgba(204, 204, 204, 0.5);
}

@media (max-width: 1200px) {
  .step_title4 h2, .step_title4 h3, .step_title4 h4 {
    font-size: calc(1.275rem + 0.3vw) ;
  }
}

.step_title4 h2 .num, .step_title4 h3 .num, .step_title4 h4 .num {
  font-family: "open-sans", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: normal;
  font-size: 2em;
  color: #57c6dd;
  font-style: oblique;
  margin-right: 15px;
}

@media only screen and (max-width: 1024px) {
  .step_title4 h2, .step_title4 h3, .step_title4 h4 {
    font-size: 1.125rem;
  }
  .step_title4 h2 .num, .step_title4 h3 .num, .step_title4 h4 .num {
    margin-right: 10px;
  }
}

@media only screen and (max-width: 835px) {
  .step_title4 {
    margin: 30px auto 20px auto;
  }
  .step_title4 h2 {
    font-size: 1.3125rem;
  }
}

@media only screen and (max-width: 835px) and (max-width: 1200px) {
  .step_title4 h2 {
    font-size: calc(1.25625rem + 0.075vw) ;
  }
}

.step_arrow {
  margin-top: 60px;
  position: relative;
}

.step_arrow:after {
  content: "";
  width: 48px;
  height: 48px;
  background: url(../images/common/arrow_hover.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: -50px;
  left: 0;
  right: 0;
  margin: 0  auto;
  z-index: -1;
  display: block;
  visibility: inherit;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

@media only screen and (max-width: 835px) {
  .step_arrow:after {
    width: 30px;
    height: 30px;
    top: -40px;
  }
}

@media only screen and (max-width: 835px) {
  .step_arrow {
    margin-top: 50px;
  }
}

.flow_arrow {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 30px 60px 0 60px;
  border-color: #57c6dd transparent transparent transparent;
  margin: 20px auto;
}

@media only screen and (max-width: 835px) {
  .flow_arrow {
    margin: 10px auto 15px auto;
  }
}

.staff-title h2, .staff-title h3, .staff-title h4 {
  font-size: 1.25rem;
  color: rgba(255, 255, 255, 0.8);
  position: relative;
  border-top: solid 2px rgba(16, 86, 134, 0.3);
  border-bottom: solid 2px rgba(16, 86, 134, 0.3);
  background: rgba(85, 85, 85, 0.1);
  line-height: 1.4;
  padding: 0.2em;
}

.staff-title h2:after, .staff-title h3:after, .staff-title h4:after {
  /*タブ*/
  position: absolute;
  font-family: "Font Awesome 5 pro";
  content: '\f7f3\ STAFF';
  background: #105686;
  color: #fff;
  left: 0px;
  bottom: 100%;
  border-radius: 3px 3px 0 0;
  padding: 5px 10px 3px;
  font-size: 0.7em;
  line-height: 1;
  letter-spacing: 0.05em;
}

@media only screen and (max-width: 835px) {
  .staff-title h2, .staff-title h3, .staff-title h4 {
    font-size: 1.125rem;
  }
}

.list01 dl, .list02 dl {
  border-bottom: 1px dashed #ccc;
  font-size: 1rem;
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: reverse !important;
      -ms-flex-direction: row-reverse !important;
          flex-direction: row-reverse !important;
}

.list01 dl dd, .list02 dl dd {
  border: none !important;
  background: none !important;
  color: #333;
  padding: 10px 0 !important;
}

.list01 dl dd .red, .list02 dl dd .red {
  color: #555;
}

.list01 dl dd .small, .list02 dl dd .small {
  font-size: 0.8em;
}

.list01 dl dd .bold, .list02 dl dd .bold {
  font-weight: bold;
}

.list01 dl dt, .list02 dl dt {
  border: none !important;
  background: none !important;
  text-align: right !important;
  padding: 10px 0 !important;
  min-width: 70px;
  font-weight: 700;
  color: #333;
  font-family: "open-sans", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  -webkit-box-align: end !important;
      -ms-flex-align: end !important;
          align-items: flex-end !important;
  align-items: flex-end !important;
}

@media only screen and (max-width: 640px) {
  .list01 dl, .list02 dl {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
            flex-direction: column-reverse !important;
  }
  .list01 dl dd, .list02 dl dd, .list01 dl dt, .list02 dl dt {
    width: 100% !important;
  }
  .list01 dl dd, .list02 dl dd {
    padding: 5px !important;
  }
  .list01 dl dt, .list02 dl dt {
    padding: 0 !important;
    font-size: 0.9375rem;
  }
}

.list_a dl {
  border-bottom: 1px dashed #aaa;
  font-size: 1.1em;
  padding-bottom: 5px;
}

.list_a dl:not(:last-child) {
  margin-bottom: 10px;
}

.list_a dl dt {
  border: none !important;
  background: #57c6dd !important;
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
  color: #fff;
  border-radius: 3px;
  min-width: 250px;
}

.list_a dl dd {
  border: none !important;
  background: none !important;
  text-align: right !important;
  padding: 0 !important;
  min-width: 180px;
  color: #1b1b1b;
  margin-left: 5px;
}

.list_a dl dd .price {
  display: block;
  font-weight: 600;
  color: #1b1b1b;
  font-family: "open-sans", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .list_a dl dd {
    font-size: 1em;
  }
  .list_a dl dd br {
    display: none;
  }
}

@media only screen and (max-width: 640px) {
  .list_a dl {
    display: block !important;
  }
  .list_a dl dd, .list_a dl dt {
    width: 100% !important;
  }
  .list_a dl dd {
    font-size: 1em;
    margin-left: 0;
    margin-top: 5px;
    text-align: center !important;
  }
  .list_a dl dd br {
    display: none;
  }
}

.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 rgba(85, 85, 85, 0.3);
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.list03 dl dt {
  border: none !important;
  background: none !important;
  color: #e8dbbb;
  font-weight: bold;
  min-width: 280px;
}

.list03 dl dd {
  border: none !important;
  background: none !important;
  text-align: right !important;
}

.list03 dl dd .price {
  color: #57c6dd;
  font-weight: 600;
}

@media only screen and (max-width: 835px) {
  .list03 dl {
    display: block !important;
  }
  .list03 dl dd, .list03 dl dt {
    width: 100% !important;
  }
  .list03 dl dt {
    padding: 5px !important;
  }
  .list03 dl dd {
    padding: 0 !important;
    text-align: left !important;
    font-size: 0.9em;
  }
}

.list04 dl {
  border-bottom: 1px dashed rgba(85, 85, 85, 0.3);
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.list04 dl dt {
  border: none !important;
  background: none !important;
  color: #e8dbbb;
  font-weight: bold;
  min-width: 360px;
}

.list04 dl dd {
  border: none !important;
  background: none !important;
  text-align: right !important;
}

.list04 dl dd .price {
  color: #57c6dd;
  font-weight: 600;
}

@media only screen and (max-width: 835px) {
  .list04 dl {
    display: block !important;
  }
  .list04 dl dd, .list04 dl dt {
    width: 100% !important;
    min-width: auto;
  }
  .list04 dl dd {
    text-align: left !important;
  }
  .list04 dl dd br {
    display: none;
  }
  .list04 dl dd .price {
    display: block;
    width: 100%;
    text-align: right;
  }
  .list04 dl dt {
    padding: 5px !important;
  }
  .list04 dl dd {
    padding: 0 !important;
  }
}

.number_list ul li {
  margin-bottom: 10px;
}

.number_list ul li .num {
  display: inline-block;
  background: #57c6dd;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  color: #fff;
  font-size: 1.5rem;
  font-family: "open-sans", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  margin-right: 5px;
}

@media (max-width: 1200px) {
  .number_list ul li .num {
    font-size: calc(1.275rem + 0.3vw) ;
  }
}

@media only screen and (max-width: 835px) {
  .number_list ul li .num {
    width: 35px;
    height: 35px;
    line-height: 35px;
    font-size: 1.125rem;
  }
}

.result_01 ul li {
  width: 31%;
  margin: 0 1% 15px 1%;
  border-bottom: 1px dotted #ccc;
}

@media only screen and (max-width: 835px) {
  .result_01 ul li {
    width: 48%;
  }
}

@media only screen and (max-width: 640px) {
  .result_01 ul li {
    font-size: 0.875rem;
  }
}

@media screen and (max-width: 400px) {
  .result_01 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .result_01 ul li {
    width: 100%;
  }
  .result_01 ul li:not(:last-child) {
    margin: 0 auto 10px auto;
  }
}

.anc_btn ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.anc_btn ul li {
  width: 32%;
  margin: 1%;
}

.anc_btn ul li:nth-child(3n+1) {
  margin-left: 0;
}

.anc_btn ul li:nth-child(3n+3) {
  margin-right: 0;
}

.anc_btn ul li a {
  text-align: center;
  position: relative;
  z-index: 2;
  font-weight: 300;
  font-size: 1.125rem;
  font-weight: 400;
  -webkit-transition: all .5s;
  transition: all .5s;
  display: block;
  margin: 0 auto;
  width: 100%;
  padding: 10px;
  background: #57c6dd;
  color: #fff;
  border-radius: 3px;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.anc_btn ul li a:after {
  font-family: "Font Awesome 5 Pro";
  content: "\f054";
  /*アイコンのユニコード*/
  font-weight: 600;
  font-size: 0.875rem;
  position: absolute;
  /*絶対位置*/
  right: 10px;
  /*アイコンの位置*/
  top: 0;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.anc_btn ul li a:hover {
  opacity: 1 !important;
  background: #d4f7fe;
  color: #fff;
}

.anc_btn ul li a:hover:after {
  -webkit-transform: translate(5px, 0);
          transform: translate(5px, 0);
}

@media only screen and (max-width: 835px) {
  .anc_btn ul li a {
    font-size: 1rem;
  }
}

@media only screen and (max-width: 835px) {
  .anc_btn ul li {
    width: 49%;
  }
  .anc_btn ul li:nth-child(2n+1) {
    margin: 0 1% 1% 0;
  }
  .anc_btn ul li:nth-child(2n) {
    margin: 0 0 1% 1%;
  }
  .anc_btn ul li a {
    padding: 10px;
  }
}

@media screen and (max-width: 400px) {
  .anc_btn ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .anc_btn ul li {
    width: 100%;
    margin: 0 auto 15px auto !important;
  }
}

.anc_btn2 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.anc_btn2 ul li {
  width: 31.333%;
  margin: 1%;
  position: relative;
  z-index: 2;
  background: #57c6dd;
  border-radius: 3px;
  padding: 10px;
  color: #fff;
  text-align: center !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

@media only screen and (max-width: 1000px) {
  .anc_btn2 ul li {
    width: 31.333%;
  }
}

@media only screen and (max-width: 835px) {
  .anc_btn2 ul li {
    width: 48%;
  }
  .anc_btn2 ul li a {
    padding: 10px;
  }
}

@media screen and (max-width: 350px) {
  .anc_btn2 ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .anc_btn2 ul li {
    width: 100%;
    margin: 0 auto 15px;
  }
}

.qa_FLX .box {
  width: 100%;
  background: #fff;
  padding: 10px;
}

.qa_FLX .box:first-child {
  margin-bottom: 10px;
}

.qa_FLX .box:first-child > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.qa_FLX .box:first-child > div .icon {
  background: #57c6dd;
  width: 35px;
  min-width: 35px;
  height: 35px;
  line-height: 35px;
  margin-right: 10px;
  color: #fff;
  display: block;
  font-size: 1.5rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  text-align: center;
}

@media (max-width: 1200px) {
  .qa_FLX .box:first-child > div .icon {
    font-size: calc(1.275rem + 0.3vw) ;
  }
}

.qa_FLX .box:first-child > div .txt {
  font-weight: bold;
  color: #1b1b1b;
}

.qa_FLX .box:nth-child(2) > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.qa_FLX .box:nth-child(2) > div .icon {
  background: rgba(85, 85, 85, 0.8);
  width: 35px;
  min-width: 35px;
  height: 35px;
  height: 35px;
  line-height: 35px;
  margin-right: 10px;
  color: #fff;
  display: block;
  font-size: 1.5rem;
  text-align: center;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

@media (max-width: 1200px) {
  .qa_FLX .box:nth-child(2) > div .icon {
    font-size: calc(1.275rem + 0.3vw) ;
  }
}

@media only screen and (max-width: 640px) {
  .qa_FLX .box {
    padding: 0 0 10px 0;
  }
  .qa_FLX .box:first-child, .qa_FLX .box:nth-child(2) {
    width: 100%;
  }
  .qa_FLX .box:first-child > div, .qa_FLX .box:nth-child(2) > div {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
  }
  .qa_FLX .box:first-child > div .icon, .qa_FLX .box:nth-child(2) > div .icon {
    width: 100%;
  }
}

.qa_FLX:not(:last-child) {
  padding-bottom: 10px;
  border-bottom: 1px solid #ccc;
  margin-bottom: 15px;
}

.qaBtn {
  color: #555;
  font-weight: bold;
  text-decoration: underline;
}

.qaOpen {
  display: none;
}

.qaOpen .ttl {
  color: #1b1b1b;
  font-weight: 600;
  font-size: 1rem;
}

.qaOpen .sub_ttl {
  background: #57c6dd;
  color: #fff;
  font-weight: 600;
  padding: 3px 10px;
}

.qa_FLX2 dl {
  display: block !important;
  line-height: normal;
}

.qa_FLX2 dl dt {
  padding: 15px 15px 15px 50px !important;
  background-color: #eeeeee !important;
  border: none !important;
  color: #1b1b1b;
  font-weight: 500;
  cursor: pointer;
  cursor: hand;
  position: relative;
}

.qa_FLX2 dl dt:before {
  content: "Q.";
  display: block;
  position: absolute;
  top: 10px;
  left: 15px;
  color: #57c6dd;
  font-size: 1.5rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: normal;
}

@media (max-width: 1200px) {
  .qa_FLX2 dl dt:before {
    font-size: calc(1.275rem + 0.3vw) ;
  }
}

.qa_FLX2 dl dt:after {
  font-family: "Font Awesome 5 Pro";
  content: "\f054";
  /*アイコンのユニコード*/
  position: absolute;
  /*絶対位置*/
  right: 10px;
  /*アイコンの位置*/
  top: 0;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #57c6dd;
  font-size: 0.75rem;
}

.qa_FLX2 dl dt:hover {
  opacity: 0.7 !important;
}

.qa_FLX2 dl dt:hover:after {
  -webkit-transform: translate(3px, 0);
          transform: translate(3px, 0);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.qa_FLX2 dl dd {
  background: none !important;
  padding: 0 0 0 15px !important;
  border: none !important;
  display: none;
  margin-top: 20px;
}

.qa_FLX2 dl:not(:last-child) {
  margin-bottom: 20px;
}

@media only screen and (max-width: 1000px) {
  .qa_FLX2 dl dt {
    font-size: 1rem;
  }
}

@media only screen and (max-width: 640px) {
  .qa_FLX2 dl:not(:last-child) {
    margin-bottom: 15px;
  }
  .qa_FLX2 dl dt {
    padding: 10px 20px 10px 30px !important;
    font-size: 0.9375rem;
  }
  .qa_FLX2 dl dt:before {
    font-size: 1.5rem;
    left: 10px;
  }
}

@media only screen and (max-width: 640px) and (max-width: 1200px) {
  .qa_FLX2 dl dt:before {
    font-size: calc(1.275rem + 0.3vw) ;
  }
}

@media only screen and (max-width: 640px) {
  .qa_FLX2 dl dt:after {
    right: 5px;
  }
}

.blog_wrap {
  position: relative;
  padding: 30px;
  border-radius: 10px;
  background-color: #fffcf6;
  -webkit-box-shadow: 0px 3px 6.65px 0.35px rgba(0, 0, 0, 0.15);
          box-shadow: 0px 3px 6.65px 0.35px rgba(0, 0, 0, 0.15);
}

@media only screen and (max-width: 835px) {
  .blog_wrap {
    padding: 30px 10px;
  }
}

.top_blog {
  height: 250px;
  overflow-y: auto;
}

.top_blog .blog_photo {
  display: none;
}

.top_blog .blog_list {
  border: none;
}

.top_blog .blog_list .blog_text {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 15px 10px;
}

.top_blog .blog_list .blog_text .blog_date {
  margin: 1%;
  color: #57c6dd;
  font-size: 1rem;
}

.top_blog .blog_list .blog_text h3 {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
  margin: 1%;
}

.top_blog .blog_list .blog_text h3 a span {
  color: #333;
}

@media only screen and (max-width: 640px) {
  .top_blog .blog_list .blog_text h3 {
    width: 100% !important;
  }
}

.top_blog .blog_list .blog_text ul {
  margin: 1%;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}

.top_blog .blog_list .blog_text ul li a {
  min-width: 100px;
  padding: 3px 5px;
  margin-right: 0;
  color: #1b1b1b;
  text-align: center;
  font-size: 0.8125rem;
  background: rgba(87, 198, 221, 0.2);
}

.top_blog .blog_list .blog_text ul li a:not(.blog_cate1) {
  display: none;
}

.top_blog .blog_list .blog_text .detail {
  display: none;
}

.top_blog .blog_list .blog_text ul {
  display: block;
}

@media only screen and (max-width: 640px) {
  .top_blog .blog_list .blog_text {
    position: relative;
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
    padding: 10px;
  }
  .top_blog .blog_list .blog_text ul {
    position: absolute;
    left: 115px;
    top: 10px;
  }
}

@media only screen and (max-width: 640px) {
  .top_blog {
    height: 250px;
  }
}

.blog {
  max-width: 1200px;
  margin: 80px auto 0;
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .blog {
    margin: 50px 10px 0 10px;
  }
}

@media only screen and (max-width: 640px) {
  .blog {
    margin: 30px 10px 0 10px;
  }
}

.blog .wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.blog .wrap aside {
  width: 28%;
  margin: 1%;
}

.blog .wrap aside nav {
  line-height: 2.0em;
}

.blog .wrap aside nav h3 {
  background: #555 !important;
}

.blog .wrap aside nav ul li .blogside span {
  margin-left: 5px;
  display: block;
}

.blog .wrap aside nav > a {
  background: #454545 !important;
}

.blog .wrap #contents {
  width: 68%;
  margin: 1%;
  padding: 0 !important;
  min-width: auto;
}

.blog .wrap #contents > article {
  border-bottom: 3px dotted #ccc;
  margin-bottom: 30px;
  padding-bottom: 30px;
}

.blog .wrap #contents > article .date {
  color: #57c6dd !important;
}

.blog .wrap #contents > article .date {
  color: #57c6dd !important;
}

.blog .wrap #contents > article h1, .blog .wrap #contents > article h2 {
  background: rgba(87, 198, 221, 0.8);
  color: #fff;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 20px;
  padding: 0.5em 0.5em 0.3em;
  margin-bottom: 20px;
}

.blog .wrap #contents > article .flex_images {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.blog .wrap #contents > article .flex_images img {
  width: 48%;
  margin: 1%;
}

@media only screen and (max-width: 835px) {
  .blog .wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .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 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .blog .wrap #contents article div img {
    width: 100%;
  }
}

.local_blog .blog_list {
  border: none;
}

.local_blog .blog_list > div .blog_text .blog_date {
  color: #57c6dd;
  font-family: "open-sans", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1rem;
}

.local_blog .blog_list > div .blog_text h3 {
  background: #dcc895;
  padding: 5px;
}

.local_blog .blog_list > div .blog_text h3 span {
  color: #fff;
}

.local_blog .blog_list > div .blog_text .detail {
  margin-top: 0;
  font-size: 0.9375rem;
}

.review_flx {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.review_flx .box_img {
  width: 18%;
  margin: 1%;
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: column !important;
          flex-direction: column !important;
}

.review_flx .box_img > .box {
  width: 100%;
  margin-bottom: 10px;
}

.review_flx .box_txt {
  width: 78%;
  margin: 1%;
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .review_flx .box_img {
    width: 23%;
  }
  .review_flx .box_txt {
    width: 73%;
  }
}

@media only screen and (max-width: 640px) {
  .review_flx {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .review_flx .box_img {
    width: 100%;
    margin: 0 auto 15px auto !important;
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important;
  }
  .review_flx .box_img > .box {
    width: 60%;
    margin: 0 auto;
  }
  .review_flx .box_txt {
    width: 100%;
    margin: 0 auto !important;
  }
}

.voice_wrap {
  border: 1px solid #ccc;
  -webkit-box-shadow: 0px 3px 7px 0px rgba(1, 0, 0, 0.2);
          box-shadow: 0px 3px 7px 0px rgba(1, 0, 0, 0.2);
  padding: 60px 20px 20px 20px;
  position: relative;
}

.voice_wrap .prof {
  position: absolute;
  top: 10px;
  right: 10px;
  font-size: 1.1em;
  background: #dcc895;
  padding: 10px;
  color: #fff;
  line-height: 1;
}

@media only screen and (max-width: 835px) {
  .voice_wrap {
    padding: 70px 10px 10px 10px;
  }
}

.voice_flx {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.voice_flx .box_img {
  width: 29%;
  margin: 0 1% 0 0;
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: column !important;
          flex-direction: column !important;
}

.voice_flx .box_img > .box {
  width: 100%;
  margin-bottom: 10px;
}

.voice_flx .box_txt {
  width: 69%;
  margin: 0 0 0 1%;
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .voice_flx .box_img {
    width: 23%;
  }
  .voice_flx .box_txt {
    width: 73%;
  }
}

@media only screen and (max-width: 640px) {
  .voice_flx {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .voice_flx .box_img {
    width: 100%;
    margin: 0 auto 15px auto !important;
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important;
  }
  .voice_flx .box_img > .box {
    width: 48%;
    margin: 1%;
  }
  .voice_flx .box_txt {
    width: 100%;
    margin: 0 auto !important;
  }
}

.staff_info dl {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background: rgba(230, 250, 254, 0.3);
  margin-bottom: 10px;
  padding: 5px;
  line-height: 1.5em;
}

.staff_info dl dt {
  font-size: 1.1em;
  color: #57c6dd;
  font-weight: 500;
  border-bottom: 1px dashed #ccc !important;
}

.voice_box, .voice_box2 {
  border: 1px solid #ccc;
  -webkit-box-shadow: 0px 3px 7px 0px rgba(1, 0, 0, 0.2);
          box-shadow: 0px 3px 7px 0px rgba(1, 0, 0, 0.2);
  padding: 50px 20px 20px 20px;
  position: relative;
}

.voice_box .prof, .voice_box2 .prof {
  position: absolute;
  top: 10px;
  right: 20px;
  color: #555;
}

@media only screen and (max-width: 835px) {
  .voice_box, .voice_box2 {
    padding: 50px 10px 10px 10px;
  }
  .voice_box .prof, .voice_box2 .prof {
    font-size: 0.9em;
    right: 10px;
  }
}

.voice_box2 {
  padding: 40px 20px 20px 20px;
}

@media only screen and (max-width: 835px) {
  .voice_box2 {
    padding: 30px 10px 10px 10px;
  }
}

.prod_flx .box {
  position: relative;
}

.prod_flx .box article > h3 {
  display: none;
}

.prod_flx .box article div {
  line-height: 1.7em;
}

.prod_flx .box article div h3 {
  margin: 5px 0;
  padding: 5px;
  background: rgba(69, 69, 69, 0.4);
  text-align: center;
  font-size: 1rem;
}

.prod_flx .box article div h3 .price {
  display: block;
  font-size: 0.875rem;
  color: rgba(51, 51, 51, 0.8);
}

@media only screen and (max-width: 640px) {
  .prod_flx .box article div h3 {
    font-size: 0.875rem;
    text-align: left;
    line-height: 1.5em;
  }
}

.prod_flx .box article div .anchor {
  position: absolute;
  top: 0;
}

@media only screen and (max-width: 835px) {
  #col_main .errorbg {
    padding: 0 !important;
  }
}

.flex1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.flex1._top {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

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

.flex1:before {
  width: calc(100% / 1 - 1%);
  content: "";
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.flex1:before {
  width: calc(100% / 1 - 1%);
  content: "";
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.flex1:after {
  width: calc(100% / 1 - 1%);
  content: "";
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}

.flex1 .box {
  width: calc(100% / 1 - 1%);
  margin-bottom: 2%;
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  ._tabwidth1 .box {
    width: 100%;
  }
  ._tabwidth2 .box {
    width: calc(100% / 2 - 1%);
  }
  ._tabwidth3 .box {
    width: calc(100% / 3 - 1%);
  }
}

@media only screen and (max-width: 640px) {
  ._spwidth1 .box {
    width: 100%;
  }
  ._spwidth2 .box {
    width: calc(100% / 2 - 1%);
  }
  ._spwidth3 .box {
    width: calc(100% / 3 - 1%);
  }
}

.flex1 .box img {
  width: 100% !important;
}

.flex2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.flex2._top {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

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

.flex2:before {
  width: calc(100% / 2 - 1%);
  content: "";
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.flex2:before {
  width: calc(100% / 2 - 1%);
  content: "";
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.flex2:after {
  width: calc(100% / 2 - 1%);
  content: "";
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}

.flex2 .box {
  width: calc(100% / 2 - 1%);
  margin-bottom: 2%;
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  ._tabwidth1 .box {
    width: 100%;
  }
  ._tabwidth2 .box {
    width: calc(100% / 2 - 1%);
  }
  ._tabwidth3 .box {
    width: calc(100% / 3 - 1%);
  }
}

@media only screen and (max-width: 640px) {
  ._spwidth1 .box {
    width: 100%;
  }
  ._spwidth2 .box {
    width: calc(100% / 2 - 1%);
  }
  ._spwidth3 .box {
    width: calc(100% / 3 - 1%);
  }
}

.flex2 .box img {
  width: 100% !important;
}

.flex3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.flex3._top {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

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

.flex3:before {
  width: calc(100% / 3 - 1%);
  content: "";
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.flex3:before {
  width: calc(100% / 3 - 1%);
  content: "";
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.flex3:after {
  width: calc(100% / 3 - 1%);
  content: "";
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}

.flex3 .box {
  width: calc(100% / 3 - 1%);
  margin-bottom: 2%;
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  ._tabwidth1 .box {
    width: 100%;
  }
  ._tabwidth2 .box {
    width: calc(100% / 2 - 1%);
  }
  ._tabwidth3 .box {
    width: calc(100% / 3 - 1%);
  }
}

@media only screen and (max-width: 640px) {
  ._spwidth1 .box {
    width: 100%;
  }
  ._spwidth2 .box {
    width: calc(100% / 2 - 1%);
  }
  ._spwidth3 .box {
    width: calc(100% / 3 - 1%);
  }
}

.flex3 .box img {
  width: 100% !important;
}

.flex4 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.flex4._top {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

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

.flex4:before {
  width: calc(100% / 4 - 1%);
  content: "";
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.flex4:before {
  width: calc(100% / 4 - 1%);
  content: "";
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.flex4:after {
  width: calc(100% / 4 - 1%);
  content: "";
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}

.flex4 .box {
  width: calc(100% / 4 - 1%);
  margin-bottom: 2%;
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  ._tabwidth1 .box {
    width: 100%;
  }
  ._tabwidth2 .box {
    width: calc(100% / 2 - 1%);
  }
  ._tabwidth3 .box {
    width: calc(100% / 3 - 1%);
  }
}

@media only screen and (max-width: 640px) {
  ._spwidth1 .box {
    width: 100%;
  }
  ._spwidth2 .box {
    width: calc(100% / 2 - 1%);
  }
  ._spwidth3 .box {
    width: calc(100% / 3 - 1%);
  }
}

.flex4 .box img {
  width: 100% !important;
}

.square._100 .square-inner:before {
  padding-top: 100%;
}

.square._75 .square-inner:before {
  padding-top: 75%;
}

.square._66 .square-inner:before {
  padding-top: 66%;
}

.square td .square-inner {
  display: block;
  position: relative;
}

.square td .square-inner:before {
  position: relative;
  z-index: 1;
  content: "";
  display: block;
  width: 100% !important;
}

.square td .square-inner img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit:cover;";
  width: 100% !important;
  height: 100% !important;
}

.square > .square-inner {
  display: block;
  position: relative;
}

.square > .square-inner .itext {
  float: none !important;
  margin-right: 0 !important;
}

.square > .square-inner .itext img {
  float: none !important;
  margin-right: 0 !important;
}

.square > .square-inner:before {
  position: relative;
  z-index: 1;
  content: "";
  display: block;
  width: 100% !important;
}

.square > .square-inner img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit:cover;";
  width: 100% !important;
  height: 100% !important;
}

.square > .box .itext {
  float: none !important;
  margin-right: 0 !important;
}

.square > .box .itext img {
  float: none !important;
  margin-right: 0 !important;
}

.square > .box .square-inner {
  display: block;
  position: relative;
}

.square > .box .square-inner:before {
  position: relative;
  z-index: 1;
  content: "";
  display: block;
  width: 100% !important;
}

.square > .box .square-inner img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit:cover;";
  width: 100% !important;
  height: 100% !important;
}

.bg100 {
  margin-right: calc(((100vw - 100%) / 2.05) * -1) !important;
  margin-left: calc(((100vw - 100%) / 2.05) * -1) !important;
}

.flex2cl_01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: relative;
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .flex2cl_01 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

.flex2cl_01 .flxL {
  width: 57%;
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .flex2cl_01 .flxL {
    width: 100%;
  }
}

.flex2cl_01 .flxR {
  width: 40%;
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .flex2cl_01 .flxR {
    width: 100%;
    margin-bottom: 20px;
  }
}

.flex2cl_01 .flxR .img {
  width: 100%;
}

.flex2cl_01 .flxR .img img {
  width: 100% !important;
}

.flex2cl_02 {
  border: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  margin-left: -4%;
  margin-bottom: 50px;
}

@media screen and (max-width: 1200px) {
  .flex2cl_02 {
    margin-left: -2.4390%;
  }
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .flex2cl_02 {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-left: 0;
  }
}

.flex2cl_02 .box {
  position: relative;
  width: 46%;
  margin-left: 4%;
  margin-bottom: 20px;
}

@media screen and (max-width: 1200px) {
  .flex2cl_02 .box {
    width: 47.5609%;
    margin-left: 2.4390%;
    display: block;
  }
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .flex2cl_02 .box {
    width: 100%;
    margin-left: 0;
  }
}

.flex2cl_02 .box img {
  width: 100% !important;
}

.flex2cl_02 .box tr:nth-child(2) {
  font-size: 18px;
  font-weight: 700;
}

.flex2cl_02 .box tr td {
  padding: 0 !important;
  border: 0 !important;
}

.flex3cl {
  border: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  margin-left: -2.43902%;
}

@media screen and (max-width: 1200px) {
  .flex3cl {
    margin-left: -2.4390%;
  }
}

@media only screen and (max-width: 640px) {
  .flex3cl {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-left: 0;
  }
}

.flex3cl .box {
  position: relative;
  width: 30.89431%;
  margin-left: 2.43902%;
  margin-bottom: 30px;
}

@media screen and (max-width: 1200px) {
  .flex3cl .box {
    width: 47.5609%;
    margin-left: 2.4390%;
    display: block;
    margin-bottom: 15px;
  }
}

@media only screen and (max-width: 640px) {
  .flex3cl .box {
    width: 100%;
    margin-left: 0;
    margin-bottom: 20px;
  }
}

.flex3cl .box img {
  width: 100% !important;
}

.flex3cl .box tr:nth-child(2) {
  font-size: 18px;
  font-weight: 700;
}

.flex3cl .box tr td {
  padding: 0 !important;
  border: 0 !important;
}

.flex4cl {
  border: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  margin-left: -3.22581%;
}

@media screen and (max-width: 1200px) {
  .flex4cl {
    margin-left: -2.4390%;
  }
}

@media only screen and (max-width: 640px) {
  .flex4cl {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-left: 0;
  }
}

.flex4cl .box {
  position: relative;
  width: 21.77419%;
  margin-left: 3.22581%;
  margin-bottom: 30px;
}

@media screen and (max-width: 1200px) {
  .flex4cl .box {
    width: 47.5609%;
    margin-left: 2.4390%;
    display: block;
    margin-bottom: 15px;
  }
}

@media only screen and (max-width: 640px) {
  .flex4cl .box {
    width: 100%;
    margin-left: 0;
    margin-bottom: 20px;
  }
}

.flex4cl .box img {
  width: 100% !important;
}

.flex4cl .box tr:nth-child(2) {
  font-size: 18px;
  font-weight: 700;
}

.flex4cl .box tr td {
  padding: 0 !important;
  border: 0 !important;
}

.slide-bottom {
  opacity: 0;
  -webkit-transform: translate(0, 50px);
          transform: translate(0, 50px);
  -webkit-transition: all 1000ms;
  transition: all 1000ms;
}

.slide-bottom.scrollin {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

@-webkit-keyframes slide-top {
  0% {
    opacity: 0;
    -webkit-transform: translate(0, 50px);
            transform: translate(0, 50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}

@keyframes slide-top {
  0% {
    opacity: 0;
    -webkit-transform: translate(0, 50px);
            transform: translate(0, 50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}

.slide-top {
  -webkit-animation-name: slide-top;
          animation-name: slide-top;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
}

.slide-top2 {
  opacity: 0.4;
  -webkit-transform: translate(0, -50px);
          transform: translate(0, -50px);
  -webkit-transition: all 1000ms;
  transition: all 1000ms;
}

.slide-top2.scrollin {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.slide-right {
  opacity: 0;
  -webkit-transform: translate(100px, 0px);
          transform: translate(100px, 0px);
  -webkit-transition: all 2500ms;
  transition: all 2500ms;
}

.slide-right.scrollin {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.slide-left {
  opacity: 0;
  -webkit-transform: translate(-100px, 0px);
          transform: translate(-100px, 0px);
  -webkit-transition: all 2500ms;
  transition: all 2500ms;
}

.slide-left.scrollin {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.slide-left2 {
  opacity: 0;
  -webkit-transform: translate(-100px, 0px);
          transform: translate(-100px, 0px);
  -webkit-transition: all 1000ms;
  transition: all 1000ms;
}

.slide-left2.scrollin {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.img {
  position: relative;
}

.img img {
  width: 100% !important;
}

.img:before {
  -webkit-transition: all 1.5s ease .5s;
  transition: all 1.5s ease .5s;
  content: "";
  background: #57c6dd;
  width: 100%;
  position: absolute;
  height: 100%;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  display: block;
  z-index: 1;
}

.img.aaaa:before {
  overflow: hidden;
  width: 0;
}

.sns #media {
  margin: 70px auto 0 auto;
}

@media only screen and (max-width: 835px) {
  .sns #media {
    margin: 30px auto 0 auto;
  }
}

.sns #media .row {
  max-width: 1000px;
  margin: 0 auto;
  width: 95%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

.sns #media .row .box {
  width: 32%;
  margin: 0 1%;
}

.sns #media .row .box:nth-child(3n+1) {
  margin: 0 1% 2% 0;
}

.sns #media .row .box:nth-child(3n+2) {
  margin: 0 1% 2% 1%;
}

.sns #media .row .box:nth-child(3n+3) {
  margin: 0 0 2% 1%;
}

.sns #media .row .box h3, .sns #media .row .box p {
  display: none;
}

@media screen and (max-width: 350px) {
  .sns #media .row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .sns #media .row .box {
    width: 100%;
    margin: 0 auto !important;
  }
  .sns #media .row .box:not(:last-child) {
    margin-bottom: 15px !important;
  }
}

.sns #more a {
  margin: 0 auto;
  display: block;
  width: 100%;
  max-width: 350px;
  background: #fff;
  padding: 15px;
  color: #57c6dd;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.75rem;
  border: 3px solid #57c6dd;
  position: relative;
}

@media (max-width: 1200px) {
  .sns #more a {
    font-size: calc(1.3rem + 0.6vw) ;
  }
}

.sns #more a:before {
  position: absolute;
  content: '';
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  border: 1px dotted rgba(87, 198, 221, 0.5);
  margin: 5px;
}

.sns #more a:hover {
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.br3 {
  border-radius: 3px;
}

.br5 {
  border-radius: 5px;
}

.br10 {
  border-radius: 10px;
}

div.items > article a {
  color: #111;
  text-decoration: none !important;
  font-size: 16px;
}

div.under ul li a {
  font-weight: 400;
  font-family: "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", "a-otf-ryumin-pr6n", serif;
  opacity: 1;
  border: 1px solid #333;
  color: #333 !important;
  padding: 10px;
}

div.under ul li a:hover {
  border: 1px solid #b0ddd9;
  background: #b0ddd9;
  color: #fff !important;
}

div.select > select {
  height: 100%;
}

div.search form input {
  padding: 10px 37px 10px 5px;
}

div.order ul li a {
  color: #111;
}

div.items > article p.price {
  color: #dcc895;
}

div.crumb {
  display: none;
}

div.item_view div.item_option {
  width: 100% !important;
}

div.item_option dl, button.addcart {
  width: 50% !important;
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  div.item_option dl, button.addcart {
    margin: 0 auto;
  }
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .addcart {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

div.item_view div.struct {
  display: block;
}

div.photo div.large {
  width: auto;
}

div.photo {
  margin-left: 0;
}

h2.title_h2 {
  background: none !important;
  border-top: none !important;
  border-bottom: 1px solid #CCCCCC;
  font-size: 20px !important;
  line-height: 1.3;
  margin: 65px 0 20px !important;
  padding: 10px !important;
}

h2.title_h2 span {
  border: none !important;
  padding: 0 !important;
}

ul.item_list li {
  margin-bottom: 10px !important;
}

ul.item_list li h3.title_h3 {
  font-size: 18px !important;
}

.btn_cart a {
  background: url(../images/common/ico_cart_w.png) no-repeat 10px 12px #000000 !important;
  background-size: 30px auto !important;
  color: #FFFFFF !important;
  display: block !important;
  padding: 10px 10px 10px 50px !important;
  width: 100% !important;
  border: 1px solid #ffffff;
}

.btn_cart a:hover {
  background: url(../images/common/ico_cart_w.png) no-repeat 10px 12px #CCCCCC !important;
  background-size: 30px auto !important;
}

.sort_catalog {
  overflow: hidden;
}

.sort_catalog ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.item_title, .wishlist {
  margin: 0 !important;
}

.shop_cont h2.title_h2, .item_info h2.title_h2 {
  border-top: 2px solid #CCCCCC;
}

.shop_cont a, .item_info a {
  color: #CCCCCC;
}

.shop_cont a:hover, .item_info a:hover {
  text-decoration: none;
}

.item_title h2 {
  border-top: 2px solid #CCCCCC;
  border-bottom: 1px solid #CCCCCC;
}

.shop_cont table {
  table-layout: auto;
}

.items:not(.slick-slider) .items {
  margin: 30px 0 0 0 !important;
}

.items:not(.slick-slider) .items article {
  -webkit-box-align: stretch !important;
      -ms-flex-align: stretch !important;
          align-items: stretch !important;
}

.items:not(.slick-slider) article {
  width: 23%;
  margin: 1% !important;
}

.items:not(.slick-slider) article .photo {
  width: 100% !important;
}

.items:not(.slick-slider) article .photo img {
  display: block;
  height: 100% !important;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: 'object-fit: cover;';
}

.items:not(.slick-slider) article .name {
  color: #333;
}

.items:not(.slick-slider) article .price {
  text-align: center;
}

.items:not(.slick-slider) article button {
  margin: 0 auto;
}

@media screen and (max-width: 1050px) {
  .items:not(.slick-slider) article {
    width: 31.333% !important;
    margin: 1% !important;
  }
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .items:not(.slick-slider) {
    margin: 20px 0 0 0 !important;
  }
  .items:not(.slick-slider) article {
    width: 31.333% !important;
    margin: 1% !important;
  }
}

@media only screen and (max-width: 640px) {
  .items:not(.slick-slider) {
    margin: 20px 0 0 0 !important;
  }
  .items:not(.slick-slider) article {
    width: 48% !important;
    margin: 1% !important;
  }
}

@media screen and (max-width: 350px) {
  .items:not(.slick-slider) article {
    width: 98% !important;
    margin: 1% !important;
  }
}

.local_item article {
  width: 18% !important;
  margin: 1% !important;
}

@media screen and (max-width: 1050px) {
  .local_item article {
    width: 31.333% !important;
    margin: 1% !important;
  }
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .local_item {
    margin: 20px 0 0 0 !important;
  }
  .local_item article {
    width: 31.333% !important;
    margin: 1% !important;
  }
}

@media only screen and (max-width: 640px) {
  .local_item {
    margin: 20px 0 0 0 !important;
  }
  .local_item article {
    width: 48% !important;
    margin: 1% !important;
  }
}

@media screen and (max-width: 350px) {
  .local_item article {
    width: 98% !important;
    margin: 1% !important;
  }
}

.search {
  position: relative;
  z-index: 1;
}

html.is-fixed,
html.is-fixed body {
  height: 100%;
}

#nav-toggle {
  position: fixed;
  top: 10px;
  right: 5px;
  height: 50px;
  width: 70px;
  padding: 5px;
  cursor: pointer;
  display: none;
}

@media only screen and (max-width: 835px) {
  #nav-toggle {
    display: block;
  }
}

#nav-toggle > div {
  position: relative;
  width: 40px;
}

#nav-toggle span {
  height: 2px;
  left: 2px;
  display: block;
  background: #1b1b1b;
  position: absolute;
  -webkit-transition: top .5s ease, -webkit-transform .6s ease-in-out;
  transition: top .5s ease, -webkit-transform .6s ease-in-out;
  transition: transform .6s ease-in-out, top .5s ease;
  transition: transform .6s ease-in-out, top .5s ease, -webkit-transform .6s ease-in-out;
}

#nav-toggle span:nth-child(1) {
  top: 2px;
  width: 100%;
}

#nav-toggle span:nth-child(2) {
  top: 13px;
  width: 90%;
}

#nav-toggle span:nth-child(3) {
  top: 24px;
  width: 80%;
}

#nav-toggle p {
  position: absolute;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  top: 25px;
  left: 0;
  color: #1b1b1b;
  font-weight: 700;
  font-size: 0.8em;
  letter-spacing: 0.1em;
  z-index: 99;
}

#nav-toggle:hover span:nth-child(1) {
  top: 2px;
}

#nav-toggle:hover span:nth-child(3) {
  top: 24px;
}

.open #nav-toggle span {
  background: white;
}

.open #nav-toggle span:nth-child(1) {
  top: 15px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  width: 90%;
}

.open #nav-toggle span:nth-child(2) {
  top: 15px;
  width: 0;
  left: 50%;
}

.open #nav-toggle span:nth-child(3) {
  top: 15px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  width: 90%;
}

.open #nav-toggle p {
  color: white;
  left: 0;
}

/* z-index */
#nav-toggle {
  z-index: 1000;
}

#container {
  z-index: 900;
}

.nav_wrap {
  width: 80%;
}

.nav_wrap .logo {
  margin-bottom: 60px !important;
}

.nav_wrap li {
  position: relative;
}

.nav_wrap .ddmenu {
  top: 0;
  left: 50%;
  background-color: transparent;
  position: relative;
  width: 80%;
}

#nav_sp {
  display: none;
  background-image: -webkit-gradient(linear, left top, right top, from(#555), to(#57c6dd));
  background-image: linear-gradient(to right, #555 0%, #57c6dd 100%);
  color: #555;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 990;
  text-align: left;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  visibility: hidden;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 29px;
  opacity: 0;
  -webkit-transition: opacity .6s ease, visibility .6s ease;
  transition: opacity .6s ease, visibility .6s ease;
}

#nav_sp::before {
  content: "";
  width: 80%;
  height: 100vh;
  top: 0;
  right: 0;
  display: block;
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  opacity: 0.6;
  z-index: -1;
}

@media only screen and (max-width: 1500px) {
  #nav_sp::before {
    width: 100%;
    opacity: 0.4;
  }
}

#nav_sp .icons {
  width: 80%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  z-index: 99;
}

@media only screen and (max-width: 640px) {
  #nav_sp .icons {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

#nav_sp .icons a {
  font-size: 2.2rem !important;
  display: block;
  padding-right: 15px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

#nav_sp .icons a:hover {
  opacity: 0.6;
}

#nav_sp .icons .tel {
  display: none;
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  #nav_sp .icons .tel {
    display: block;
  }
}

#nav_sp .nav_wrap > ul:first-child {
  display: none;
}

#nav_sp ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 100%;
}

#nav_sp ul .sm_ul li img {
  display: none;
}

#nav_sp li {
  width: 100%;
}

#nav_sp a {
  display: block;
  color: white;
  letter-spacing: 0.4em;
  text-decoration: none;
  -webkit-transition: color .6s ease;
  transition: color .6s ease;
  text-align: center;
  font-size: 1.125rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  position: relative;
  z-index: 0;
  line-height: 1.6;
  padding: 10px;
}

#nav_sp a span {
  display: block;
  font-size: 4rem;
  color: #57c6dd;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  letter-spacing: 2px;
  line-height: 1;
}

@media only screen and (max-width: 1000px) {
  #nav_sp a span {
    font-size: 3rem;
  }
}

@media screen and (max-width: 400px) {
  #nav_sp a span {
    font-size: 2.6rem;
  }
}

#nav_sp a:hover {
  opacity: 0.6;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

#nav_sp ul {
  list-style: none;
}

#nav_sp ul > li {
  opacity: 0;
  -webkit-transform: translateX(200px);
          transform: translateX(200px);
  -webkit-transition: opacity .2s ease, -webkit-transform .6s ease;
  transition: opacity .2s ease, -webkit-transform .6s ease;
  transition: transform .6s ease, opacity .2s ease;
  transition: transform .6s ease, opacity .2s ease, -webkit-transform .6s ease;
}

#nav_sp ul > li:nth-child(2) {
  -webkit-transition-delay: .15s;
          transition-delay: .15s;
}

#nav_sp ul > li:nth-child(3) {
  -webkit-transition-delay: .3s;
          transition-delay: .3s;
}

#nav_sp ul > li:nth-child(4) {
  -webkit-transition-delay: .45s;
          transition-delay: .45s;
}

#nav_sp ul > li:nth-child(5) {
  -webkit-transition-delay: .6s;
          transition-delay: .6s;
}

#nav_sp ul > li:nth-child(6) {
  -webkit-transition-delay: .75s;
          transition-delay: .75s;
}

#nav_sp ul > li:nth-child(7) {
  -webkit-transition-delay: .9s;
          transition-delay: .9s;
}

#nav_sp ul > li:nth-child(8) {
  -webkit-transition-delay: 1.05s;
          transition-delay: 1.05s;
}

#nav_sp ul > li:nth-child(9) {
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s;
}

#nav_sp ul > li:nth-child(10) {
  -webkit-transition-delay: 1.35s;
          transition-delay: 1.35s;
}

#nav_sp ul .ddmenu {
  left: 50%;
  z-index: 3;
  position: relative;
  top: 0;
}

#nav_sp ul .ddmenu a {
  font-size: 1.5rem !important;
  color: white !important;
  padding-left: 20px !important;
  padding: 10px !important;
}

/* open */
.open {
  overflow: hidden;
}

.open #nav_sp {
  visibility: visible;
  opacity: 1;
}

.open #nav_sp li {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: opacity 1.05s ease, -webkit-transform 1s ease;
  transition: opacity 1.05s ease, -webkit-transform 1s ease;
  transition: transform 1s ease, opacity 1.05s ease;
  transition: transform 1s ease, opacity 1.05s ease, -webkit-transform 1s ease;
}

.in_wp {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 30px;
}

.in_wp > a {
  display: block;
  text-align: left;
  margin-top: 30px;
}

.in_wp > a img {
  width: 200px;
  height: 200px;
}

@media screen and (min-width: 641px) and (max-width: 835px) {
  .in_wp > a img {
    width: 150px;
    height: 150px;
  }
}

@media only screen and (max-width: 640px) {
  .in_wp > a img {
    margin: auto;
    display: block;
  }
}

.inside {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100% !important;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.inside li {
  font-size: 1.5rem !important;
  color: white;
  line-height: 1.8;
  width: 100% !important;
  text-align: center;
}

.inside li .tel {
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
  padding: 0 !important;
  letter-spacing: 2px !important;
}
/*# sourceMappingURL=common_style.css.map */