@charset "UTF-8";
/*==============================
ボタンデザイン
=================================*/
/*==============================
環境ここから編集
=================================*/
.site-header {
  padding-bottom: 0;
  margin-bottom: 0;
}

.site-main {
  padding-bottom: 0;
  margin-bottom: 0;
}

a {
  text-decoration: none;
}

.contents_wrap {
  margin-top: 60px;
}

.hover_op {
  transition: 0.3s;
}

.hover_op:hover {
  opacity: 0.8;
}

.catch {
  display: flex;
  align-items: center;
  justify-content: center;
}

.catch:before,
.catch:after {
  border-top: 1px solid #333;
  width: 3em;
}

.catch:before {
  margin-right: 1em;
}

.catch:after {
  margin-left: 1em;
}

/* ================================
 共通
=================================*/
.eight_contents_wrap {
  max-width: 1152px;
  margin: 0 auto;
}

@media screen and (max-width: 1152px) {
  .eight_contents_wrap {
    padding-left: 16px;
    padding-right: 16px;
  }
}
html {
  font-size: 18px;
  color: #333333;
}

body {
  color: #333333;
  font-size: 18px;
  font-family: "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}

@media screen and (max-width: 580px) {
  body {
    font-size: 16px;
  }
  html {
    font-size: 16px;
  }
}
figcaption {
  color: #333333;
}

h1 {
  font-size: 2.556rem;
  margin: 0;
  font-weight: bold;
}

h2 {
  font-size: 2.333rem;
  margin: 0;
  font-weight: bold;
}

h3 {
  font-size: 1.444rem;
  margin: 0;
}

h4,
h5,
h6 {
  font-size: 1.222rem;
  margin: 0;
}

h5,
h6 {
  font-size: 1.111rem;
  margin: 0;
}

strong {
  font-size: 2.333rem;
}

input[type=checkbox] + label,
input[type=radio] + label {
  font-size: 0.778rem;
}

label {
  font-size: 0.778rem;
  margin: 0;
}

p {
  padding: 0;
  margin: 0;
}

ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

a {
  text-decoration: none;
  display: inline-block;
}

a,
a {
  transition: all 0.3s ease;
}
a:hover,
a:hover {
  color: rgba(220, 219, 219, 0.57);
}

.hover_op:hover {
  opacity: 0.7;
}

.hover_glay:hover {
  background-color: #103454;
}

/* マウスオーバー時 */
.btn_design:hover {
  border-color: #fff;
  outline-color: transparent;
  outline-offset: 12px;
  cursor: pointer;
}

.page_transition {
  -webkit-animation: fadein 3s forwards;
          animation: fadein 3s forwards;
}
@-webkit-keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/*==============================
ページトップリンクボタン
=================================*/
#page-top a {
  display: flex;
  justify-content: center;
  align-items: center;
  background: rgb(237, 226, 105);
  border-radius: 5px;
  width: 60px;
  height: 60px;
  color: #000;
  font-weight: bold;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  font-size: 0.6rem;
  transition: all 0.3s;
}

#page-top a:hover {
  background: rgb(147, 136, 224);
}

#page-top {
  position: fixed;
  right: 10px;
  bottom: 10px;
  z-index: 20;
  opacity: 0;
  transform: translateY(100px);
}

#page-top.UpMove {
  -webkit-animation: UpAnime 0.5s forwards;
          animation: UpAnime 0.5s forwards;
}

@-webkit-keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
#page-top.DownMove {
  -webkit-animation: DownAnime 0.5s forwards;
          animation: DownAnime 0.5s forwards;
}

@-webkit-keyframes DownAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 1;
    transform: translateY(100px);
  }
}

@keyframes DownAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 1;
    transform: translateY(100px);
  }
}
/*==============================
ボックスデザイン
=================================*/
.mybox {
  background-color: rgb(89, 81, 201);
  border-radius: 5px;
  padding: 20px;
  position: relative;
  z-index: 0;
  width: 150px;
  text-align: center;
  margin: 10px auto 0 auto;
}

.mybox a {
  text-decoration: none;
}

.mybox:before {
  border: 1px solid #fff;
  border-radius: 5px;
  content: "";
  display: block;
  position: absolute;
  top: 0px;
  bottom: 0px;
  left: 0px;
  right: 0px;
  margin: 4px;
  z-index: -1;
}

/*==============================
ボタンデザイン
=================================*/
.btn_style {
  display: inline-block;
  text-decoration: none;
  padding: 10px 20px;
  background: linear-gradient(to right bottom, rgb(73, 71, 183) rgb(8, 25, 95));
  border-radius: 30px;
  color: rgb(255, 6, 6);
  /* margin: 20px; */
  transition: 0.3s;
  width: 100%;
  cursor: pointer;
}
.btn_style:hover {
  opacity: 0.8;
}

/*==============================
要素出現アニメーション
=================================*/
.js-animation {
  opacity: 0;
  visibility: hidden;
  transform: translateY(40px);
  transition: all 1s;
}

.js-animation.is-show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px);
}

/*==================
詳細ページネイション
===================== */
.nav-next {
  margin-top: 0;
}

@media screen and (max-width: 600px) {
  .nav-next {
    margin-top: 0 !important;
  }
}
/*==================
一覧ページネーションデザイン
===================== */
.nav-links {
  display: flex;
}

.pagination .page-numbers {
  display: inline-block;
  margin-right: 10px;
  padding: 10px 15px;
  color: rgb(88, 99, 185);
  border-radius: 3px;
  box-shadow: 0 3px 3px #ccc;
  background: #fff;
}

.pagination .current {
  padding: 10px 15px;
  background: rgb(77, 77, 117);
  color: #fff;
}

.pagination .prev,
.pagination .next {
  background: transparent;
  box-shadow: none;
  color: #333;
}

.pagination .dots {
  background: transparent;
  box-shadow: none;
}

/*---------------------
スライド
---------------------- */
.slider {
  position: relative;
  z-index: 1;
  /*↑z-indexの値をh1のz-indexの値よりも小さくして背景に回す*/
  height: vh;
  /*スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
  padding: 0;
  margin-top: 10px;
}

.slider-item {
  width: 100%;
  /*各スライダー全体の横幅を画面の高さいっぱい（100%）にする*/
  height: 77vh;
  /*各スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
  background-repeat: no-repeat;
  /*背景画像をリピートしない*/
  background-position: center;
  /*背景画像の位置を中央に*/
  background-size: cover;
  /*背景画像が.slider-item全体を覆い表示*/
}

/*矢印の設定*/
.slick-prev,
.slick-next {
  position: absolute;
  z-index: 3;
  top: 42%;
  cursor: pointer;
  /*マウスカーソルを指マークに*/
  outline: none;
  /*クリックをしたら出てくる枠線を消す*/
  border-top: 2px solid #fff;
  /*矢印の色*/
  border-right: 2px solid #fff;
  /*矢印の色*/
  height: 25px;
  width: 25px;
}

.slick-prev {
  /*戻る矢印の位置と形状*/
  left: 2.5%;
  transform: rotate(-135deg);
}

.slick-next {
  /*次へ矢印の位置と形状*/
  right: 2.5%;
  transform: rotate(45deg);
}

/*ドットナビゲーションの設定*/
.slick-dots {
  position: relative;
  z-index: 3;
  text-align: center;
  margin: -50px 0 0 0;
  /*ドットの位置*/
}

.slick-dots li {
  display: inline-block;
  margin: 0 5px;
}

.slick-dots button {
  color: transparent;
  outline: none;
  width: 8px;
  /*ドットボタンのサイズ*/
  height: 8px;
  /*ドットボタンのサイズ*/
  display: block;
  border-radius: 50%;
  background: #fff;
  /*ドットボタンの色*/
}

.slick-dots .slick-active button {
  background: rgb(126, 126, 126);
  /*ドットボタンの現在地表示の色*/
}

/*====================================
  slick
=====================================*/
.slick__outer {
  position: relative;
  background: #626262;
}

.slick__wrap {
  position: relative;
  overflow: hidden;
  margin: 0 auto 0px;
  z-index: 10;
}

.slick__wrap .slick-slide {
  overflow: hidden;
  overflow: hidden;
}

.slick__wrap .slick-slide img {
  height: auto;
  width: 100%;
  display: inline-block;
}

#main .slider .slick-dots {
  display: none !important;
}

.c_bold {
  font-weight: bold;
}

/*==============================
ヘッダー
=================================*/
#diagnose:before {
  content: " ";
  margin-top: -120px;
  height: 120px;
  display: block;
  visibility: hidden;
}

#site-navigation .h_diagnose_box > a {
  color: #fff;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 24px;
  padding-right: 24px;
}

.h_diagnose_box > a {
  color: #fff;
  text-align: center;
}

#site-navigation .h_diagnose_box {
  margin-left: 16px;
  text-align: center;
}

.h_diagnose_box {
  text-align: center;
}

.eightpro_h {
  display: flex;
  align-items: center;
}

.bg_color_02 {
  background-color: #103454;
  color: #fff;
}

#masthead {
  margin-top: 0;
  position: fixed;
  width: 100%;
  z-index: 999;
}

.header_top {
  justify-content: space-between;
  align-items: center;
}

.header_menu {
  padding: 0;
  display: flex;
  justify-content: space-between;
  background-color: #ffff01;
  padding: 16px 0;
  align-items: center;
}
.header_menu .jp {
  font-weight: bold;
  padding: 6px;
}

.h_diagnose_box {
  display: block;
  background-color: #0c263f;
  border-radius: 50px;
  color: #fff;
  padding: 6px;
}

.header_shopinfo > p {
  font-size: 18px;
}

.primary-menu-container .menu_text .sub-menu-toggle {
  display: none !important;
}

.header_menu ul li a {
  text-align: center;
  transition: all 0.3s ease;
  border: none 0;
}

.header_menu ul li a:hover {
  color: rgb(24, 43, 151);
}

.header_shopinfo a {
  transition: all 0.3s ease;
}

.header_shopinfo a:hover {
  color: rgb(20, 20, 151);
}

.header_logo img {
  width: 250px;
}

@media screen and (max-width: 1024px) {
  .header_open,
.header_holiday {
    justify-content: center;
  }
  .header_shopinfo {
    background-color: rgb(25, 19, 114);
    color: #fff;
  }
}
@media screen and (max-width: 600px) {
  .header_logo img {
    width: 300px;
    position: relative;
    top: 10px;
  }
}
/*======================================
 ハンバーガー
======================================*/
.drawer {
  display: none;
  background-color: #ffff01;
}

@media screen and (max-width: 1024px) {
  .header_logo img {
    width: 90px;
    position: relative;
    top: 10px;
    left: 10px;
  }
  .h_diagnose_box {
    width: 130px;
    position: fixed;
    right: 100px;
    top: 16px;
  }
  #drawer-content .h_diagnose_box > a {
    color: #fff;
    padding: 0;
  }
  .en {
    font-size: 0.778rem;
  }
  .header_menu ul li a {
    text-align: start;
  }
  #primary-menu-list > li {
    border-bottom: 1px dotted #333333;
    padding-left: 10px;
  }
  .header_none {
    display: none;
  }
  .drawer {
    display: block;
    height: 75px;
    width: 100%;
    position: fixed;
    z-index: 250;
    top: 0;
    right: 0;
  }
  .drawer-img {
    position: fixed;
    width: 170px;
    height: 60px;
    /* border-right: 1px solid #9a9687; */
  }
  .drawer-tel {
    position: fixed;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 60px;
    height: 60px;
    font-size: 30px;
    right: 50px;
    top: 10px;
  }
  .drawer .drawer-mail {
    position: fixed;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 60px;
    height: 60px;
    font-size: 30px;
    right: 40px;
    top: 10px;
    transition: none;
  }
  .drawer .drawer-mail:hover {
    color: #333333;
  }
  .drawer-hidden {
    display: none;
  }
  .drawer-open {
    display: flex;
    height: 60px;
    width: 60px;
    justify-content: center;
    align-items: center;
    position: fixed;
    z-index: 100;
    cursor: pointer;
    right: 0;
    top: 10px;
  }
  .drawer-open span,
.drawer-open span:before,
.drawer-open span:after {
    content: "";
    display: block;
    height: 3px;
    width: 25px;
    border-radius: 3px;
    background: #333;
    transition: 0.5s;
    position: absolute;
  }
  .drawer-open span:before {
    bottom: 8px;
  }
  .drawer-open span:after {
    top: 8px;
  }
  #drawer-check:checked ~ .drawer-open span {
    background: rgba(255, 255, 255, 0);
  }
  #drawer-check:checked ~ .drawer-open span::before {
    bottom: 0;
    transform: rotate(45deg);
  }
  #drawer-check:checked ~ .drawer-open span::after {
    top: 0;
    transform: rotate(-45deg);
  }
  .drawer-content {
    width: 100%;
    height: calc(100% - 60px);
    position: fixed;
    left: 100%;
    z-index: 99;
    background: #fff;
    transition: 0.5s;
    top: 76px;
  }
  #drawer-check:checked ~ .drawer-content {
    left: 0;
  }
}
/*---------------------------
ハンバーガーデザイン修正
-----------------------------*/
.sub-menu-toggle {
  display: none !important;
}

#primary-menu-list > li:nth-child(1) {
  margin-top: 10px;
}
#primary-menu-list > li:nth-child(1) > a {
  display: block;
}
#primary-menu-list > li:nth-child(1) > a .en {
  padding: 6px;
}

#primary-menu-list > li {
  margin-top: 10px;
}
#primary-menu-list > li > a {
  display: block;
}
#primary-menu-list > li > a .en {
  padding: 6px;
}

@media only screen and (max-width: 1024px) {
  .global_menu li {
    margin-bottom: 10px;
    list-style: none;
  }
  .drawer-content {
    overflow: scroll;
  }
}
@media screen and (max-width: 580px) {
  .header_logo img {
    width: 90px;
    position: relative;
  }
}
@media screen and (max-width: 480px) {
  .header_logo img {
    width: 90px;
  }
}
/*==============================
ネック
=================================*/
.neck {
  text-align: center;
  padding-top: 100px;
  padding-bottom: 20px;
  position: relative;
  background-image: url(../image/neck.png);
  background-size: cover;
  background-position: 0 center;
  overflow: hidden;
  margin-bottom: 0;
  margin-top: 10px;
  opacity: 90%;
}

.neck .neck__maintitle {
  display: block;
  font-weight: bold;
  font-size: 40px;
  position: relative;
  line-height: 1.5;
  color: #fff;
}

.neck .neck__subtitle {
  font-weight: normal;
  font-size: 14px;
  display: block;
  letter-spacing: 1px;
  position: relative;
  color: #fff;
}

.breadcrumbs {
  margin-bottom: 48px;
}

/*=======================================
front
===========================================*/
/*===============================
動画エリア
==================================*/
/*========= 背景動画設定のCSS ===============*/
/*header設定*/
#f_v_wrap {
  padding-top: 90px;
}

@media screen and (max-width: 1024px) {
  #f_v_wrap {
    height: 500px;
  }
}
#video-area {
  position: relative;
  z-index: 0; /*最背面に設定*/
  top: 0px;
  right: 0;
  left: 0;
  bottom: 0;
  height: 100%;
}

#video {
  width: 100%;
}

@media screen and (max-width: 1024px) {
  #video {
    height: 500px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -o-object-fit: cover;
       object-fit: cover;
  }
}
/*========= レイアウトのためのCSS ===============*/
#container {
  background: #fff;
  padding: 300px 0;
  text-align: center;
}

/*==============================
パンくず
=================================*/
.bc_list {
  padding: 0;
  margin: 0;
  list-style-type: none;
  display: flex;
  margin: 0 auto;
}

.bc_title,
.bc_sep {
  padding: 0.5rem;
}

.bc_title a {
  text-decoration: none;
}

.breadcrumbs span {
  color: #fff;
}

.breadcrumbs span a {
  transition: all 0.3s ease;
}

.breadcrumbs span a:hover {
  opacity: 0.7;
}

.front_main {
  display: flex;
}

.front_main_text {
  width: 50%;
  padding-right: 10px;
}

.front_main_img {
  width: 50%;
}

.front_main_img img {
  width: 100%;
  height: 400px;
  -o-object-fit: cover;
     object-fit: cover;
}

.front_main_text > div {
  margin: 10px 0;
}

.front_main_text a {
  margin-top: 10px;
}

@media screen and (max-width: 878px) {
  .front_main {
    display: block;
  }
  .front_main_text {
    width: 100%;
    padding: 0;
    margin-bottom: 10px;
  }
  .front_main_img {
    width: 100%;
  }
}
/*===================================
about
=================================*/
.f_about {
  background-image: url(../image/front_bg_01.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.f_about_contents {
  color: #fff;
  padding-top: 96px;
  padding-bottom: 96px;
}

.f_about_flex {
  display: flex;
}
.f_about_flex > div:nth-child(2) {
  margin-bottom: 24px;
}
.f_about_flex h1 {
  color: #ffff01;
}
.f_about_flex h2 {
  display: inline;
  border-bottom: solid 1px #ccc;
}
.f_about_flex > div {
  width: 50%;
}
.f_about_flex .f_about_left p {
  margin-bottom: 96px;
}

.f_about_img img {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .f_about_flex {
    display: block;
  }
  .f_about_flex > div {
    width: 100%;
  }
  .f_about_flex .f_about_left {
    margin-bottom: 24px;
  }
  .f_about_flex .f_about_left p {
    margin-bottom: 24px;
  }
  .f_about_flex .f_about_right > div:nth-child(1) {
    margin-bottom: 24px;
  }
}
/*===================================
Strengths
=================================*/
.f_strengths {
  background-color: #ffff01;
}

.f_strengths_contents {
  padding-top: 96px;
  padding-bottom: 36px;
}
.f_strengths_contents > div:nth-child(2) {
  position: relative;
  top: -60px;
}

.f_strengths_title {
  color: #333333;
  display: flex;
  justify-content: space-between;
}
.f_strengths_title > div:nth-child(2) {
  width: 25%;
}
.f_strengths_title > div:nth-child(2) > img {
  width: 100%;
}
.f_strengths_title > div:nth-child(1) {
  margin-left: 70px;
}
.f_strengths_title h1 {
  font-weight: bold;
}

.f_strengths_up {
  display: flex;
  margin-bottom: 48px;
}
.f_strengths_up > li {
  margin-right: 32px;
  width: 17%;
  font-weight: bold;
}
.f_strengths_up > li img {
  width: 100%;
}
.f_strengths_up :last-child {
  margin-right: 0;
}
.f_strengths_up figcaption {
  text-align: center;
}

.f_strengths_under {
  display: flex;
  justify-content: flex-end;
}
.f_strengths_under > li {
  margin-right: 32px;
  width: 17%;
  font-weight: bold;
}
.f_strengths_under > li img {
  width: 100%;
}
.f_strengths_under figcaption {
  text-align: center;
}

@media screen and (max-width: 768px) {
  .f_strengths_title {
    display: block;
    text-align: center;
  }
  .f_strengths_title > div {
    margin-left: auto;
    margin-right: auto;
  }
  .f_strengths_contents > div:nth-child(2) {
    position: relative;
    top: 0px;
  }
  .f_strengths_up {
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 0;
  }
  .f_strengths_up > li {
    margin-right: 0;
    width: calc(50% - 32px);
    margin-bottom: 48px;
  }
  .f_strengths_under {
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 0;
  }
  .f_strengths_under > li {
    margin-right: 0;
    width: calc(50% - 32px);
    margin-bottom: 48px;
  }
  .f_strengths_title > div:nth-child(1) {
    margin-left: 0px;
  }
}
@media screen and (max-width: 600px) {
  .f_strengths_up > li {
    width: calc(50% - 16px);
  }
  .f_strengths_under > li {
    width: calc(50% - 16px);
  }
}
/*===================================
problem
=================================*/
.f_problem {
  background-color: #103454;
  color: #fff;
}

.f_problem_contents {
  padding-top: 96px;
  padding-bottom: 96px;
}
.f_problem_contents > div:nth-child(1) {
  margin-bottom: 96px;
}
.f_problem_contents > ul {
  display: flex;
  flex-wrap: wrap;
  width: 80%;
  margin-top: 0;
  margin-bottom: 96px;
  margin-left: auto;
  margin-right: auto;
}
.f_problem_contents > ul > li {
  margin-bottom: 48px;
  display: flex;
  width: 50%;
  align-items: center;
}
.f_problem_contents > ul > li > img {
  width: 1.778rem;
}
.f_problem_contents > ul > li:nth-child(5) {
  margin-bottom: 0;
}
.f_problem_contents > ul > li:nth-child(6) {
  margin-bottom: 0;
}

@media screen and (max-width: 600px) {
  .f_problem_contents > ul {
    display: block;
  }
  .f_problem_contents > ul > li {
    width: 100%;
    margin-bottom: 48px;
  }
  .f_problem_contents > ul > li:nth-child(5) {
    margin-bottom: 48px;
  }
}
/*===================================
diagnosis
=====================================*/
.f_diagnosis_search {
  margin-left: 96px;
  margin-right: 96px;
  margin-bottom: 96px;
  padding-top: 96px;
  padding-bottom: 96px;
}
.f_diagnosis_search > h3 {
  margin-bottom: 48px;
}
.f_diagnosis_search > .f_diagnosis_problem {
  margin-left: 48px;
  margin-right: 48px;
  margin-bottom: 48px;
  display: flex;
  flex-wrap: wrap;
}
.f_diagnosis_search > .f_diagnosis_problem > div {
  margin-bottom: 24px;
  width: 50%;
  display: flex;
}
.f_diagnosis_search > p {
  text-align: center;
}

.f_diagnosis_important {
  margin-left: 48px;
  margin-right: 48px;
  margin-bottom: 48px;
  display: flex;
  flex-wrap: wrap;
}
.f_diagnosis_important > div {
  margin-bottom: 24px;
  width: 33.3333333333%;
  display: flex;
}

.fds_money {
  margin-bottom: 48px;
}
.fds_money > section {
  margin-bottom: 24px;
  padding-left: 16px;
}
.fds_money > section > .fds_list {
  padding-left: 16px;
}
.fds_money > section > .fds_list > li {
  margin-bottom: 24px;
}
.fds_money > section > .fds_list > li > label {
  display: flex;
}
.fds_money > section > .fds_list > li > label > p {
  padding-left: 8px;
}
.fds_money > section > p {
  margin-bottom: 24px;
}
.fds_money > section:last-child {
  margin-bottom: 0;
}

.f_diagnosis {
  background-color: #ffff01;
}

.f_diagnosis_title {
  color: #333333;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.f_diagnosis_title > div:nth-child(2) {
  width: 25%;
}
.f_diagnosis_title > div:nth-child(2) > img {
  width: 100%;
}

.f_diagnosis_p {
  font-weight: bold;
}

.f_diagnosis_contents {
  position: relative;
  top: -120px;
}

.f_diagnosis_wrap {
  padding-top: 96px;
}

.f_diagnosis_form {
  background-color: #103454;
  color: #fff;
}

.f_diagnosis_check > ul {
  padding: 96px;
  padding-bottom: 48px;
  display: flex;
  flex-wrap: wrap;
}
.f_diagnosis_check > ul > li {
  width: 33.3333333333%;
  display: flex;
  padding-right: 48px;
  padding-bottom: 48px;
}
.f_diagnosis_check > ul > li > input {
  width: 25px;
}

input[type=submit] {
  background-color: #ffff01;
  border: 8px double #333333;
  border-radius: 15px;
  font-size: 1.444rem;
  font-weight: bold;
}

input[type=submit]:not(:hover):not(:active):not(.has-text-color) {
  color: #333333;
}

input[type=submit] {
  padding: 16px 48px;
}

@media screen and (max-width: 768px) {
  .f_diagnosis_title {
    display: block;
    text-align: center;
  }
  .f_diagnosis_title > div:nth-child(2) {
    margin-left: auto;
    margin-right: auto;
  }
  .f_diagnosis_contents {
    top: 0px;
  }
  .f_diagnosis_wrap {
    padding-bottom: 96px;
  }
  .f_diagnosis_search > .f_diagnosis_problem {
    display: block;
  }
  .f_diagnosis_search > .f_diagnosis_problem > div {
    width: 100%;
  }
  .f_diagnosis_important {
    display: block;
  }
  .f_diagnosis_important > div {
    width: 100%;
  }
}
@media screen and (max-width: 600px) {
  .f_diagnosis_check > ul {
    display: block;
    padding-top: 48px;
    padding-right: 24px;
    padding-bottom: 24px;
    padding-left: 24px;
  }
  .f_diagnosis_check > ul > li {
    width: 100%;
    padding-right: 0;
  }
  .f_diagnosis_check > ul > li > input {
    width: 25px;
  }
  .f_diagnosis_search > .f_diagnosis_problem {
    flex-wrap: wrap;
  }
  .f_diagnosis_search {
    margin-left: 48px;
    margin-right: 48px;
  }
  .f_diagnosis_search > .f_diagnosis_problem {
    margin-left: 16px;
    margin-right: 16px;
  }
  .f_diagnosis_important {
    margin-left: 16px;
    margin-right: 16px;
  }
}
@media screen and (max-width: 400px) {
  .f_diagnosis_search {
    margin-left: 16px;
    margin-right: 16px;
  }
}
/*===================================
blog
=====================================*/
.f_blog_wrap {
  background-color: #103454;
  color: #fff;
}
.f_blog_wrap a {
  color: #fff;
}
.f_blog_wrap .f_blog_contents {
  padding-top: 96px;
  padding-bottom: 96px;
}
.f_blog_wrap .f_blog_contents img {
  height: 350px !important;
  -o-object-fit: cover;
     object-fit: cover;
}
.f_blog_wrap .f_blog_contents > div:nth-child(1) {
  margin-bottom: 96px;
}
.f_blog_wrap .f_blog_contents > ul {
  display: flex;
  justify-content: space-between;
  margin-bottom: 96px;
}
.f_blog_wrap .f_blog_contents > ul > li {
  width: calc(33.3333333333% - 64px);
}
.f_blog_wrap .f_blog_contents > ul > li img {
  width: 100%;
  margin-bottom: 24px;
}
.f_blog_wrap .f_blog_contents > ul li:nth-child(2) {
  margin-top: 64px;
}

.btn {
  text-align: center;
}
.btn > a {
  background-color: #ffff01;
  color: #333333;
  border-radius: 50px;
  padding: 8px 48px;
  font-weight: bold;
  transition: 0.3s;
}

@media screen and (max-width: 1280px) {
  .f_blog_wrap .f_blog_contents > ul > li {
    width: calc(33.3333333333% - 24px);
  }
}
@media screen and (max-width: 960px) {
  .f_blog_wrap .f_blog_contents > ul {
    display: block;
  }
  .f_blog_wrap .f_blog_contents > ul > li {
    width: 100%;
    margin-bottom: 64px;
  }
  .f_blog_wrap .f_blog_contents > ul > li > a {
    width: 100%;
  }
  .f_blog_wrap .f_blog_contents > ul > li > a img {
    width: 100%;
    max-width: none !important;
  }
  .f_blog_contents > ul li:nth-child(2) {
    margin-top: 0px;
  }
  .f_info_contents > ul li:last-child {
    margin-bottom: 0px;
  }
}
/*===================================
お知らせエリア
=====================================*/
.f_info_wrap {
  background-color: #0c263f;
  color: #fff;
}
.f_info_wrap a {
  color: #fff;
}
.f_info_wrap .f_info_contents {
  padding-top: 96px;
  padding-bottom: 96px;
}
.f_info_wrap .f_info_contents img {
  height: 350px !important;
  -o-object-fit: cover;
     object-fit: cover;
}
.f_info_wrap .f_info_contents > div:nth-child(1) {
  margin-bottom: 96px;
}
.f_info_wrap .f_info_contents > ul {
  display: flex;
  justify-content: space-between;
  margin-bottom: 96px;
}
.f_info_wrap .f_info_contents > ul > li {
  width: calc(33.3333333333% - 64px);
}
.f_info_wrap .f_info_contents > ul > li img {
  width: 100%;
  margin-bottom: 24px;
}
.f_info_wrap .f_info_contents > ul li:nth-child(2) {
  margin-top: 64px;
}

.btn {
  text-align: center;
}
.btn > a {
  background-color: #ffff01;
  color: #333333;
  border-radius: 50px;
  padding: 8px 48px;
  font-weight: bold;
  transition: 0.3s;
}
.btn > a:hover {
  opacity: 0.8;
}

@media screen and (max-width: 1280px) {
  .f_info_wrap .f_info_contents > ul > li {
    width: calc(33.3333333333% - 24px);
  }
}
@media screen and (max-width: 960px) {
  .f_info_wrap .f_info_contents > ul {
    display: block;
  }
  .f_info_wrap .f_info_contents > ul > li {
    width: 100%;
    margin-bottom: 64px;
  }
  .f_info_wrap .f_info_contents > ul > li > a {
    width: 100%;
  }
  .f_info_wrap .f_info_contents > ul > li > a img {
    width: 100%;
    max-width: none !important;
  }
  .f_info_contents > ul li:nth-child(2) {
    margin-top: 0px;
  }
  .f_info_contents > ul li:last-child {
    margin-bottom: 0px;
  }
}
/*==================
アバウトページ
===================== */
.about_middle_note,
.about_base_note {
  margin-top: 10px;
}

.about_top_note img,
.about_middle_note img,
.about_base_note img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  height: 350px;
  /* border-radius: 80px 80px 0px 0px; */
}

.about_top_note img {
  border-radius: 80px 80px 0px 0px;
}

.about_top_note div,
.about_base_note div {
  text-align: center;
}

.about_middle_note {
  display: flex;
  align-items: center;
  background-color: #ccc;
  padding: 5%;
}

.about_wrap section:nth-child(2) .about_middle_text {
  padding-right: 5%;
}

.about_wrap section:nth-child(3) .about_middle_text {
  padding-left: 5%;
}

.about_wrap section:nth-child(3) {
  flex-direction: row-reverse;
  align-items: center;
}

.about_middle_note div {
  width: 50%;
}

.about_middle_img div {
  width: 100%;
}

.about_top_note p,
.about_base_note p {
  margin: 10px 0;
}

.about_middle_text h3 {
  margin-bottom: 10px;
}

.about_middle_text p {
  margin-top: 10px;
}

.about_base_note h3 {
  margin-top: 10px;
}

.about_base_note img {
  border-radius: 0px 0px 80px 80px;
}

@media screen and (max-width: 600px) {
  .about_middle_note {
    display: block;
  }
  .about_middle_text {
    width: 100%;
    padding: 0 0 5% 0;
  }
  .about_middle_note div {
    width: 100%;
  }
}
/*---------------------
コンテンツ(サービス詳細)
---------------------- */
/*==============================
サービス一覧とブログ一覧
=================================*/
.service_detail {
  margin-top: 20px;
}
.service_detail > h3 {
  text-align: center;
}

.service_contents {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(196px, 1fr));
  grid-row-gap: 40px;
  grid-column-gap: 1vw;
  justify-content: space-between;
  width: 100%;
  /* margin: 0 auto; */
  /* grid-auto-rows: 300px; */
  padding-bottom: 24px;
}

.service_contents::after {
  content: "";
  width: 196px;
  height: 0;
}

.service_contents::before {
  content: "";
  width: 196px;
  height: 0;
  order: 1;
}

.service_box {
  border: 1px solid #fff;
  transition: 0.3s;
}

.service_box:hover {
  opacity: 0.8;
}

.service_box a {
  display: block;
  text-decoration: none;
}

.service_box a figcaption {
  padding: 0 10px 10px 10px;
  color: #fff;
}

.service_box p {
  text-align: start;
  margin-top: 10px;
}

.service_box img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  height: 200px !important;
}

.service_cat_list {
  display: flex;
  justify-content: space-between;
  list-style-type: none;
  padding: 0;
  flex-wrap: wrap;
  margin-bottom: 48px;
}

.site-header .service_all_cat {
  margin-bottom: 48px;
  padding: 10px;
  font-size: 18px;
  background-color: #fff;
  font-weight: bold;
  color: #333333;
}

.service_cat_list li a {
  border: 1px solid #fff;
  padding-top: 10px;
  padding-bottom: 10px;
  padding-left: 10px;
  padding-right: 10px;
  display: block;
  text-decoration: none;
  color: #fff;
}

.service_cat_list li a:hover {
  color: #333333;
  background-color: #fff;
}

.service_cat_list li {
  text-align: center;
  width: calc(25% - 10px);
  margin-bottom: 10px;
}

.service_cat_list li:nth-of-type(4n) {
  margin-right: 0;
}

.service_cat_list {
  display: flex;
  list-style-type: none;
  padding: 0;
}

.service_cat_list::before {
  content: "";
  display: block;
  width: calc(25% - 10px);
  order: 1;
}

.service_cat_list::after {
  content: "";
  display: block;
  width: calc(25% - 10px);
}

.service_cat_list li:last-child {
  margin-right: 0;
}

.fds {
  margin-bottom: 0;
}

@media screen and (max-width: 878px) {
  .service_cat_list li {
    width: calc(50% - 10px);
    margin-right: 0;
    margin-bottom: 10px;
  }
  .service_cat_list {
    flex-wrap: wrap;
    justify-content: space-around;
  }
}
@media screen and (max-width: 868px) {
  .service_contents {
    grid-column-gap: 2vw;
  }
}
@media screen and (max-width: 600px) {
  .service_contents::after {
    content: none;
  }
  .service_contents::before {
    content: none;
  }
  .service_cat_list {
    display: block;
  }
  .site-header .service_cat_list li {
    margin-left: auto;
    margin-right: auto;
    width: calc(100% - 30px);
  }
  .service_contents {
    display: block;
  }
  .service_contents > figure {
    margin-bottom: 48px;
  }
  .service_contents > figure:last-child {
    margin-bottom: 0;
  }
  .service_contents > figure:last-child {
    margin-bottom: 0;
  }
}
/*======================================
service_detail
===================================*/
.s_detail_wrap {
  background-color: #103454;
  color: #fff;
}

.s_detail_item {
  display: flex;
  justify-content: space-between;
  margin-bottom: 96px;
}
.s_detail_item .s_detail_gallery {
  width: calc(50% - 50px);
}
.s_detail_item .s_detail_contents {
  width: calc(50% - 50px);
}
.s_detail_item .s_detail_contents > div {
  margin-bottom: 48px;
}
.s_detail_item .s_detail_contents h3 {
  margin-bottom: 24px;
}
.s_detail_item .s_detail_contents select {
  width: 200px;
}
.s_detail_item .s_detail_contents input[type=submit] {
  border: none;
  border-radius: 0;
}
.s_detail_item .s_detail_contents .s_detail_app .s_detail_flag {
  padding: 10px;
  border: 1px #fff solid;
  width: 200px;
  font-weight: bold;
}
.s_detail_item #slider {
  width: 100%;
}
.s_detail_item .s_detail_price {
  color: #ffff01;
}
.s_detail_item .s_detail_price > span {
  font-size: 1.222rem;
}

.s_detail_thin {
  padding-left: 5%;
  padding-right: 5%;
}

.s_detail_flag {
  margin-bottom: 24px;
}

.s_detail_recommendation > h3 {
  background-color: #ffff01;
  text-align: center;
  font-weight: bold;
  color: #333333;
  padding-top: 5px;
  padding-bottom: 5px;
  margin-bottom: 48px;
}
.s_detail_recommendation > p {
  padding-bottom: 72px;
}

.s_detail_deadline > h3 {
  background-color: #ffff01;
  text-align: center;
  font-weight: bold;
  color: #333333;
  padding-top: 5px;
  padding-bottom: 5px;
  margin-bottom: 48px;
}
.s_detail_deadline > p {
  padding-bottom: 72px;
}

.s_detail_merit > h3 {
  background-color: #ffff01;
  text-align: center;
  font-weight: bold;
  color: #333333;
  padding-top: 5px;
  padding-bottom: 5px;
  margin-bottom: 48px;
}
.s_detail_merit > p {
  padding-bottom: 72px;
}

.s_detail_support > h3 {
  background-color: #ffff01;
  text-align: center;
  font-weight: bold;
  color: #333333;
  padding-top: 5px;
  padding-bottom: 5px;
  margin-bottom: 48px;
}
.s_detail_support > p {
  padding-bottom: 72px;
}

.s_detail_explanation > h3 {
  background-color: #ffff01;
  text-align: center;
  font-weight: bold;
  color: #333333;
  padding-top: 5px;
  padding-bottom: 5px;
  margin-bottom: 48px;
}
.s_detail_explanation > p {
  padding-bottom: 72px;
}

.s_detail_flow > h3 {
  background-color: #ffff01;
  text-align: center;
  font-weight: bold;
  color: #333333;
  padding-top: 5px;
  padding-bottom: 5px;
  margin-bottom: 48px;
}
.s_detail_flow > p {
  padding-bottom: 72px;
}

.s_detail_question > h3 {
  background-color: #ffff01;
  text-align: center;
  font-weight: bold;
  color: #333333;
  padding-top: 5px;
  padding-bottom: 5px;
  margin-bottom: 48px;
}
.s_detail_question > div {
  padding-bottom: 72px;
}
.s_detail_question > div h5 {
  font-weight: bold;
  margin-bottom: 24px;
}
.s_detail_question > div > p {
  padding-left: 2%;
  padding-right: 2%;
}

.s_detail_caution > h3 {
  background-color: #ffff01;
  text-align: center;
  font-weight: bold;
  color: #333333;
  padding-top: 5px;
  padding-bottom: 5px;
  margin-bottom: 48px;
}
.s_detail_caution > p {
  padding-bottom: 72px;
}

.s_detail_postage > h3 {
  background-color: #ffff01;
  text-align: center;
  font-weight: bold;
  color: #333333;
  padding-top: 5px;
  padding-bottom: 5px;
  margin-bottom: 48px;
}
.s_detail_postage > p {
  padding-bottom: 72px;
}

.s_connection_wrap {
  background-color: #0c263f;
}

.s_detail_connection {
  color: #fff;
  padding-top: 96px;
  padding-bottom: 96px;
}
.s_detail_connection > div {
  margin-bottom: 48px;
}
.s_detail_connection > div > h3 {
  font-weight: bold;
}
.s_detail_connection .s_detail_connection_l > ul::before {
  content: "";
  display: block;
  width: calc(25% - 10px);
  order: 1;
}
.s_detail_connection .s_detail_connection_l > ul::after {
  content: "";
  display: block;
  width: calc(25% - 10px);
}
.s_detail_connection .s_detail_connection_l > ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.s_detail_connection .s_detail_connection_l > ul > li {
  width: calc(25% - 10px);
  margin-bottom: 48px;
}
.s_detail_connection .s_detail_connection_l > ul > li img {
  width: 100%;
  height: 250px !important;
  -o-object-fit: cover;
     object-fit: cover;
}
.s_detail_connection .s_detail_connection_l > ul > li figcaption {
  color: #fff;
}
.s_detail_connection .s_detail_connection_l > ul > li > a {
  width: 100%;
}

@media screen and (max-width: 1152px) {
  .s_detail_item .s_detail_gallery {
    width: calc(50% - 10px);
  }
  .s_detail_item .s_detail_contents {
    width: calc(50% - 10px);
  }
}
@media screen and (max-width: 768px) {
  .s_detail_item {
    display: block;
  }
  .s_detail_item .s_detail_gallery {
    width: 100%;
  }
  .s_detail_item .s_detail_contents {
    width: 100%;
  }
  .s_detail_item #wrap {
    margin-bottom: 48px;
  }
  .s_detail_connection .s_detail_connection_l {
    white-space: nowrap;
    overflow: scroll;
  }
  .s_detail_connection .s_detail_connection_l > ul::before {
    content: none;
  }
  .s_detail_connection .s_detail_connection_l > ul::after {
    content: none;
  }
  .s_detail_connection .s_detail_connection_l > ul {
    flex-wrap: nowrap;
  }
  .s_detail_connection .s_detail_connection_l > ul > li {
    width: 220px;
    margin-right: 16px;
  }
  .s_detail_connection .s_detail_connection_l > ul > li figcaption {
    word-break: break-word;
    white-space: normal;
    width: 200px;
  }
  .s_detail_connection .s_detail_connection_l > ul:last-child {
    margin-right: 0;
  }
}
/*==================================================
スライダーのためのcss
===================================*/
.thumbnail-item > img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
}

#wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

#slider {
  width: 300px;
  margin: 0 auto 30px;
}

.slide-item img {
  width: 100%;
}

#thumbnail-list {
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

#thumbnail-list::before {
  content: "";
  display: block;
  width: 24%;
  order: 1;
}

#thumbnail-list::after {
  content: "";
  display: block;
  width: 24%;
  order: 1;
}

.thumbnail-item {
  flex: 0 1 24%;
  margin-bottom: 10px;
  box-sizing: border-box;
  position: relative;
}
.thumbnail-item:after {
  content: "";
  background-color: rgba(0, 0, 0, 0.5);
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 1;
  transition: 0.3s opacity linear;
}
.thumbnail-item.thumbnail-current:after {
  opacity: 0;
}
.thumbnail-item img {
  width: 100%;
  margin: 0 auto;
}

/*==================
お問い合わせ
===================== */
/* ================================
#contactのcss
 =================================*/
#contact_form:before {
  content: " ";
  margin-top: -130px;
  height: 130px;
  display: block;
  visibility: hidden;
}

.contact_btn_existing br,
.contact_btn_new br {
  display: none;
}

#contact > section {
  padding-top: 7%;
}

.contact_bg {
  background-image: url(../image/contact_bg.jpg);
  background-position-y: -60px;
  background-repeat: no-repeat;
}

#contact > section > section:nth-child(1) div:nth-child(1),
#contact > section > section:nth-child(1) div:nth-child(2) {
  text-align: center;
}

#contact > section > section:nth-child(1) > div:nth-child(2) {
  margin-bottom: 24px;
}

#contact > section > section > div:nth-child(3) {
  border: 1px solid #ccc;
  padding: 24px;
}

#contact > section > section > div:nth-child(3) > p {
  line-height: 1.8;
}

.contact_btn_area {
  display: flex;
  justify-content: space-between;
  margin-bottom: 48px;
}

.contact_btn_area div {
  width: 48%;
}

.contact_btn_existing {
  transition: 0.3s;
  box-shadow: 25px 25px 25px -20px #777777;
  border-radius: 50px;
}

.contact_btn_new {
  transition: 0.3s;
  box-shadow: 25px 25px 25px -20px #777777;
  border-radius: 50px;
}

.contact_btn_existing a,
.contact_btn_new a {
  display: block;
  padding: 16px 16px;
  font-weight: bold;
}

.contact_attention a {
  -webkit-text-decoration: underline 1px;
          text-decoration: underline 1px;
}

.contact_attention {
  margin-bottom: 48px;
}

#contact > section > section:nth-child(2) > div:nth-child(1) > h3 {
  margin-bottom: 16px;
}

#contact > section > section:nth-child(3) > div:nth-child(1) {
  display: flex;
  align-items: center;
  font-weight: bold;
  padding-bottom: 16px;
}

#contact > section > section:nth-child(3) > div:nth-child(1) > img {
  padding-left: 16px;
  padding-right: 16px;
}

#contact > section > section:nth-child(3) {
  margin-bottom: 72px;
  padding: 16px;
}

.onecolor_Underline {
  border-bottom: #ccc 1px solid;
}

#contact .vertical_line::before {
  content: "";
  position: absolute;
  left: 50%;
  background-color: #ccc;
  width: 1px;
  height: 50px;
  z-index: 2;
  top: -25px;
}

#contact > section > section:nth-child(4) {
  padding: 0 5px 5px 0px;
}

.contact_btn_section {
  display: flex;
  font-weight: bold;
  margin-bottom: 48px;
  justify-content: space-around;
}

.contact_btn_section div:nth-child(1) p {
  margin-bottom: 16px;
}

.contact_btn_section div:nth-child(2) p {
  margin-bottom: 16px;
}

.contact_btn_section > div {
  width: 45%;
  text-align: center;
}

.contact_info_area > div:nth-child(2) > h2 {
  text-align: center;
  margin-bottom: 24px;
}

.contact_info_area > div:nth-child(2) {
  margin-bottom: 24px;
  text-align: center;
}

.contact_shop_info .contact_shop_inside {
  display: flex;
  padding: 24px 36px;
  align-items: center;
}

.contact_shop_info .contact_shop_inside > div {
  width: 50%;
}

.contact_shop_inside > div:nth-child(1) span {
  font-weight: bold;
  color: #333333;
  padding-left: 5px;
}

.holiday {
  position: relative;
  top: -6px;
  font-weight: bold;
}

#site-content .not_applicable {
  display: block;
  width: 100%;
  position: relative;
  top: -6px;
  font-weight: bold;
}

/*/=============================================
// メールボタン
//================================================*/
.contact_btn_mail {
  transition: 0.3s;
  box-shadow: 14px 14px 25px -17px #333;
  border-radius: 30px;
  background: rgb(65, 165, 191);
}

.contact_btn_mail a {
  color: #fff;
  display: block;
  padding: 16px 0;
}

.contact_btn_mail img {
  display: inline-block;
}

.contact_btn_tel {
  transition: 0.3s;
  box-shadow: 25px 25px 25px -20px #777777;
  border-radius: 30px;
  background: #fff;
}

.contact_btn_tel a {
  display: block;
  padding: 16px 0;
}

.contact_btn_tel img {
  display: inline-block;
  padding-right: 5px;
}

/*==============================================
お問い合わせフォーム
===============================================*/
.contact_required {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.contact_required p:nth-child(2) {
  background-color: #ff6050;
  color: #fff;
  padding: 4px 16px;
}

.contact_checkbox {
  display: flex;
  align-items: center;
}

.mwform-checkbox-field {
  width: 100px;
}

.contact_title {
  background-color: #ffff01;
  color: #333333;
  padding-bottom: 48px;
}

.contact_title > th {
  padding-bottom: 0;
}

.contact_wrap {
  margin-top: 170px;
}

.contact_area {
  margin-top: 50px;
}

.contact_send_btn {
  text-align: center;
}

.contact_send_btn input {
  transition: 0.3s;
  box-shadow: 14px 14px 25px -17px #333;
  border-radius: 60px;
  background: rgb(65, 165, 191);
  width: 45%;
  text-align: center;
  margin-top: 24px;
  margin-bottom: 72px;
}

.contact_send_btn input:hover {
  opacity: 0.7;
  text-decoration: none;
}

.ui-datepicker-header {
  background: rgb(65, 165, 191) !important;
}

.contact_checkbox span,
.contact_checkbox label {
  cursor: pointer;
}

.contact_checkbox label {
  display: flex;
  align-items: center;
}

.contact_table input {
  width: 100%;
}

.contact_checkbox input {
  width: 25px;
  height: 25px;
  margin-right: 5px;
  margin-bottom: 5px;
}

table td,
table th {
  padding-top: 0;
  padding-bottom: 48px;
  padding-left: 16px;
  padding-right: 16px;
}

.contact_spacing th,
.contact_spacing td {
  padding-top: 48px;
}

.contact_confirm {
  padding-bottom: 48px;
}

@media screen and (max-width: 960px) {
  .contact_title {
    padding-bottom: 0;
  }
  .contact_name th {
    padding-bottom: 24px;
  }
  .contact_name td {
    padding-top: 0;
  }
  .contact_name th {
    padding-bottom: 24px;
  }
  .contact_mail th {
    padding-bottom: 24px;
  }
  .contact_post th {
    padding-bottom: 24px;
  }
  .contact_prefectures th {
    padding-bottom: 24px;
  }
  .contact_city th {
    padding-bottom: 24px;
  }
  .contact_tel th {
    padding-bottom: 24px;
  }
  .contact_contents th {
    padding-bottom: 24px;
  }
  .contact_reply th {
    padding-bottom: 24px;
  }
  .contact_table {
    display: block;
  }
  .contact_table tr {
    display: block;
  }
  .contact_table td {
    display: block;
  }
  .contact_table tbody {
    display: block;
  }
  .contact_table td textarea {
    width: 100%;
  }
  .contact_required {
    justify-content: left;
  }
  .contact_required p:nth-child(1) {
    padding-right: 16px;
  }
  th {
    padding: 1rem 1rem 0rem 1.5rem;
  }
  .contact_send_btn input {
    margin-top: 24px;
    margin-bottom: 72px;
  }
}
/*==============================================
お申し込みフォーム（サービス）
===============================================*/
.not_change {
  pointer-events: none;
}

.app_s_required {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.app_s_required p:nth-child(2) {
  background-color: #ff6050;
  color: #fff;
  padding: 4px 16px;
}

.app_s_checkbox {
  display: flex;
  align-items: center;
}

.mwform-checkbox-field {
  width: 100px;
}

.app_s_title {
  background-color: #ffff01;
  color: #333333;
  padding-bottom: 48px;
}

.app_s_title > th {
  padding-bottom: 0;
}

.app_s_wrap {
  margin-top: 170px;
}

.app_s_area {
  margin-top: 50px;
}

.app_s_send_btn {
  text-align: center;
}

.app_s_send_btn input {
  transition: 0.3s;
  box-shadow: 14px 14px 25px -17px #333;
  border-radius: 60px;
  background: rgb(65, 165, 191);
  width: 45%;
  text-align: center;
  margin-top: 24px;
  margin-bottom: 72px;
}

.app_s_send_btn input:hover {
  opacity: 0.7;
  text-decoration: none;
}

.ui-datepicker-header {
  background: rgb(65, 165, 191) !important;
}

.app_s_checkbox span,
.app_s_checkbox label {
  cursor: pointer;
}

.app_s_checkbox label {
  display: flex;
  align-items: center;
}

.app_s_table input {
  width: 100%;
}

.app_s_checkbox input {
  width: 25px;
  height: 25px;
  margin-right: 5px;
  margin-bottom: 5px;
}

table td,
table th {
  padding-top: 0;
  padding-bottom: 48px;
  padding-left: 16px;
  padding-right: 16px;
}

.app_s_spacing th,
.app_s_spacing td {
  padding-top: 48px;
}

.app_s_confirm {
  padding-bottom: 48px;
}

@media screen and (max-width: 960px) {
  .app_s_table {
    display: block;
  }
  .app_s_table tr {
    display: block;
  }
  .app_s_table td {
    display: block;
  }
  .app_s_table tbody {
    display: block;
  }
  .app_s_table td textarea {
    width: 100%;
  }
  .app_s_required {
    justify-content: left;
  }
  .app_s_table input {
    width: 100%;
  }
  .app_s_table .app_s_reply {
    width: auto;
  }
  .app_s_required p:nth-child(1) {
    padding-right: 16px;
  }
  th {
    padding: 1rem 1rem 0rem 1.5rem;
  }
  .app_s_title {
    padding-bottom: 0;
  }
  .app_s_service_name td {
    padding-top: 0;
  }
  .app_s_service_name th {
    padding-bottom: 24px;
  }
  .app_s_service_detail td {
    padding-top: 0;
  }
  .app_s_service_detail th {
    padding-bottom: 24px;
  }
  .app_s_service_caution td {
    padding-top: 0;
  }
  .app_s_service_caution th {
    padding-bottom: 24px;
  }
  .app_s_name td {
    padding-top: 0;
  }
  .app_s_name th {
    padding-bottom: 24px;
  }
  .app_s_service_price td {
    padding-top: 0;
  }
  .app_s_service_price th {
    padding-bottom: 24px;
  }
  .app_s_mail td {
    padding-top: 0;
  }
  .app_s_mail th {
    padding-bottom: 24px;
  }
  .app_s_tel td {
    padding-top: 0;
  }
  .app_s_tel th {
    padding-bottom: 24px;
  }
  .app_s_contents td {
    padding-top: 0;
  }
  .app_s_contents th {
    padding-bottom: 24px;
  }
  .app_s_reply td {
    padding-top: 0;
  }
  .app_s_reply th {
    padding-bottom: 24px;
  }
  .app_s_send_btn input {
    margin-top: 24px;
    margin-bottom: 72px;
  }
}
/*==============================================
キャンセルエリア
===============================================*/
.cancel_area {
  text-align: center;
}

.cancel_area a {
  text-decoration: underline;
}

.cancel_area label {
  margin-bottom: 16px;
  display: inline-flex;
  align-items: center;
}

.cancel_area {
  margin-bottom: 16px;
}

.cancel_area input {
  width: 25px;
  height: 25px;
}

/*==================================
会社概要
====================================*/
.v_line_left {
  border-left: 5px solid #333;
  padding-left: 10px;
}

.company_topview div p {
  text-align: center;
}

.company_toc {
  background-color: #87c4e0;
  margin: 10px 0;
  padding: 10px;
  border-radius: 30px;
  text-align: center;
}

.company_toc h4 {
  font-weight: 400;
}

.company_contents {
  margin-top: 10px;
}

#company_area_1::before {
  content: " ";
  margin-top: 10px;
  height: 10px;
  display: block;
  visibility: hidden;
}

#company_area_2::before {
  content: " ";
  margin-top: 10px;
  height: 180px;
  display: block;
  visibility: hidden;
}

#company_area_3::before {
  content: " ";
  margin-top: 30px;
  height: 30px;
  display: block;
  visibility: hidden;
}

#company_area_4::before {
  content: " ";
  margin-top: -30px;
  height: 30px;
  display: block;
  visibility: hidden;
}

#company_area_5::before {
  content: " ";
  margin-top: -30px;
  height: 30px;
  display: block;
  visibility: hidden;
}

#company_area_6::before {
  content: " ";
  margin-top: 30px;
  height: 30px;
  display: block;
  visibility: hidden;
}

.company_contents section {
  padding: 5px;
}

.company_contents section div {
  padding: 10px;
}

#main-vidual {
  margin-top: 70px;
}

#company_page_link li {
  list-style: none;
}

.company_toc_list {
  display: flex;
}

.company_toc_list li {
  width: calc(20% - 30px);
  margin-right: 30px;
  text-align: center;
}

.company_toc_list li a {
  transition: background 1s;
}

.company_toc_list li a:hover {
  background: #87c4e0;
}

.company_toc_list li:last-child {
  margin-right: 0;
}

#company_page_link li a {
  border: 1px solid #333;
  display: block;
  text-decoration: none;
}

.company_philosophy,
.company_move,
.company_contents_map div {
  padding: 10px;
}

#company_page_link li a::before,
#company_page_link tr td a span::before {
  content: "▼";
  color: #ccc;
}

.company_contents table tr td,
.company_contents table tr th {
  border: 0px none;
}

.company_president div {
  width: 50%;
}

.company_president div img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.company_flex {
  display: flex;
}

#company_page_link {
  border-collapse: separate;
  border-spacing: 10px;
  padding: 5px;
}

#company_page_link tr td,
#company_page_link tr th {
  padding: 10px;
  border-bottom: 1px solid #87c4e0;
  padding-bottom: 0;
}

#company_page_link tr td a {
  text-decoration: none;
  color: #87c4e0;
}

.company_contents iframe {
  width: 100%;
}

.company_contents_map .company_map_area {
  margin-bottom: 30px;
}

@media screen and (max-width: 878px) {
  .company_flex {
    display: block;
  }
  .company_president div {
    width: 100%;
  }
  #company_page_link tr td,
#company_page_link tr th {
    display: block;
    width: 100%;
  }
  .company_toc_list li {
    width: calc(33.3333333333% - 30px);
    margin-right: 0;
    margin-bottom: 30px;
  }
  .company_toc_list {
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
@media screen and (max-width: 600px) {
  .company_toc_list li {
    width: calc(50% - 30px);
  }
  .company_toc_list {
    justify-content: space-around;
  }
}
/*==============================
お知らせ
=================================*/
.hover_anime {
  transition: background 1s;
}

.hover_anime:hover {
  background: rgb(97, 108, 194);
}

.info_cat_list {
  display: flex;
  list-style-type: none;
  padding: 0;
}

.info_cat_list li a {
  border: 1px solid #333;
  padding-top: 10px;
  padding-bottom: 10px;
  padding-left: 10px;
  padding-right: 10px;
  display: block;
  text-decoration: none;
}

.info_cat_list li {
  text-align: center;
  width: calc(33.3333333333% - 30px);
  margin-right: 10px;
}

.info_cat_list li:last-child {
  margin-right: 0;
}

.info_contents {
  margin-bottom: 48px;
  border: 1px solid #fff;
  padding: 10px;
}

.info_main .info_contents:first-child {
  margin-top: 0;
}

.info_contents span {
  display: inline-block;
  padding: 10px;
  margin: 10px;
  border-radius: 3px;
  font-size: 18px;
  font-weight: bold;
}

.site-header .info_all_cat {
  padding: 10px;
  margin: 10px 0;
  font-size: 18px;
  background-color: rgb(22, 22, 110);
  font-weight: bold;
}

.info_title {
  font-size: 22px;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px dotted #fff;
}

/*====================================
ブログlist
=====================================*/
@media screen and (max-width: 600px) {
  .blog_list img {
    max-width: none !important;
  }
}
/*====================================
ブログ詳細
=====================================*/
.s_blog_contents {
  display: flex;
}

.blog_detail .entry-header {
  margin-bottom: 0;
  margin-top: 0;
  margin-left: 0;
  margin-right: 0;
  padding-top: 0;
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
}

.blog_detail {
  margin-right: 5%;
}

.blog_detail .entry-content {
  margin-top: 10px;
  margin-left: 0;
  margin-right: 0;
  padding-top: 0;
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
}

#post-130 .s_blog_contents {
  margin-top: 0;
  margin-bottom: 0;
}

.blog_detail .blog_detail_title h3 {
  padding-bottom: 10px;
  margin-bottom: 48px;
  border-bottom: 1px solid #fff;
}

.sidber_archive ul li {
  padding-top: 10px;
  padding-bottom: 10px;
}
.sidber_archive ul li a:hover {
  opacity: 0.7;
}

.sidber_posts ul li:nth-child(odd) {
  padding-top: 10px;
}

.sidber_posts ul li:nth-child(even) {
  padding-bottom: 10px;
  border-bottom: 1px solid #fff;
}

.nav-previous a {
  transition: all 0.3s ease;
  color: #fff;
}
.nav-previous a p {
  color: #fff !important;
}

.nav-next a {
  transition: all 0.3s ease;
}
.nav-next a p {
  color: #fff !important;
  text-align: right;
}

.nav-previous a:hover {
  color: #fff;
}

.nav-next a:hover {
  color: #fff;
}

@media screen and (max-width: 878px) {
  .s_blog_contents {
    display: block;
  }
  .s_blog_contents .blog_detail {
    width: 100%;
  }
  .s_blog_contents .widget-area {
    width: 100%;
  }
  .blog_detail .blog_contents {
    margin-bottom: 90px;
  }
}
/*------------------------------
サイドバー
-------------------------------*/
.widget-area {
  display: block;
  margin: 0;
  width: 22%;
  padding-top: 0;
  padding-bottom: 0;
  color: #fff;
}

.widget-area a {
  text-decoration: none;
  color: #fff !important;
}

.widget-area h4 {
  border-bottom: 1px solid #333;
  font-size: 18px;
}

.widget-area time {
  font-size: 18px;
}

.blog_detail {
  width: 75%;
}

.sidber_time {
  border-bottom: 1px solid 10px;
}

.sidber_archive li {
  border-bottom: 1px solid 10px;
}

#post-29 {
  max-width: 1152px;
  margin: 0 auto;
}
#post-29 #sitemap_list {
  background-color: #103454;
  margin-bottom: 48px;
}
#post-29 #sitemap_list a {
  color: #fff;
}

@media screen and (max-width: 1152px) {
  #sitemap_list {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}
/*===================================
knee
=====================================*/
.knee_wrap {
  padding-top: 96px;
  padding-bottom: 96px;
}

.knee {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.knee_contents {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  color: #fff;
}
.knee_contents > div {
  width: 50%;
}
.knee_contents > div > div {
  margin-bottom: 24px;
}
.knee_contents > div:nth-child(1) {
  margin-right: 16px;
}
.knee_contents > div:nth-child(2) {
  margin-left: 16px;
}

.knee_btn > a {
  font-size: 1.778rem;
  background-color: #ffff01;
  color: #333333;
  border-radius: 50px;
  padding: 16px 48px;
  font-weight: bold;
  width: 100%;
  text-align: center;
}
.knee_btn > a:hover {
  opacity: 0.8;
}

@media screen and (max-width: 768px) {
  .knee_contents {
    display: block;
  }
  .knee_contents > div {
    width: 100%;
  }
  .knee_contents > div:nth-child(1) {
    margin-bottom: 24px;
    margin-right: 0;
  }
  .knee_contents > div:nth-child(2) {
    margin-left: 0;
  }
}
/*==============================
フッター
=================================*/
.footer-navigation-wrapper li a {
  text-decoration: none;
}

.footer_flex {
  display: flex;
  justify-content: center;
  list-style-type: none;
  padding: 0;
  flex-wrap: wrap;
}

.footer_flex li {
  margin: 16px;
}

.footer_copyright {
  margin: 0;
  text-align: center;
  background-color: #103454;
  color: #fff;
}

.footer_flex img {
  width: 32px;
  height: 32px;
}

.footer_logo_area {
  text-align: center;
  margin-top: 48px;
  margin-bottom: 48px;
}

.footer_logo_area img {
  width: 300px;
}

.footer_area {
  margin: 0;
  max-width: 100%;
  border-top: 1px solid #87c4e0;
  background: #ffff01;
}

.footer_area nav {
  margin: 0;
}

.footer-navigation-wrapper li a {
  transition: all 0.3s ease;
}

.footer-navigation-wrapper li a:hover {
  color: #87c4e0;
}

.sns_area img {
  transition: transform 0.2s linear;
}

.sns_area img:hover {
  transform: scale(1.2);
}

@media screen and (max-width: 600px) {
  .footer_logo_area img {
    width: 200px;
  }
}
/*
このファイルに追加しないでください
スタイルの追加は「style.css」に書いてください
*/
/*# sourceMappingURL=my_style.css.map */