/*!
Theme Name: kakiuchi-imp2026
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: kakiuchi-imp2026
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

kakiuchi-imp2026 is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

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

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/* font */
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("./fonts/NotoSansJP-Light.woff2") format("woff2");
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("./fonts/NotoSansJP-Regular.woff2") format("woff2");
}
@font-face {
  font-family: "Noto Serif JP";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("./fonts/NotoSerifJP-Light.woff2") format("woff2");
}
@font-face {
  font-family: "Noto Serif JP";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("./fonts/NotoSerifJP-Regular.woff2") format("woff2");
}

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  margin: 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
}

sub {
}

sup {
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
  box-sizing: inherit;
}

html {
  box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
  /*
	font-family: 'Noto Serif JP', serif;
    font-feature-settings: "palt";
    -webkit-font-smoothing: antialiased;
    color: #221815;
    box-sizing: border-box;
    word-break: break-all;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 32px;
    letter-spacing: 0.025em;
    text-align: justify;
	*/
  color: #434548;
  font-family: "Noto Serif JP", serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 32px;
  letter-spacing: 1px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
}

p {
  margin: 0;
}

dfn,
cite,
em,
i {
  font-style: italic;
}

blockquote {
  margin: 0;
}

address {
  margin: 0;
}

pre {
}

code,
kbd,
tt,
var {
}

abbr,
acronym {
}

mark,
ins {
}

big {
  font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
  background: #fff;
}

hr {
}

ul,
ol {
  margin: 0;
}

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

li > ul,
li > ol {
  margin-bottom: 0;
  margin-left: 1.5em;
}

dt {
}

dd {
  margin: 0;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%;
}

img {
  height: auto;
  max-width: 100%;
}

figure {
  margin: 1em 0;
}

table {
  margin: 0;
  width: 100%;
}

/* Links
--------------------------------------------- */
a {
  color: #4169e1;
  text-decoration: none;
}

a:visited {
  color: #800080;
}

a:hover,
a:focus,
a:active {
  color: #191970;
  text-decoration: none;
}

a:focus {
  outline: thin dotted;
}

a:hover,
a:active {
  outline: 0;
  opacity: 0.7;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  border: 1px solid;
  border-color: #ccc #ccc #bbb;
  border-radius: 3px;
  background: #e6e6e6;
  color: rgba(0, 0, 0, 0.8);
  line-height: 1;
  padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
  border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
  border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
  color: #666;
  border: 1px solid #ccc;
  border-radius: 3px;
  padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
  color: #111;
}

select {
  border: 1px solid #ccc;
}

textarea {
  width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.main-navigation {
  display: block;
  width: 100%;
}

.main-navigation ul {
  display: none;
  list-style: none;
  margin: 0;
  padding-left: 0;
}

.main-navigation ul ul {
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
  float: left;
  position: absolute;
  top: 100%;
  left: -999em;
  z-index: 99999;
}

.main-navigation ul ul ul {
  left: -999em;
  top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
  display: block;
  left: auto;
}

.main-navigation ul ul a {
  width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
  left: auto;
}

.main-navigation li {
  position: relative;
}

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

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
  display: block;
}

@media screen and (min-width: 37.5em) {
  .menu-toggle {
    display: none;
  }

  .main-navigation ul {
    display: flex;
  }
}

.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
  margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
  display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
  flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
  text-align: end;
  flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
  display: block;
}

.post,
.page {
  margin: 0;
}

.updated:not(.published) {
  display: none;
}

.page-content,
.entry-content,
.entry-summary {
  margin: 0;
}

.page-links {
  clear: both;
  margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
  word-wrap: break-word;
}

.bypostauthor {
  display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
  margin: 0 0 1.5em;
}

.widget select {
  max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
  display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption .wp-caption-text {
  margin: 0.8075em 0;
}

.wp-caption-text {
  text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
  margin-bottom: 1.5em;
  display: grid;
  grid-gap: 1.5em;
}

.gallery-item {
  display: inline-block;
  text-align: center;
  width: 100%;
}

.gallery-columns-2 {
  grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
  grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
  grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
  grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
  grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
  grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
  grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
  grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
  display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
  display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
  display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}
/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
  outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {
  /*rtl:ignore*/
  float: left;

  /*rtl:ignore*/
  margin-right: 1.5em;
  margin-bottom: 1.5em;
}

.alignright {
  /*rtl:ignore*/
  float: right;

  /*rtl:ignore*/
  margin-left: 1.5em;
  margin-bottom: 1.5em;
}

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5em;
}

/*---------------------------------------------
  Original css
--------------------------------------------- */

/* 共通
--------------------------------------------- */

.w630 {
  width: 670px;
  padding: 0 20px;
  margin: 0 auto;
}

.w770 {
  width: 810px;
  padding: 0 20px;
  margin: 0 auto;
}

.w970 {
  width: 1010px;
  padding: 0 20px;
  margin: 0 auto;
}

.w1030 {
  width: 1070px;
  padding: 0 20px;
  margin: 0 auto;
}

.w1170 {
  width: 1210px;
  padding: 0 20px;
  margin: 0 auto;
}

.w1290 {
  width: 1330px;
  padding: 0 20px;
  margin: 0 auto;
}

.orange {
  color: #003894;
}

.ye {
  color: #fdd108;
}

.blue {
  color: #003894;
}

.blue2 {
  color: #012b70;
}

.bg_gy {
  background-color: #f9f9f9;
}

.bg_ye {
  background-color: #feecba;
}

.bg_blue {
  background-color: #f1f8ff;
}

.flex {
  display: flex;
}

/*
h1 {
	font-size: 14px;
}
*/

h2 {
  font-size: 30px;
  font-weight: 400;
  margin: 0;
}

p.page_p {
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 32px;
  letter-spacing: 0;
}

.left {
  text-align: left;
}

/* mv
--------------------------------------------- */

section#mv {
  position: relative;
  z-index: 11;
}

.mv_area {
  /*background-image: url("images/mv@pc.webp");*/
  /*background-image: linear-gradient(rgba(0, 0, 0, .35), rgb(0 0 0 / 35%)), url(/implant/wp-content/themes/kakiuchi-imp/images/mv@pc.webp);*/
  background-image:
    linear-gradient(rgba(0, 0, 0, 0.35), rgb(0 0 0 / 35%)),
    url(images/mv@pc.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 100vh;
}

.mv_con {
  height: 100vh;
  color: #fff;
  justify-content: space-between;
  position: relative;
}

.top_header {
  width: 100%;
  height: 155px;
  background-color: rgb(255 255 255 / 50%);
  position: absolute;
  color: #002a70;
  border-bottom: 5px solid #ffe103;
  z-index: 2;
}

.top_header_l {
  width: 688px;
}

.top_header_r {
  width: calc(100% - 688px);
}

.mv_con_l {
  width: 688px;
  /*
    background-image: url(images/mv_con_l_bg.png);
    background-size: cover;
	*/
  position: relative;
}

section#mv .mv_con_l {
  width: 688px;
  min-width: 688px;
}

.mv_con_up_00 {
  height: 155px;
  /*background-color: #002a70;*/
  border-bottom: 5px solid #ffe103;
  align-items: center;
  justify-content: center;
  gap: 30px;
}

.mv_con_up {
  height: 155px;
  background-color: #002a70;
  border-bottom: 5px solid #ffe103;
  align-items: center;
  justify-content: center;
  gap: 30px;
}

.hd_logo {
  padding: 10px 0 0;
  display: flex;
  gap: 15px;
}

.hd_logo_l {
}

.hd_logo_img {
}

.hd_logo_r {
}

.hd_logo_jp {
  line-height: 0;
}

.hd_logo_jp img {
  width: 210px;
}

.hd_logo_en {
  line-height: 0;
  padding: 4px 0 0;
  text-align: center;
}

.hd_logo_en img {
  /* width: 166px; */
  height: 14px;
}

.mv_logo_l {
}

.mv_logo_l header {
  letter-spacing: 0;
  margin-top: 10px;
  width: 320px;
}

.mv_logo_l header a {
  letter-spacing: 0;
}

.mv_logo_l header h1,
.mv_logo_l header p {
  font-size: 11px;
  font-weight: 300;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: -1px;
  margin-top: 10px;
  text-align: left;
  line-height: 15px;
}

.mv_logo_r {
}

.mv_logo__txt {
  font-size: 18.94px;
  font-weight: 400;
}

.mv_con_mid {
  position: absolute;
  top: 25.5%;
  padding: 0 64px 0 52px;
}

.mv_con_mid_big_txt {
  font-size: 100px;
  color: rgb(237 238 242 / 25%);
}

.mv_con_mid p {
  font-size: 14px;
  padding: 32px 0 12px;
}

.mv_con_mid hr {
  margin-left: -56px;
  margin-right: 30px;
  border: 1px solid rgb(255 255 255 / 100%);
}

.mv_con_mid h2,
.mv_con_mid .hero_copy {
  /*font-size: 36px;*/
  font-size: 26px;
  line-height: 48px;
  letter-spacing: 4px;
  padding: 7px 0 0;
}

.mv_con_dw {
  padding: 0 64px 0 52px;
  position: absolute;
  bottom: 41px;
}

.mv_con_dw p {
  font-size: 14px;
  line-height: 26px;
}

.mv_con_dw p span {
  /*font-size: 18px;*/
  line-height: 32px;
  color: #ffe103;
  font-size: 20px;
  font-weight: bold;
}

.mv_con_r {
}

.mv_tel {
  font-size: 32px;
  padding: 55px 120px 0 0;
}

.mv_tel a {
  color: #434548;
  font-weight: 400;
}

.mv_tel a img {
  width: 18px;
  margin-right: 10px;
}

.mv_con_r .hamburger_menu {
}

section#mv .mv_con_r {
  width: 520px;
  height: 115px;
  padding: 60px 20px 20px;
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  /* gap: 20px;*/
}

section#mv .mv_tel {
  padding: 0;
}

section#mv .hamburger_menu {
  width: 90px;
  height: 90px;
  position: relative;
}

@media screen and (max-width: 1210px) {
  section#mv .mv_con_r {
    justify-content: flex-end;
  }
}

.mv_point {
  position: absolute;
  /*bottom: 40px;*/
  bottom: 20px;
  right: 80px;
}

.mv_point_con {
  width: clamp(200px, calc(50vw - 340px), 300px);
  padding: 10px;
}

/* header
--------------------------------------------- */

.hdr,
.hdr2 {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  width: 100%;
}

.hdr {
  position: absolute;
  padding: 28px 178px 0 30px;
}

.hdr2 {
  background-color: #fff;
  /* padding: 10px 178px 0 30px; */
  display: flex;
  align-items: center;
  border-bottom: 5px solid #ffe103;
}

.hdr2 .mv_con_l {
  background-image: unset;
  min-width: 688px;
  width: 100%;
}

.hdr2 .mv_con_up {
  border: unset;
  justify-content: flex-start;
  padding-left: 50px;
}

.hdr2 .mv_con_r {
  width: 520px;
  padding: 0 20px;
  align-items: center;
}

.hdr2 .mv_tel {
  padding: 40px 0 0;
}

.hd_info {
  padding: 12px 0 0;
  gap: 15px;
}

.hd_info_l {
  color: #434548;
  font-size: 12px;
  line-height: 20px;
}

.hd_info_r {
  font-size: 12px;
  line-height: 20px;
  color: #00358e;
}

.mv_con_r_l {
  width: 300px;
  height: 90px;
  background-color: #003893;
}

.menu_tel {
  height: 90px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.menu_tel .txt {
  font-size: 13px;
}

.menu_tel .tel {
}

.menu_tel .tel a {
  color: #fff;
  font-size: 24.3px;
}

.menu_tel .tel a img {
  width: 14px;
}

.mv_con_r_c {
  width: 90px;
  height: 90px;
  background-color: #ffe103;
}

.menu_web {
  width: 90px;
  height: 90px;
  display: flex;
  /* justify-content: center; */
  align-items: center;
  flex-direction: column;
}

.menu_web svg {
  width: 28px;
  fill: #003893;
  padding: 18px 0 0;
}

.menu_web .txt {
  font-size: 13px;
  color: #002a70;
  padding: 4px 0 0;
}

.mv_con_r_c.line {
  width: 90px;
  height: 90px;
  background-color: #06c755;
}

.mv_con_r_c.line .menu_web {
  width: 90px;
  height: 90px;
  display: flex;
  /* justify-content: center; */
  align-items: center;
  flex-direction: column;
}

.mv_con_r_c.line .menu_web svg {
  width: 28px;
  padding: 18px 0 0;
}

.mv_con_r_c.line .menu_web svg .st0 {
  fill: #fff;
}

.mv_con_r_c.line .menu_web svg .st1 {
  fill: #3eb157;
}

.mv_con_r_c.line .menu_web .txt {
  font-size: 13px;
  color: #fff;
  padding: 4px 0 0;
}

.mv_con_r_r {
  width: 90px;
  height: 90px;
  position: relative;
}

@media screen and (max-width: 1210px) {
  .mv_con_r_l,
  .mv_con_r_c {
    display: none;
  }

  .hdr2 .mv_con_r {
    justify-content: flex-end;
  }
}

.sub_con_hd .mv_con_l {
  width: calc(100% - 536px);
}

.sub_con_hd .mv_con_r {
  width: 536px;
  display: flex;
  align-items: center;
}

.sub_con_hd .mv_con_r_l2 {
  width: 406px;
  /*padding: 0 0 0 50px;*/
}

.sub_con_hd .mv_tel {
  padding: 0;
}

@media screen and (max-width: 1220px) {
  .sub_con_hd .mv_con_r_l2 {
    display: none;
  }

  .sub_con_hd .mv_con_r {
    justify-content: flex-end;
  }
}

.hdr2 .mv_con {
  height: auto;
  width: 100%;
  justify-content: flex-start;
}

.hdr2 .hdr_tel {
  padding: 21px 0 22px;
  margin-right: 120px;
}

.hdr2 .hdr_l {
  display: flex;
  gap: 30px;
  align-items: flex-end;
}

.hdr2 .hdr_l_l a {
  display: flex;
  align-items: center;
  gap: 30px;
}

.hdr_logo img {
}

.hdr_imp {
  background-color: #fdd108;
  padding: 10px 55px;
}

.hdr_imp_en {
  font-size: 14px;
  font-weight: 600;
  color: #003894;
  height: 24px;
}

.hdr_imp_txt {
  font-size: 20.24px;
  font-weight: 600;
  color: #003894;
}

.hdr_tel {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.hdr_tel a.otr_yyk {
  font-size: 14px;
  margin: -12px 0 12px;
}

.hdr_tel a {
  font-size: 39.6px;
  font-weight: 600;
  letter-spacing: 0.03em;
  color: #221815;
}

.hdr_tel a img {
  margin-right: 8px;
}

header.sub_hd {
  position: fixed;
  width: 100%;
  top: 0;

  z-index: 10;
}

.header_top {
  width: 100%;
  position: fixed;
  top: 0;
  z-index: 10;
}

.target-area {
  opacity: 0;
}
.is-in {
  opacity: 1 !important;
}

.hdr_l {
  display: flex;
  align-items: flex-end;
  gap: 30px;
}

.hdr_l_l {
}

.hdr_l_r {
  width: 200px;
}

/***** hamburger_menu *****/

.hamburger_menu {
}

nav.globalMenuSp {
  position: fixed;
  z-index: 98;
  top: 0;
  right: 0;
  background: #002a70;
  color: #fff;
  text-align: center;
  transform: translateX(100%);
  transition: all 0.6s;
  width: 478px;
  height: 100%;
  padding: 0 0 50px;
  overflow-x: auto;
}

nav.globalMenuSp ul {
  margin: 188px auto 0;
  padding: 0;
  width: 300px;
}

nav.globalMenuSp ul li {
  font-size: 20px;
  text-align: left;
  list-style-type: none;
  padding: 0 0 18px;
  width: 100%;
}

nav.globalMenuSp ul li a {
  display: block;
  color: #fff;
}

nav.globalMenuSp ul li a img {
  margin-bottom: -5px;
}

nav.globalMenuSp ul li a:hover img {
  transform: none;
}

img.hm_icon {
  margin-right: 6px;
}

img.hm_calendar {
  margin-left: 10px;
  margin-bottom: -3px !important;
}

img.line {
  width: 34px;
  padding-left: 10px;
}

li.hm_ofs {
  padding: 22px 0 19px !important;
}

li.hm_time {
  padding: 53px 0 0 !important;
}

.hm_time_ttl {
  padding: 0 0 14px;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
}

.hm_time_ttl_l {
  font-size: 18px;
}

.hm_time_ttl_r {
  font-size: 14px;
}

li.hm_time table {
  border-top: solid 1px #fff;
  margin: 0 0 14px;
  color: #fff;
}

li.hm_time table td {
  border-bottom: solid 1px #fff;
}

li.hm_time table td.td2 {
  border-bottom: solid 1px #3360a9;
}

li.hm_time table td.time_l {
  font-weight: 300;
  width: 125px;
  text-align: center;
  font-size: 14px;
}

li.hm_time table td.time_r {
  text-align: center;
  width: 25px;
  font-size: 14px;
  font-weight: 300;
}

li.hm_time p.tb_p {
  color: #fff;
}

li.hm_time table span.brown {
  color: #fff;
  font-size: 8px;
}

li.hm_time p {
  color: #595757;
  font-size: 14px;
  line-height: 24px;
  letter-spacing: 0;
}

/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
  transform: translateX(0%);
  line-height: 32px;
}

/* ハンバーガー用 */
.navToggle {
  /*display: block; */
  position: absolute;
  right: 0;
  /* top: 30px; */
  top: 0;
  width: 90px;
  height: 90px;
  cursor: pointer;
  z-index: 99;
  text-align: center;
  background-color: #002a70;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 32px;
}

.navToggle.active {
  position: fixed;
  top: 33px;
  right: 20px;
}

.navToggle span {
  display: block;
  position: absolute; /* .navToggleに対して */
  width: 42.5px;
  border-bottom: solid 1px #fff;
  -webkit-transition: 0.35s ease-in-out;
  -moz-transition: 0.35s ease-in-out;
  transition: 0.35s ease-in-out;
  /*left: 6px;*/
}

.navToggle span:nth-child(1) {
  top: 20px;
}

.navToggle span:nth-child(2) {
  top: 32px;
}

.navToggle span:nth-child(3) {
  top: 44px;
}

.navToggle span:nth-child(4),
.navToggle span:nth-child(5) {
  border: none;
  color: #fff;
  font-size: 11.2px;
  font-weight: bold;
  top: 50px;
  letter-spacing: 2.5px;
  border-bottom: 0 !important;
}

span.txt2 {
  left: 19px;
}

.navToggle span.active {
  border-bottom: solid 1px #fff;
  color: #fff;
}

/* タップ後 */
/* 最初のspanをマイナス45度に */
.navToggle.active span:nth-child(1) {
  top: 30px;
  left: 22px;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

/* 2番目と3番目のspanを45度に */
.navToggle.active span:nth-child(2),
.navToggle.active span:nth-child(3) {
  top: 30px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  transform: rotate(45deg);
}

.navToggle span.txt1,
.navToggle span.txt2 {
  opacity: 0;
  transition: 0.5s;
}

.navToggle span.txt1.is-active,
.navToggle span.txt2.is-active {
  opacity: 1;
  transition: 0.5s;
}

.rightbtn_menu {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 11;
}

/*
.rightbtn_menu2 {
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 9;
  line-height: 0;
  transition: 0.5s;
}

.rightbtn_menu2.is-in {
  transform: translateX(450px);
  transition: 0.5s;
}
  */

.rightbtn_menu2 {
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 9;
  line-height: 0;
  transition: transform 0.5s;
  transform: translateX(110%); /* 初期は画面外（非表示） */
}

/* 100vh超えで表示（右→左に出る） */
.rightbtn_menu2.is-show {
  transform: translateX(0);
}

/* footerエリアでは右に逃げる（非表示） */
.rightbtn_menu2.is-out {
  transform: translateX(110%);
}

.totop {
  position: absolute;
  right: 45px;
  bottom: 55px;
  z-index: 9;
}

a.link_r:hover {
  color: #f5ad7c;
}

a.link_r:hover img {
  transform: scale(1.2, 1.2);
}

/* index
--------------------------------------------- */

.mvbox .textbox p,
section.center p {
  font-size: 16px;
}

span.kakko_left {
  margin: 0 0 0 -7px !important;
}

span.kakko_right {
  margin: 0 -7px 0 0 !important;
}

span.nakaten {
  margin: 0 -4px !important;
}

.mv {
  background-image: url("images/mv@pc.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  /*height: 1020px;*/
  height: 100vh;
  display: flex;
  align-items: center;
}

.mvbox {
  /*width: 812px;*/
  max-width: 812px;
  min-width: 516px;
  width: 40%;
  height: 404px;
  display: flex;
  align-items: center;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-end;
  position: absolute;
}

.mvbox_bg {
  background-color: #486faf;
  mix-blend-mode: multiply; /* 乗算 */
  /*width: 812px;*/
  max-width: 812px;
  min-width: 516px;
  width: 40%;
  height: 404px;
  position: relative;
}

.mvbox .textbox {
  width: 476px;
}

.mvbox .textbox h1 {
  font-weight: 400;
  color: #fdd108;
  line-height: 24px;
  letter-spacing: 0.1em;
  margin: 0 0 18px;
}

.mvbox .textbox h2 {
  font-size: 24px;
  font-weight: 400;
  color: #fff;
  line-height: 46px;
  margin: 0 0 56px;
}

.mvbox .textbox h2 span.ls {
  letter-spacing: 0.12em;
}

.mvbox .textbox h2 span.left {
  margin-left: -13px;
}

.mvbox .textbox h2 span.right {
  margin-right: -14px;
}

.mvbox .textbox p {
  color: #fff;
  letter-spacing: 0;
  line-height: 26px;
}

.mvbox .textbox p span {
  margin-right: -8px;
}

.gyline {
  border-top: solid 1px #e5e5e5;
  border-bottom: solid 1px #e5e5e5;
}

section#top01 {
  text-align: center;
  padding: 84px 20px 107px;
}

.top01_con {
}

.top01_con .flex {
  border-top: 1px solid #003894;
  border-bottom: 1px solid #003894;
  padding: 52px 50px 42px;
  gap: 40px;
}

.top01_con .flex .img {
  width: 200px;
  line-height: 0;
}

.top01_con .flex p {
  width: 830px;
  text-align: left;
  letter-spacing: -1px;
  margin-top: -10px;
}

section#top01 h2 {
  padding: 0 0 32px;
  /*border-bottom: 1px solid #003894;*/
}

h2 .sub {
  font-size: 14px;
  letter-spacing: 2px;
}

section#top02 {
  height: 800px;
  background-image: url("images/top02_bg.webp");
  background-size: cover;
  background-position: top center;
  padding: 66px 0 0;
}

section#top02 h2 {
  width: 510px;
  margin: auto;
  text-align: center;
  line-height: 40px;
  border-top: 1px solid #003894;
  border-bottom: 1px solid #003894;
  padding: 17px 0 29px;
}

section#top02 .con {
  display: flex;
  justify-content: space-between;
}

section#top02 .con_box {
  width: 364px;
  height: 395px;
  /*
  width: 364px;
  height: 395px;
    background-image: url(images/top02_waku.png);
    background-size: cover;
	*/
}

section#top02 .con_box_bg {
  width: 100%;
  height: 100%;
  aspect-ratio: 448 / 395;
  background-image: url(images/con_box_bg.png);
  background-size: contain;
  background-repeat: no-repeat;
}

section#top02 .con_box img {
  /*
  width: 364px;
  height: 395px;
  object-fit: cover;
  */
}

.box1 {
  margin: 142px 0 0;
}

section#top02 .box2 {
  margin: 216px 0 0;
}

section#top02 .con_box_txt {
  width: 272px;
  margin: auto;
  padding: 171px 0 0;
}

section#top02 h3 {
  font-size: 28.8px;
  text-align: center;
  font-weight: 300;
  border-bottom: 1px solid #fadcc8;
  border-top: 1px solid #fadcc8;
  padding: 3px 0 9px;
  margin: 0;
}

section#top02 p {
  font-size: 16.8px;
  line-height: 28.8px;
  letter-spacing: 0;
  text-align: center;
  padding: 9px 0 0;
}

section.center {
  text-align: center;
  margin-top: 135px;
}

section.center2 {
  text-align: center;
  margin-top: 70px;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 40px 0;
}

section.center3 {
  text-align: center;
  padding: 40px 0 60px;
  display: flex;
  justify-content: center;
}

section.center4 {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-top: 90px;
}

section.center5 {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 80px 0 160px;
}

section.center6 {
  height: 600px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
}

section.center h2 {
  font-weight: 400;
  letter-spacing: 0.15em;
}

section.center2 h2,
section.center5 h2 {
  font-weight: 400;
  letter-spacing: 0.1em;
}

section.center2 h2 {
  margin: 0;
}

section.center5 h2 {
  margin-bottom: 55px;
}

section.center4 h2 {
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 45px;
  margin: 0;
}

section.center4 h2 .sub {
  font-size: 20px;
  letter-spacing: 0.025em;
}

section.center .sub {
  font-size: 14px;
  font-weight: 300;
  letter-spacing: 0.09em;
}

section.center p {
  color: #000;
}

.top_reason {
  margin: 50px 0 70px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.top_reasonbox {
  width: 1030px;
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  flex-wrap: nowrap;
  margin-top: 15px;
}

.top_reason_bg01 {
  background-image: url("images/top_bg1.png");
}

.top_reason_bg02 {
  background-image: url("images/top_bg2.png");
}

.top_reason_bg03 {
  background-image: url("images/top_bg3.png");
}

.top_reason_bg01,
.top_reason_bg02,
.top_reason_bg03 {
  background-repeat: no-repeat;
  background-position: center;
  width: 230px;
  height: 180px;
  padding-top: 19px;
  display: flex;
  flex-direction: column;
}

.top_reason_bg01 h3,
.top_reason_bg02 h3,
.top_reason_bg03 h3 {
  border-bottom: solid 1px #f5ad7c;
  border-top: solid 1px #f5ad7c;
  /*
	font-size: 20px;
	*/
  font-size: 18px;
  letter-spacing: 0;
  line-height: 36px;
}

.top_reason_bg01 p .sub {
  font-size: 12px;
  line-height: 15px;
  display: block;
}

.top_reason_bg01 p,
.top_reason_bg02 p,
.top_reason_bg03 p {
  font-size: 14px !important;
  line-height: 24px;
}

section.right {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  position: relative;
}

section.left {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: 65px 0;
}

.yellowbox {
  width: 700px;
  height: 370px;
  /*padding: 0 70px;*/
  /*padding: 0 55px;*/
  padding: 0 45px;
  background-color: #003894;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.yellowbox2 {
  width: 370px;
  height: 540px;
  background-color: #0b4097;
  text-align: left;
  padding: 0 40px;
  position: absolute;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  right: 1175px;
}

@media screen and (max-width: 1540px) {
  .yellowbox2 {
    left: 0;
    right: unset;
  }
}

.yellowbox2 h3 {
  font-weight: 400;
  font-size: 20px;
  margin: 0;
  color: #fff;
}

.yellowbox2 h3 .sub,
.yellowbox2 p .sub {
  font-size: 14px;
}

.yellowbox div,
.yellowbox2 div {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: baseline;
}

.yellowbox div {
  /*width: 500px;*/
  margin: 0 0 30px;
}

.yellowbox2 div {
  width: 227px;
  margin: 0 0 21px;
}

.yellowbox div h2,
.yellowbox2 div h2,
.yellowbox div h3,
.yellowbox2 div h3 {
  margin: 0;
  letter-spacing: 0;
  font-weight: bold;
}
.yellowbox2 div p {
  font-size: 20px;
  width: auto;
}

.yellowbox div p {
  /*margin-bottom: -5px;*/
}

.yellowbox2 div p {
  margin: 0 0 -5px;
}

.yellowbox2 div a,
section.center2 a,
.top_menu04_tx a {
  color: #003894;
}

section.center2 a,
.top_menu04_tx a {
  font-size: 16px;
  color: #003894;
  border: 1px solid #003894;
  padding: 6px 30px;
  transition: 0.5s;
}

section.center2 a:hover,
.top_menu04_tx a:hover {
  color: #fff;
  background-color: #003894;
  border: 1px solid #003894;
  opacity: 1;
  transition: 0.5s;
}

.yellowbox div a {
  color: #fdd108;
}

.yellowbox p,
.yellowbox2 p {
  font-size: 16px;
  color: #fff;
  letter-spacing: 0;
}

.yellowbox p {
  /*width: 500px;*/
}

.yellowbox2 p {
  /*width: 227px;*/
  margin-top: 25px;
  line-height: 30px;
}

.yellowbox p .sub {
  font-size: 12px;
}

.yellowbox2 p span {
  font-size: 14px;
  line-height: 26px;
  display: block;
}

.yellowbox2_r {
  width: 1345px;
  /* min-width: 565px; */
  /* max-width: 745px; */
  height: auto;
  background-color: #fcd213;
  /* color: #0b4097; */
  /* font-size: 30px; */
  /* font-weight: bold; */
  /* line-height: 40px; */
  /* text-align: left; */
  padding: 26px 40px;
  position: absolute;
  z-index: 1;
  top: 144px;
  right: 0;
}

.yellowbox2_r div {
  width: 580px;
}

.yellowbox2_r p {
  width: 765px;
  color: #0b4097;
  font-size: 30px;
  font-weight: 300;
  /*line-height: 48px;*/
  line-height: 36px;
  text-align: left;
}

.yellowbox2_r p b {
  font-weight: bold;
}

.top06_img1 {
  width: 399px;
  position: absolute;
  bottom: 0;
  left: calc(100% - 1110px);
  z-index: 1;
  line-height: 0;
}

.top06_img2 {
  width: 494px;
  position: absolute;
  left: calc(100% - 785px);
  bottom: 45px;
  line-height: 0;
  mix-blend-mode: multiply;
  z-index: 1;
}

@media screen and (max-width: 1545px) {
  .yellowbox2_r {
    left: 200px;
  }

  .top06_img1 {
    left: 430px;
  }

  .top06_img2 {
    left: 905px;
  }
}

.yellowbox2 .p1 {
  display: block;
  width: 100%;
  font-size: 16px;
  color: #fdd314;
  line-height: 26px;
  margin: 0;
  padding: 26px 0 0;
}

.yellowbox2 .p1 span {
  font-size: 14px;
  color: #fff;
  letter-spacing: 0;
}

.yellowbox2 .p2 {
  display: block;
  width: 100%;
  font-size: 16px;
  color: #fdd314;
  line-height: 26px;
  margin: 0;
  padding: 22px 0 0;
}

.yellowbox2 .p2 span {
  font-size: 14px;
  color: #fff;
  letter-spacing: 0;
}

.top_menuimg01_logo {
  margin: 0;
  padding: 43px 0 0;
}

.m-l200 {
  /*margin-left: 200px;*/
}

.top_menuimg {
  width: calc(100% - 876px);
  max-width: 876px;
  height: 463px;
  background-repeat: no-repeat;
  background-size: cover;
}

.top_menuimg2 {
  width: 1345px;
  height: 654px;
  background-repeat: no-repeat;
  background-size: cover;
}

.menuimgbg01 {
  background-image: url("images/top_menuimg01.jpg");
  /*background-position: right;*/
  background-position: center;
}

.menuimgbg02 {
  background-image: url("images/top_menuimg02.jpg");
  /*background-position: left;*/
  background-position: center;
}

.menuimgbg03 {
  background-image: url("images/top_menuimg03a.jpg");
  /*background-position: right;*/
  background-position: center;
}

section#top03 {
}

.top03_1 {
  padding: 139px 0 0;
}

section#top03 .sml {
  font-size: 14px;
  position: absolute;
  top: -43px;
  left: 0;
  margin: 0;
  padding: 0;
}

.top03_2 .sml {
  left: unset;
  right: 0;
  display: flex;
  justify-content: flex-end;
}

section#top03 .yellowbox {
  position: relative;
}

section#top03 h2 {
  font-size: 36px;
  font-weight: 300;
}

section#top03 p {
  text-align: justify;
  text-justify: inter-ideograph;
}

section#top03 p a {
  font-size: 16px;
  border: 1px solid rgb(253 209 8 / 50%);
  padding: 6px 30px;
  transition: 0.5s;
}

section#top03 p a:hover {
  opacity: 1;
  background-color: #fdd108;
  color: #023891;
  transition: 0.5s;
}

section#top04 {
  padding: 136px 0 0;
}

section#top04 .con {
  background-color: rgb(0 56 148 / 10%);
}

section#top04 .con_l {
  width: 585px;
  padding: 48px 40px;
}

section#top04 .con_l h2 {
  font-size: 36px;
  font-weight: 300;
  line-height: 48px;
}

section#top04 .con_l p {
  padding: 42px 0 0;
  line-height: 30px;
  letter-spacing: 0;
}

section#top04 .con_l a {
  font-size: 16px;
  color: #003894;
  border: 1px solid #003894;
  padding: 6px 30px;
  transition: 0.5s;
}

section#top04 .con_l a:hover {
  color: #fff;
  background-color: #003894;
  border: 1px solid #003894;
  opacity: 1;
  transition: 0.5s;
}

section#top04 .con_l .link {
  padding: 44px 0 0;
}

.con_r {
  width: 585px;
  line-height: 0;
}

section#top05 {
  /*padding: 107px 0 0;*/
  padding: 277px 0 0;
}

section#top05 h2 {
  border-bottom: 1px solid #003894;
  padding: 0 0 23px;
}

.blog_box {
  padding: 61px 0 0;
  flex-wrap: wrap;
  gap: 41px 30px;
}

.blog_imp {
  width: 570px;
  gap: 30px;
}

.blog_imp .img {
  width: 170px;
  height: 170px;
  line-height: 0;
}

.blog_imp .img img {
  width: 170px;
  height: 170px;
  object-fit: cover;
  line-height: 0;
}

.blog_imp .img a {
  display: block;
  width: 170px;
  height: 170px;
  line-height: 0;
}

.blog_imp .txt {
  width: 370px;
}

.blog_imp .txt .ttl_area {
  margin-top: -13px;
  gap: 10px;
  align-items: baseline;
}

.blog_imp .txt .ttl_area .date {
  width: 130px;
  font-size: 14px;
  font-family:
    "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN",
    "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.blog_imp .txt .ttl_area .ttl {
  width: 255px;
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.blog_imp .txt p {
  height: 110px;
  font-size: 14px;
  line-height: 26px;
  padding: 14px 0 0;
}

.blog_imp .txt .link {
  padding: 0 0 0;
}

.blog_imp .txt .link a {
  font-size: 12px;
  color: #fff;
  background-color: #003894;
  border: 1px solid #003894;
  padding: 12px 25px;
  transition: 0.5s;
}

.blog_imp .txt .link a:hover {
  color: #003894;
  background-color: #fff;
  border: 1px solid #003894;
  transition: 0.5s;
}

section#top05 .link_box {
  text-align: center;
  margin: 80px 0 0;
}

section#top05 .link_box a {
  font-size: 16px;
  color: #fdd139;
  background-color: #023891;
  padding: 8px 30px;
  transition: 0.5s;
}

section#top05 .link_box a:hover {
  color: #023891;
  background-color: #fdd139;
  opacity: 1;
  transition: 0.5s;
}

section#top06 {
  /*margin: 140px 0 0;*/
  margin: 0 0 0;
}

section#top07 {
  text-align: center;
  flex-direction: column;
  align-items: center;
  padding: 79px 0 75px;
  margin: 0;
}

section#top07 .link {
  padding: 41px 0 0;
}

section#top08 {
  padding: 0 0 100px;
  margin: 100px 0 0;
}

section#top08 .con {
  display: flex;
}

section#top08 .con .box {
  width: calc(100% / 2);
}

section#top08 .s4 {
  /*padding: 71px 0 0 40px;*/
  /* padding: 140px 0 0 40px; */
  padding: 100px 40px 0;
}

section#top08 hr {
  margin: 0;
  padding: 0;
  border-top: 1px solid rgb(222 226 229 / 80%);
}

section#top08 .s4_02 {
  /*padding: 80px 0 0 40px;*/
}

section#top08 .s4_02 p {
  /*padding: 15px 0 0;*/
}

section#top08 .s4_02 .ex_box {
  /*padding: 64px 0 0;*/
}

section#top08 .link_box {
  font-size: 16px;
  text-align: center;
  padding: 46px 0 0;
}

section#top08 .link_box a {
  font-size: 16px;
  color: #003894;
  border: 1px solid #003894;
  padding: 6px 30px;
  transition: 0.5s;
}

section#top08 .link_box a:hover {
  color: #fff;
  background-color: #003894;
  border: 1px solid #003894;
  opacity: 1;
  transition: 0.5s;
}

section#top09 {
}

section.center .gyline {
  padding: 15px 0;
}

/*
.top_possibility {
	display: flex;
	justify-content: space-evenly;
    align-items: flex-start;
    width: 1030px;
	margin: 57px 0 40px;
}

.top_possibilitybox {
	width: 273px;
}

.top_possibilitybox h3 {
	font-size: 20px;
    font-weight: 400;
	letter-spacing: 0;
	margin: 13px 0 16px;
}

.top_possibilitybox h3 span {
	margin-right: -9px;
}

.top_possibilitybox p {
	font-size: 14px;
    text-align: justify;
	line-height: 24px;
	letter-spacing: 0;
}

.top_possibilitybox p span {
	margin-right: -7px;
    margin-left: -1px;
}
*/

.top_possibilitybox {
  padding: 34px 0 0;
}

.top_possibilitybox p {
  /*
  font-size: 14px;
  line-height: 30px;
  */
}

.top_possibilitybox img {
  padding: 56px 0 0;
}

section.center2 a,
.top_menu04_tx a {
  font-size: 16px;
}

.top_menu04 {
  width: 1030px;
  display: flex;
  justify-content: space-between;
}

section.center4 .top_menu04 {
  align-items: center;
  margin: 50px 0 90px;
}

section.center4 .top_menu04_tx {
  width: 500px;
}

section.center4 .top_menu04_tx p {
  letter-spacing: 0;
  text-align: justify;
}

section.center4 .top_menu04_tx p span {
  margin-right: -9px;
}

.top_menu04_tx {
  width: 480px;
  text-align: left;
}

.top_menu04_tx h2 {
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 36px;
  margin: 0 0 30px;
}

.top_menu04_tx h3 {
  margin: 0 0 35px;
  font-size: 20px;
  font-weight: 400;
  color: #000;
}

.top_menu04_tx p {
  font-size: 16px;
  letter-spacing: 0.025em;
}

span.kutoten,
span.kutoten,
span.kutoten {
  margin-right: -7px;
}

.top_menu04_img {
  width: 500px;
  height: 284px;
  background-image: url("images/top_menuimg04.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: right;
}

.menuimgbg05 {
  background-image: url("images/top06_bg.png");
  /*background-position: right;*/
  background-position: left;
  width: 1345px;
  height: 654px;
  position: relative;
}

.top_way01 {
  background-image: url("images/top_way01.png");
  background-position: right;
}

.top_way02 {
  background-image: url("images/top_way02.png");
  background-position: left;
}

.top_way03 {
  background-image: url("images/top_way03.png");
  background-position: right;
}

.top_way04 {
  background-image: url("images/top_way04.png");
  background-position: right;
}

.top_way01,
.top_way02,
.top_way03 {
  background-repeat: no-repeat;
  background-size: cover;
  width: 463px;
  height: 415px;
}

.top_way04 {
  background-repeat: no-repeat;
  background-size: cover;
  width: 465px;
  height: 850px;
}

.treatment {
  width: 1170px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 25px;
}

.treatment_mhlw {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-top: 33px;
}

.treatment_mhlw img {
  mix-blend-mode: multiply; /* 乗算 */
  margin-right: 17px;
}

.treatment_mhlw h3 {
  margin: 0 !important;
  font-weight: 400;
  font-size: 20px;
}

.treatment_mhlw p {
  font-size: 12px !important;
}

.treatment_tx {
  width: 570px;
  text-align: left;
}

.treatment_tx h3 {
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0.025em;
  margin: 0 0 15px;
}

.treatment_tx p {
  font-size: 16px;
  width: 500px;
  text-align: justify;
}

.treatment_box {
  width: 270px;
  height: 270px;
  background-color: #f5ad7c;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.treatment_box p {
  font-size: 20px;
  line-height: 24px;
}

.treatment_box p .sub {
  font-size: 14px;
}

a .treatment_box p {
  color: #221815;
}

.featherlight-inner {
  display: none;
}

.featherlight .featherlight-close-icon {
  line-height: 65px !important;
  width: 65px !important;
  font-size: 40px;
}

.lightbox_area {
  display: flex;
  gap: 34px;
  margin: 42px;
}

.lightbox_area_l {
  width: 500px;
}

.lightbox_area_l h2 {
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0.1em;
  margin: 2px 0 36px;
}

.sterilization {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 1170px;
}

.sterilization_tx {
  width: 600px;
  text-align: left;
  padding-left: 70px;
}

.sterilization_tx h2 {
  font-size: 30px;
  line-height: 24px;
  letter-spacing: 0.1em;
  margin: 0;
}

.sterilization_tx h3 {
  font-size: 20px;
  font-weight: 400;
  line-height: 30px;
  letter-spacing: 0.025em;
  margin: 30px 0 45px;
}

.sterilization_tx p {
  font-size: 16px;
  letter-spacing: 0.015em;
  text-align: justify;
}

.sterilization_img {
  background-image: url("images/top_machine.png");
  background-repeat: no-repeat;
  background-position: right;
  background-size: cover;
  width: 502px;
  height: 469px;
}

.s4 {
  padding: 71px 20px 38px;
}

.s4 h2 {
  font-size: 30px;
  font-weight: 300;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 60px;
}

.s4 h2 p {
}

.s4 h2 p a {
  font-size: 16px;
  color: #003894;
  border: 1px solid #003894;
  padding: 6px 30px;
  transition: 0.5s;
}

.s4 h2 p a:hover {
  color: #fff;
  background-color: #003894;
  border: 1px solid #003894;
  opacity: 1;
  transition: 0.5s;
}

.s4 h3 {
  font-size: 20px;
  font-weight: 300;
  line-height: 24px;
  margin: 0;
  padding: 23px 0 23px;
  height: 180px;
}

.ex_box {
}

.ex_box h3,
.ex_box h4 {
  padding: 13px 0;
  font-size: 18px;
  font-weight: 300;
  font-family: "Noto Sans JP", sans-serif;
  text-align: center;
  color: #fff;
  background-color: #a28857;
  margin: 0;
}
.ex_box p {
  padding: 20px 40px;
}
.ex_box_content {
  padding: 20px 0 0;
  /* border: 1px solid #a28857; */
  /* background-color: #fff; */
  display: flex;

  justify-content: space-between;
  gap: 40px;
}

section#top08 .ex_box_content,
section#top08_2 .ex_box_content {
  flex-direction: column-reverse;
}

.ex_box_content_l {
  width: 630px;
}

section#top08 .ex_box_content_l,
section#top08_2 .ex_box_content_l {
  width: 100%;
}

section#top08 .ex_box_content_l_txt .txt,
section#top08_2 .ex_box_content_l_txt .txt {
  width: calc(100% - 146px);
}

.ex_box_content_l_txt {
  border-bottom: 1px solid #a28857;
  margin: 0 0 7.6px;
  display: flex;
  align-items: center;
  gap: 14px;
}

.ex_box_content_l_txt .ttl {
  width: 126px;
  background-color: #a28857;
  text-align: center;
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  color: #fff;
}

.ex_box_content_l_txt .txt {
  font-size: 15px;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0px;
}

.ex_box_content_r {
  width: 430px;
  line-height: 0;
}

section#top08 .ex_box_content_r,
section#top08_2 .ex_box_content_r {
  margin: auto;
}

.ex_box_content_link {
  text-align: right;
  padding: 22px 0 69px;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
}

.ex_box_content_link a {
  color: #5d5c5d;
}

.s4 p {
  font-size: 16px;
  line-height: 30px;
  height: 270px;
}

.s5 {
  padding: 64px 20px 62px;
}

.s5 h2 {
  text-align: center;
}

.s5_content01 {
  width: 100%;
  padding: 84px 0 0;
  /*
  display: flex;
  gap: 30px;
  */
}

.s5_content01_txt {
  width: 570px;
}

.s5_content01_txt h3 {
  font-size: 20px;
  font-weight: 400;
  margin: 0;
  padding: 0 0 50px;
}

.s5_content01_txt h3 span {
  font-weight: bold;
}

.s5_content01_txt p {
  font-size: 16px;
  line-height: 32px;
  letter-spacing: -1px;
}

.s5_content01_img {
  width: 270px;
}

.s5_content01_box {
  display: flex;
  gap: 30px;
}

.s5_content01_box_l {
  width: 570px;
}

.s5_content01_box_r {
  display: flex;
  gap: 30px;
}

.s5_content02 {
  padding: 110px 0 0;
  display: flex;
  gap: 30px;
  justify-content: center;
}

.s5_content02_item {
  width: 270px;
  position: relative;
  background-color: #fff;
}

.s5_content02_item a {
}

.s5_content02_item a:hover {
  height: auto;
  display: block;
  opacity: 1;
  transition: 0.3s;
  background-color: rgb(0 53 142 / 20%);
}

.s5_content02_item .ttl {
  width: 200px;
  background-color: #003894;
  color: #fff;
  text-align: center;
  position: absolute;
  top: -35px;
  right: 0;
  left: 0;
  margin: 0 auto;
  font-size: 20px;
  font-weight: 600;
  padding: 6px 0;
}

.s5_content02_item .ttl span {
  font-size: 36px;
}

.s5_content02_item .box {
  border: 1px solid #003894;
  padding: 31px 0 12px;
  text-align: center;
}

.s5_content02_item .cost {
  padding: 12px 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.s5_content02_item .cost .en {
  width: 45px;
  height: 45px;
  font-size: 16px;
  font-weight: bold;
  color: #fff;
  background-color: #003894;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.s5_content02_item .cost .yen {
  font-size: 72px;
  font-weight: 400;
  color: #003894;
  margin-top: -10px;
}

.s5_content02_item .cost .tan {
  color: #003894;
  font-size: 30px;
  line-height: 24px;
  margin-top: 1px;
  text-align: left;
}

.s5_content02_item .cost .tan span {
  font-size: 16px;
}

.s5_content02_item .name {
  font-size: 20px;
  text-align: center;
  padding: 20px 0 0;
  color: #434548;
  letter-spacing: -4px;
}

.s5_content02_item .hoshi {
  font-size: 14px;
  text-align: center;
  padding: 0 0 0;
  color: #434548;
}

.s5_content02_item .link_txt {
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  color: #00358e;
}

.s5_link {
  font-size: 16px;
  text-align: center;
  padding: 46px 0 0;
}

.s5_link a {
  font-size: 16px;
  color: #003894;
  border: 1px solid #003894;
  padding: 6px 30px;
  transition: 0.5s;
}

.s5_link a:hover {
  color: #fff;
  background-color: #003894;
  border: 1px solid #003894;
  opacity: 1;
  transition: 0.5s;
}

.s6 {
  /*padding: 90px 0 0;*/
  padding: 260px 0 29px !important;
}

.s6 h2 {
  text-align: center;
}

.s6 h3 {
  font-size: 20px;
  text-align: center;
  font-weight: 300;
  margin: 0;
  padding: 24px 0 19px;
}

.s6_box {
  width: 1025px;
  padding: 0 20px;
  position: relative;
  margin: 30px auto 70px;
}

.s6_box_step {
  position: absolute;
  top: -20px;
  left: -20px;
  width: 106px;
  height: 106px;
  background-color: #a28857;
  border-radius: 50%;
  font-size: 12px;
  color: #fff;
  line-height: 30px;
  letter-spacing: 1px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  z-index: 1;
}

.s6_box_step span {
  font-size: 25px;
}

.s6_box_ttl {
  font-size: 20px;
  color: #fff;
  background-color: #3b66ae;
  padding: 15px 100px;
}

.s6_box_txt,
.s6_box_txt_end {
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  /*height: 187px;*/
  height: 235px;
  line-height: 24px;
  background-color: #c1d2ea;
  padding: 30px 30px 23px;
  display: flex;
  justify-content: space-between;
  position: relative;
  gap: 30px;
}

.s6_box_txt:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -54px;
  left: 0;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  border-color: #c1d2ea transparent transparent transparent;
  border-width: 35px 35px 0 35px;
}

.s6_box_txt_l {
  width: 800px;
  text-align: left;
}

.s6_box_txt_l div {
  /*height: 96px;*/
  height: 145px;
}

.s6_box_txt_l p.link {
  padding-top: 13px;
  font-size: 14px;
  font-family: "Noto Serif JP", serif;
}

.s6_box_txt_l p.link a {
  color: #3c66ab;
}

.s6_box_txt_r {
  width: 182px;
  height: 119px;
  margin-top: 5px;
}

.s6_box_txt_r img {
  width: 182px;
  height: 119px;
  object-fit: cover;
}

section.s7 {
  padding: 32px 0 68px;
}

.s7_ttl {
  padding: 0 0 25px;
  display: flex;
  align-items: center;
  gap: 30px;
}

.s7_ttl_l {
  width: 500px;
  /*
    padding-left: 30px;
	*/
  padding-left: 6px;
}

.s7_ttl_l h2 {
  font-weight: 300;
  font-size: 36px;
  line-height: 48px;
  letter-spacing: 5px;
}

.s7_ttl_l h3 {
  font-size: 18px;
  line-height: 36px;
  font-weight: 400;
  margin: 0;
  padding: 17px 0 0;
  color: #003894;
  letter-spacing: 0px;
}

.s7 p {
  border: 1px solid #003894;
  padding: 22px 30px;
  font-size: 14px;
  line-height: 32px;
  letter-spacing: 0;
}

.s7_ttl_r {
  width: 500px;
  gap: 10px;
  align-items: flex-end;
}

.s7_ttl_r_img1 {
  width: 250px;
}

.s7_ttl_r_img2 {
  width: 240px;
}

/* footer
--------------------------------------------- */

.yoyaku {
  padding: 62px 0 67px;
}

.yoyaku_area {
  display: flex;
  gap: 30px;
}

.yoyaku_box_web,
.yoyaku_box_line {
  flex-basis: 50%;
}

.yoyaku_box_web {
  background-image: url("images/yoyaku_web_bg.jpg");
  background-size: cover;
}

.yoyaku_box_line {
  background-image: url("images/yoyaku_line_bg.jpg");
  background-size: cover;
}

.yoyaku_box_web h2.ttl,
.yoyaku_box_line h2.ttl {
  font-weight: bold;
  text-align: center;
  padding: 21px 0;
}

.yoyaku_box_web h2.ttl {
  background-color: #003894;
  color: #fdd108;
}

.yoyaku_box_line h2.ttl {
  background-color: #22ba4f;
  color: #fff;
}

.yoyaku_con_area {
  padding: 25px 110px;
}

.yoyaku_con {
  padding: 42px 28px 28px;
  text-align: center;
  background-color: rgb(255 255 255 / 80%);
}

.yoyaku_con p {
  font-size: 14px;
  line-height: 28px;
  padding: 0 0 21px;
  letter-spacing: 0;
}

.ft_c {
  background-color: #003894;
  padding: 75px 0 66px;
  line-height: 32px;
}

.ft_c_con {
  display: flex;
  /*gap: 70px;*/
  gap: 65px;
}

.ft_c_con_l {
  width: 530px;
  display: flex;
  flex-direction: column;
  gap: 34px;
}

.ft_c_con_r {
  /*width: 430px;*/
  width: 435px;
  color: #fff;
  letter-spacing: 0;
}

.ft_c_con_r h2 {
  font-weight: bold;
  color: #fff100;
  display: flex;
  align-items: center;
  gap: 20px;
}

.ft_c_con_r h2 img {
  width: 45px;
}

.ft_c_con_r h3 {
  font-size: 17px;
  font-weight: 400;
  letter-spacing: 0px;
  margin: 0;
  padding: 12px 0 16px;
}

.ft_c_con_r .tel {
  /*font-size: 39.6px;*/
  font-size: 45.5px;
}

.tel.pc {
  display: flex;
  gap: 20px;
}

.ft_c_con_r .tel img {
  width: 25px;
}

.ft_c_box {
  padding: 16px 0 0;
}

.ft_c_box h4 {
  width: 400px;
  background-color: #fdd108;
  color: #003894;
  font-size: 20px;
  margin: 0;
  padding: 4px 10px;
  letter-spacing: -0.03em;
}

.ft_c_box p {
  font-size: 15px;
  line-height: 32px;
  padding: 16px 0 0;
}

footer {
  line-height: 32px;
}

.ftr01 {
  padding: 15px 0;
  background-color: #fdd108;
  display: flex;
  height: 110px;
  flex-direction: column;
  align-items: center;
}

.ftr01 .en {
  font-size: 14px;
  color: #003894;
  padding: 0 0 0;
}

.ftr01 .site {
  font-size: 14px;
  padding: 0 0 0;
  margin-top: -7px;
}

.ftr02 {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 21px 0 40px;
}

.ftr02_box {
  width: 1100px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
}

.ftr02_l,
.ftr02_c,
.ftr02_r {
  width: 300px;
}

.ftr02_l h2,
.ftr02_c h2,
.ftr02_r h2 {
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0;
  margin: 0 0 0;
}

.ftr02_l {
}

.ftr02_l01 {
}

.ftr02_l01 p {
  font-size: 12px;
  letter-spacing: 0;
  margin-top: -7px;
  padding: 0 0 12px;
}

.ftr02_l02 {
  margin-top: 49px;
}

.ftr02_l03 {
  margin-top: 6px;
}

.ftr02_l a {
  font-size: 39.6px;
  font-weight: 600;
  letter-spacing: 0.03em;
  color: #221815;
}

.ftr02_l a img.telicon {
  margin-right: 8px;
}

.ftr02_c {
}

.ftr02_c h2 {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

.ftr02_c_l {
  font-size: 14px;
  font-weight: 400;
}

.ftr02_c table {
  border-top: solid 1px #4d251b;
  margin: 19px 0 0;
}

.ftr02_c table td {
  border-bottom: solid 1px #4d251b;
  text-align: center;
}

.ftr02_c table td.td2 {
  border-bottom: solid 1px #dbd3d1;
}

.ftr02_c table td.time_l {
  font-weight: 300;
  width: 125px;
  text-align: center;
}

.ftr02_c table td.time_r {
  text-align: center;
  width: 25px;
}

.ftr02_c table span.brown {
  color: #4d251b;
  font-size: 8px;
}

.ftr02_c p {
  color: #595757;
  line-height: 24px;
  letter-spacing: 0;
}

.ftr02_r {
}

.ftr02_r p {
  font-size: 14px;
  letter-spacing: 0;
  line-height: 24px;
  padding: 15px 0 15px;
}

.ftr02_r p.ftr02_r01 {
  margin: 0;
}

.ftr02_r p.ftr02_r02 {
  margin: 0;
  padding: 33px 0 0;
}

.ftr02_r p.ftr02_r03 {
  margin: 0;
  padding: 20px 0 0;
}

.ftr02_r p span {
  font-size: 24px;
  font-weight: 700;
  color: #003894;
}

.ftr02_r p img.trainicon {
  margin-right: 4px;
  margin-bottom: -4px;
}

.ftr02_r p img.caricon {
  margin-right: 8px;
  margin-bottom: -4px;
}

.ftr02_r a {
  font-size: 18px;
  font-weight: 700;
  color: #003894;
}

.ftr02_r a img {
  margin-left: 10px;
}

.ftr03 {
  background-color: #003894;
  position: relative;
}

.ftr03_box {
  width: 787px;
  height: 251px;
  margin: auto;
  display: flex;
  gap: 20px;
  align-items: center;
}

.ftr03_l {
  width: 469px;
  line-height: 0;
}

.ftr03_r {
  width: 298px;
  display: flex;
  gap: 17px;
  flex-direction: column;
  line-height: 0;
}

.ftr03_r div {
  line-height: 0;
}

.ftr04 {
  font-family: "Noto sans JP", san-serif;
  color: #221815;
  text-align: center;
  font-size: 12px;
  letter-spacing: 0.13em;
  height: 50px;
  padding-top: 15px;
  line-height: 16px;
}

.about01_ttl {
  width: 100%;
  margin: 103px 0 0;
  text-align: left;
}

.about01_ttl h2 {
  font-weight: 400;
  letter-spacing: 0.1em;
}

.about01 {
  margin: 0 0 80px;
  display: flex;
  gap: 70px;
}

.about01_l {
  width: 700px;
}

.about01_r {
  width: 400px;
}

.about02 {
  text-align: center;
  margin: 25px 0 83px;
}

.about02 h2 {
  font-weight: 400;
  letter-spacing: 0.1em;
}

.about02_img {
  margin: 57px 0 0;
}

.about03 {
  margin: 0 0 115px;
  display: flex;
  gap: 70px;
}

.about03_l {
  width: 500px;
}

.about03_l h2 {
  font-weight: 400;
  letter-spacing: 0.1em;
  margin-top: 0;
}

.about03_r {
  width: 600px;
}

table.about04 {
  border-top: 1px solid #f5ad7c;
  border-left: 1px solid #f5ad7c;
  margin: 0 0 30px;
}

table.about04 td {
  width: 388px;
  padding: 16px 45px 45px 45px;
  vertical-align: top;
  border-bottom: 1px solid #f5ad7c;
  border-right: 1px solid #f5ad7c;
}

table.about04 td.about04_c3 {
  text-align: center;
  padding: 16px 0 58px;
}

table.about04 td.about04_c3 p {
  padding: 0 20px;
  text-align: left;
}

table.about04 td h2 {
  font-weight: 400;
  letter-spacing: 0.1em;
}

table.about04 td p.txt16 {
  font-size: 16px;
  font-weight: 400;
  line-height: 32px;
}

table.about04 td h3 {
  font-size: 20px;
  font-weight: 400;
  line-height: 24px;
  margin: 18px 0 22px;
}

table.about04 td p {
  line-height: 24px;
}

.overflow-info {
  overflow-x: hidden;
}

.info01 {
  width: 100%;
  position: relative;
}

.info01 h2 {
  font-weight: 400;
  letter-spacing: 0.1em;
  margin: 73px 0 75px;
}

.info01_box {
  position: relative;
  display: flex;
  align-items: center;
}

.info01_box_l {
}

.info01_box_r {
  position: absolute;
  right: 0;
}
.info01_box_r img {
  border: 1px solid #f5ad7c;
  width: 538px;
  height: 278px;
}

.info01_txt {
  width: 440px;
  position: absolute;
  right: 10px;
  margin-top: -27px;
}

p.txt16 {
  font-size: 16px;
  font-weight: 400;
  line-height: 32px;
}

.info02 {
  width: 100%;
  height: 683px;
  position: relative;
  margin: 228px 0 0;
}

.info02_2f {
  font-family: "Oswald", san-serif;
  font-size: 300px;
  color: #f5ad7c;
  opacity: 0.1;
  position: absolute;
  top: 0;
  left: 301px;
}

.info02_box {
  display: flex;
  gap: 30px;
}

.info02_box_l {
  width: 430px;
  margin: 0 70px;
}

.info02_box_l h2 {
  font-weight: 400;
  letter-spacing: 0.1em;
  padding: 10px 0;
  border-top: 1px solid #f7d9c5;
  border-bottom: 1px solid #f7d9c5;
  margin-bottom: 28px;
}

.info02_img01 {
  position: absolute;
  bottom: 160px;
  left: 0;
}

.info02_img02 {
  position: absolute;
  bottom: 0;
  left: 328px;
  line-height: 0;
}

.info03 {
  width: 100%;
  height: 683px;
  position: relative;
  margin: 171px 0 163px;
}

.info03_box {
  display: flex;
  gap: 30px;
}

.info03_box_r {
  width: 430px;
  margin: 0 70px;
}

.info03_box_r h2 {
  font-weight: 400;
  letter-spacing: 0.1em;
  padding: 10px 0;
  border-top: 1px solid #f7d9c5;
  border-bottom: 1px solid #f7d9c5;
  margin-bottom: 28px;
}

.info03_img01 {
  position: absolute;
  bottom: 160px;
  right: 0;
}

.info03_img02 {
  position: absolute;
  bottom: 0;
  right: 328px;
  line-height: 0;
}

.info04_ttl_area {
  margin: 233px auto 0;
  position: relative;
  height: 292px;
}

.info04_ttl {
  width: 100vw;
  background-color: #f5ad7c;
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
}

.info04_ttl h2 {
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #fff;
  padding: 70px 0 70px 70px;
}

.info04_img_area {
  width: 812px;
  position: relative;
}

.info04_img_box01 {
  position: absolute;
  top: -208px;
  right: 0;
  display: flex;
}

.info04_img_box02 {
  position: absolute;
  right: 10px;
  bottom: -100px;
}

.info04 {
  margin: -54px 0 83px;
}

.info04_box {
  display: flex;
  gap: 30px;
  align-items: center;
}

.info04_box_l {
  width: 770px;
}

.info04_box_r {
  width: 370px;
}

.info05_ttl {
  border-top: 1px solid #e5e5e5;
  text-align: center;
  padding: 51px 0 68px;
}

.info05_ttl h2 {
  font-weight: 400;
  letter-spacing: 0.1em;
}

.info05 {
  width: 100%;
}

.info05_box {
  display: flex;
  gap: 30px;
}

.info05_box_r {
  width: 430px;
  margin: 0 70px;
}

.info05_box_r h2 {
  font-weight: 400;
  letter-spacing: 0.1em;
  margin: 0;
  padding: 10px 0;
  border-top: 1px solid #fadcc8;
  border-bottom: 1px solid #fadcc8;
}

.info05_box_r p {
  margin: 27px 0;
}

.info06_ttl h2 {
  font-weight: 400;
  letter-spacing: 0.1em;
}

.info06 {
  width: 100%;
  margin: 92px 0 0;
}

.info06_box {
  display: flex;
  gap: 30px;
}

.info06_box_l {
  width: 430px;
  margin: 0 70px;
}

.info06_box_l h2 {
  font-weight: 400;
  letter-spacing: 0.1em;
  margin: 0;
  padding: 10px 0;
  border-top: 1px solid #fadcc8;
  border-bottom: 1px solid #fadcc8;
  text-align: right;
}

.info06_box_l p {
  margin: 27px 0;
}

.info06_btn {
  font-size: 20px;
  font-weight: 400;
  color: #fff;
  background-color: #f5ad7c;
  text-align: center;
  padding: 15px 0;
  margin-top: -5px;
}

.info07_ttl {
  background-color: #feecba;
  text-align: center;
  margin: 115px 30px 0;
}

.info07_ttl h2 {
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 48px;
  padding: 29px 0 99px;
}

.info07 {
  margin: -84px 0 62px;
  display: flex;
  gap: 30px;
  justify-content: space-between;
}

/* popup_content */
.popup_bg {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.6);
  transition: 0.4s;
  z-index: 101;
}
.popup_content {
  position: relative;
}
.popup_box {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  z-index: 110;
  width: 900px;
  /*height: 480px;*/
  background: #fff;
  padding: 70px 60px 70px 68px;
}
.popup_box .tit {
  text-align: center;
  margin: 0 auto 20px;
}
.popup_box .tit span {
  display: inline-block;
  width: 127px;
  height: 27px;
  color: #fff;
  font-size: 14px;
  line-height: 27px;
  background: #404952;
  border-radius: 3px;
}
.popup_box img {
  /*
  width: 100%;
  border-radius: 3px;
  margin-bottom: 20px;
	*/
}
.popup_box p {
  font-size: 14px;
  line-height: 1.8;
}
/* popup_nav */
.popup_nav .prev {
  position: absolute;
  top: 50%;
  left: -40px;
  transform: translateY(-50%);
  width: 30px;
  height: auto;
  z-index: 130;
}
.popup_nav .next {
  position: absolute;
  top: 50%;
  right: -40px;
  transform: translateY(-50%);
  width: 30px;
  height: auto;
}
.popup_nav .prev.disabled,
.popup_nav .next.disabled {
  display: none;
}
/*--close btn--*/
.popup_close {
  width: 30px;
  height: 30px;
  cursor: pointer;
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 120;
}
.popup_close span {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 100%;
  width: 30px;
  height: 2px;
  background: #434c55;
  position: absolute;
  left: 50%;
  top: 50%;
}
.popup_close span:nth-child(1) {
  transform: translate(-50%, 50%) rotate(45deg);
}
.popup_close span:nth-child(2) {
  transform: translate(-50%, 50%) rotate(-45deg);
}
@media screen and (max-width: 768px) {
  .popup_close {
    position: fixed;
    top: 15px;
    right: 20px;
    background: rgba(255, 255, 255, 0.8);
    border-radius: 50%;
  }
  .popup_close span {
    width: 20px;
    height: 2px;
    left: 50%;
    top: 45%;
  }
  .popup_close span:nth-child(1) {
    transform: translate(-50%, 50%) rotate(45deg);
  }
  .popup_close span:nth-child(2) {
    transform: translate(-50%, 50%) rotate(-45deg);
  }
}
@media screen and (max-width: 600px) {
  .popup_box {
    width: 94%;
    height: auto;
    margin: 0 auto;
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .popup_nav .prev {
    left: 25px;
    width: 20px;
  }
  .popup_nav .next {
    right: 25px;
    width: 20px;
  }
}

.popup_box .tit,
.popup_close,
.popup_nav {
  display: none;
}

.pop01 {
  display: flex;
  gap: 30px;
}

.pop01_l {
  width: 500px;
}

.pop01_l h2,
.pop01_l h4 {
  font-size: 20px;
  text-align: left;
  margin: 0;
}
.pop01_l p {
  font-size: 16px;
  line-height: 32px;
  padding: 36px 0 0;
}
.link {
  font-size: 20px;
  padding: 31px 0 0;
}

/* 目次 */

.mokuji {
  position: sticky;
  top: 170px;
  left: 0;
  z-index: 3;
}

.accordion {
  position: absolute;
  top: 0;
  left: 0;
  text-align: center;
}

.accordion input {
  display: none;
}
.accordion label {
  cursor: pointer;
  position: relative;
  color: #fdd108;
  background-color: #012b70;
  font-weight: bold;
  padding: 6px 10px;
  width: 150px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.accordion label::after {
  content: "▼";
  padding-left: 6px;
  font-size: 8px;
  /*
  position: absolute;
  right: 10px;
	*/
}
.accordion input:checked ~ label::after {
  content: "▲";
}
.accordion ul {
  max-height: 0px;
  overflow: hidden;
  transition: max-height 1s;
  margin-top: -13px;
  margin-left: -20px;
  list-style: none;
  padding: 0;
  text-align: left;
  background-color: #f9f9f9;
  border-radius: 15px;
}
.accordion input:checked ~ ul {
  max-height: 100vh;
  /*border: 1px solid #d8dde7;*/
}

.mokuji_con {
  margin: 50px 25px 35px;
  display: flex;
}

p.s_ip {
  line-height: 30px;
}

p.s_ip a {
  font-size: 16px;
  font-weight: 900;
  color: #002a70;
}

p.s_ip_s {
}

p.s_ip_s a {
  font-size: 14px;
  color: #002a70;
  /*padding-left: 25px;*/
}

.mokuji_con_l {
  padding: 0 34px;
  border-right: 1px solid #bbddff;
}

.mokuji_con_r {
  padding: 0 34px;
}

.mokuji_con_l .s_ip01 {
  padding: 0 0 2px;
}

.mokuji_con_l p.s_ip_s {
  margin: -6px 0 0;
}

.mokuji_con_l .s_ip02 {
  padding: 11px 0 2px;
}

.mokuji_con_r p.s_ip {
  padding: 0 0 1px;
}

/***** kasou page *****/

main.sub_main {
  /*margin-top: 190px;*/
  margin-top: 90px;
}

/*** add css 20230524 ***/

h3.bg01Tit {
  background-image: linear-gradient(#003894 50%, #002a70 50%, #002a70);
  color: #fff;
  padding: 10px 0;
  text-align: center;
  font-size: 22px;
  margin: 45px 0;
  border-bottom: 2px solid #f9ce08;
  padding: 10px 10px;
  line-height: 1.3;
}
h3.bg01Tit2 {
  background-image: linear-gradient(#002a70 50%, #003894 50%, #003894);
  color: #fff;
  padding: 10px 0;
  text-align: center;
  font-size: 22px;
  margin: 45px 0;
  border-bottom: 2px solid #f9ce08;
}

section#implant_s1 ,
section#implant_s2 ,
section#implant_s3 ,
section#implant_s4 ,
section#implant_s5 ,
section#implant_s6 ,
section#implant_s7 ,
section#implant_s8 ,
section#implant_s9 ,
section#implant_s10 ,
section#implant_s11 ,
section#implant_s12 ,
section#implant_s13 ,
section#implant_s14 ,
/*section#implant_s15 ,*/
section#implant_s16 ,
section#implant_s17 {
  margin: 0 30px;
}

body {
  overflow-x: hidden;
}

section#implant_s1 {
  margin: 0 30px 70px;
}

section#implant_s0 {
  margin: 0 0 50px;
}

section#implant_s1 .s1_box01 {
  display: flex;
  justify-content: space-between;
  gap: 40px;
  margin: 0 0 70px;
}

section#implant_s1 .s1_box01_l {
  width: 850px;
}

section#implant_s1 .catchP_s1 {
  font-size: 26px;
  font-family:
    "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN",
    "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  text-align: left;
  margin-bottom: 30px;
  color: #a3976c;
}

section#implant_s1 .s1_box01_l .exp {
  margin: 0;
}

section#implant_s1 .s1_box02 {
  margin-top: 28px;
}

section#implant_s1 .s1_box02 .exp {
  margin: 0;
}

section#implant_s2 .s2_box {
  display: flex;
  justify-content: center;
  gap: 55px;
  align-items: center;
}

section#implant_s2 .s2_box_l {
}

section#implant_s2 .s2_box_l p.exp {
  margin: 0;
  text-align: right;
}

section#implant_s2 .s2_box_name {
  display: flex;
  align-items: center;
  margin-top: 30px;
  justify-content: center;
  gap: 15px;
}

section#implant_s2 .s2_box_name_l {
  text-align: right;
}

section#implant_s2 .s2_box_name_r {
  font-size: 30px;
  line-height: 0;
}

section#implant_s3 .mb40 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

section#implant_s3 .col-md-6 {
  width: 525px;
}

section#implant_s3 .col-md-6 img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  border: solid 1px #a28857;
}

section#implant_s3 .col-md-6 h4.h4tit_imp {
  width: 100%;
  text-align: center;
  padding: 15px 0;
  color: #a28857;
  font-size: 20px;
}

section#implant_s3 .col-md-6 p {
  text-align: justify;
  text-justify: inter-ideograph;
}

section#implant_s3 .s3_area {
  border: solid 1px #a28857;
  padding: 15px 30px 50px;
  margin: 0 0 150px;
}

section#implant_s3 .s3_area h4.h4tit_imp2 {
  width: 100%;
  text-align: left;
  padding: 15px 0;
  color: #a28857;
  font-size: 20px;
}

section#implant_s3 .s3_box {
  display: flex;
  justify-content: space-between;
}

section#implant_s3 .s3_box .s3_box_l {
  width: 600px;
  line-height: 26px;
  text-align: justify;
  text-justify: inter-ideograph;
}

.s3_box_r {
  width: 335px;
}

.mb20 span {
  font-size: 12px;
}

section#implant_s4 .s4_box1 {
  display: flex;
  justify-content: center;
  gap: 30px;
  margin: 40px 0 50px;
}

section#implant_s4 .s4_box1_en {
  width: 240px;
  height: 240px;
  background-color: #002a70;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

section#implant_s4 .s4_box1_en p {
  color: #fff;
  font-size: 15px;
}

section#implant_s4 .s4_box1_en h4 {
  margin: 0;
  font-size: 25px;
  color: #937e5b;
  line-height: 31px;
  text-align: center;
}

section#implant_s4 .s4_box1_en h4 span {
  font-size: 35px;
  line-height: 48px;
}

section#implant_s4 .s4_box1_en h4 span.small {
  font-size: 15px;
  color: #937e5b;
  line-height: 21px;
}

section#implant_s4 .s4_img img {
  height: 240px;
}

section#implant_s4 .imp_btn {
  width: 360px;
  height: 80px;
  margin: 70px 0;
  background-color: #002a70;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

section#implant_s4 .imp_btn i {
  position: absolute;
  top: 37%;
  left: 25px;
}

section#implant_s4 .imp_btn_txt {
  font-size: 23px;
  color: #a28857;
}

/*
#implant .bg_bl {
	position: relative;
    background-color: #f1f8ff;
    padding: 75px 200% 1px;
    margin: 0 -200% 80px;
	height: 3500px;
}

#implant .bg_bl2 {
	height: 2600px;
	margin-top: 100px;
}

#implant .bg_bl .bg_bl_con ,
#implant .bg_bl2 .bg_bl_con {
	position: absolute;
    background-color: #f1f8ff;
    padding: 75px 100% 1px;
    margin: 0 -100% 80px;
}
*/

#implant.bg_bl {
  background-color: #f1f8ff;
}

section#implant_s5 h4.h4tit_imp2 {
  width: 100%;
  /*text-align: center;*/
  padding: 0px 0 24px;
  color: #a28857;
  font-size: 26px;
}

section#implant_s5 .s5_box {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 50px;
  margin: 25px 0 50px;
}

section#implant_s5 p {
  margin: 0 0 70px;
}

section#implant_s6 .s6_box {
  margin: 40px 0;
  display: flex;
  justify-content: space-between;
}

section#implant_s6 .s6_box_l {
  width: 500px;
  margin-left: -30px;
}

section#implant_s6 .s6_box_r {
  width: 570px;
}

section#implant_s6 .s6_box_r　h4.h4tit_imp2 {
}

section#implant_s6 .s6_box_r　h4.h4tit_imp2 {
}

section#implant_s6 .s6_box_r .h4tit_imp2 {
  font-size: 25px;
  color: #023894;
  margin: 10px 0 20px;
}

section#implant_s7 .s7_box {
  margin: 40px 0;
  display: flex;
  justify-content: space-between;
}

section#implant_s7 .s7_box_l {
  width: 500px;
  margin-left: -30px;
}

section#implant_s7 .s7_box_r {
  width: 570px;
}

section#implant_s7 .s7_box_r　h4.h4tit_imp2 {
}

section#implant_s7 .s7_box_r　h4.h4tit_imp2 {
}

section#implant_s7 .s7_box_r .h4tit_imp2 {
  font-size: 25px;
  color: #023894;
  margin: 10px 0 20px;
}

section#implant_s8 .s8_area01 {
  margin: 30px -30px 20px;
  display: flex;
  justify-content: space-between;
}

section#implant_s8 .s8_box01 {
  width: 260px;
  background-color: #fff;
  padding: 20px 15px;
  border: solid 1px #a28857;
}

section#implant_s8 .s8_cat {
  font-size: 20px;
  text-align: center;
  margin: 10px 0;
}

section#implant_s8 .s8_hoshi {
  font-size: 20px;
  text-align: center;
  color: #a28857;
}

section#implant_s8 .s8_hoshi span {
  color: #b5b5b5;
}

section#implant_s8 .s8_cost {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 0 20px;
}

section#implant_s8 .s8_cost_l {
  font-size: 80px;
  color: #a28857;
}

section#implant_s8 .s8_cost_r {
  font-size: 30px;
  color: #a28857;
  line-height: 23px;
  margin-top: 16px;
}

section#implant_s8 .s8_cost_r span {
  font-size: 15px;
}

section#implant_s8 .s8_hosyou {
}

section#implant_s8 .s8_hosyou {
  width: 200px;
  background-color: #a28857;
  text-align: center;
  font-size: 20px;
  color: #fff;
  padding: 8px 0;
  margin: auto;
}

section#implant_s8 .txt {
  font-size: 12px;
  padding-left: 13px;
  padding-top: 16px;
  line-height: 25px;
}

section#implant_s8 .txt span.idx {
  font-size: 8px;
}

section#implant_s8 .txt span {
  color: #a28857;
}

section#implant_s8 .s8_area02 {
  margin: 0 -30px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

section#implant_s8 .s8_box02 {
  display: flex;
  justify-content: space-between;
  background-color: #fff;
  border: solid 1px #a28857;
  align-items: center;
  padding: 15px 30px;
  width: 553px;
  margin-bottom: 20px;
}

section#implant_s8 .s8_box02_l {
  font-size: 15px;
}

section#implant_s8 .s8_box02_r {
  font-size: 20px;
}

section#implant_s8 .s8_box02_r span {
  font-size: 12px;
}

section#implant_s9 {
  margin: 40px 30px 80px;
}

section#implant_s9 .s9_box {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

section#implant_s9 .s9_box_r {
  width: 850px;
}

section#implant_s9 .s9_box_r p {
  font-size: 15px;
}

section#implant_s9 .s9_box_r p span {
  font-size: 14px;
}

h4.imp_ex_ttl {
  font-size: 15px;
  background-color: #a28857;
  text-align: center;
  color: #fff;
  margin: 40px -30px 30px;
  padding: 20px 0;
}

.imp_ex {
  display: flex;
  justify-content: center;
  gap: 30px;
}

.imp_ex_l {
}

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

.imp_ex_txt_l {
  width: 120px;
  text-align: center;
  font-size: 12px;
  color: #fff;
  background-color: #a28857;
  padding: 8px 0;
  margin: 5px 0;
}

.imp_ex_txt_r {
  width: 540px;
  font-size: 15px;
  border-bottom: solid 1px #a28857;
  padding: 6px 20px;
  margin: 5px 0;
}

.imp_ex_img {
  position: relative;
  margin: 16px 0;
}

.imp_ex_img_txt {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #a28857;
  font-size: 12px;
  color: #fff;
  padding: 10px 20px;
  width: 140px;
  text-align: center;
}

hr.imp_ex_hr {
  margin: 50px -30px 30px;
  border-top: 1px solid #a28857;
}

#implant_s11 div#entry01 {
  margin: 0 -30px;
}

#implant_s12 h4 {
  font-size: 15px;
  color: #fff;
  background-color: #a28857;
  text-align: center;
  padding: 18px;
  margin: 30px 0 0;
}

#implant_s12 .s12_box {
  font-size: 15px;
  line-height: 30px;
  border: solid 1px #a28857;
  padding: 25px 160px;
}

#implant_s12 .s12_box span {
  font-size: 8px;
  color: #a28857;
}

#implant_s14 .s14_box {
  position: relative;
  margin: 30px 0 70px;
}

#implant_s14 .s14_box_step {
  position: absolute;
  top: -20px;
  left: -20px;
  width: 106px;
  height: 106px;
  background-color: #a28857;
  border-radius: 50%;
  font-size: 12px;
  color: #fff;
  line-height: 30px;
  letter-spacing: 1px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  z-index: 1;
}

#implant_s14 .s14_box_step span {
  font-size: 25px;
}

#implant_s14 .s14_box_ttl {
  font-size: 20px;
  color: #fff;
  background-color: #3b66ae;
  padding: 20px 100px;
}

#implant_s14 .s14_box_txt,
#implant_s14 .s14_box_txt_end {
  font-size: 15px;
  background-color: #c1d2ea;
  padding: 30px;
  display: flex;
  justify-content: space-between;
  position: relative;
}

#implant_s14 .s14_box_txt:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -40px;
  left: 0;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  border-color: #c1d2ea transparent transparent transparent;
  border-width: 40px 80px 0 80px;
}

#implant_s14 .s14_box_txt_l {
  width: 800px;
}

#implant_s14 .s14_box_txt_l p.link {
  padding-top: 30px;
}

#implant_s14 .s14_box_txt_l p.link a {
  color: #3c66ab;
}

#implant_s14 .s14_box_txt_r {
  width: 183px;
}

#implant_s15 {
  margin: 0 0 70px;
}

#implant_s15 h3 {
  padding-top: 80px;
}

#implant_s16 .s16_box {
  border: solid 1px #a28857;
  padding: 30px;
  margin: 0 0 40px;
}

#implant_s16 .s16_box h4 {
  font-size: 25px;
  color: #a28857;
  margin-bottom: 30px;
}

#implant_s16 .nagare {
  background-color: #a28857;
  text-align: center;
  color: #fff;
  font-size: 15px;
  padding: 14px;
  margin: 25px 0 0;
}

#implant_s16 .tyui {
  font-size: 10px;
  text-align: center;
}

#implant {
  overflow: hidden;
  margin: 0 0 60px;
}

/*
.mokuji {
    padding: 20px;
	position: sticky;
	top: 0;
	z-index: 10;
	display: flex;
    justify-content: space-between;
}

.mokuji a .mokuji_btn {
    width: 147px;
    padding: 10px 0;
    background-color: #002a70;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mokuji a .mokuji_btn{
    color: #fdd108 !important;
    font-size: 16px;
}

.mokuji a .mokuji_btn span {
    font-size: 9px;
    padding: 0 5px;
}

.mokuji a .mokuji_btn2 {
	width: 147px;
    padding: 10px 0;
    background-color: #fff;
    color: #14378e !important;
    border: 1px solid #14378e;
    font-size: 16px;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mokuji a:hover .mokuji_btn2 {
	text-decoration: none;
}






.mokuji_con_area {
	display: none;
}

.featherlight .featherlight-content {
    background-color: #f9f9f9 !important;
    border: 1px solid #d8dde7 !important;
    border-radius: 10px;
    padding: 0 !important;
	min-width: 300px;
}

.featherlight .featherlight-close-icon {
    padding: 18px 18px !important;
    background-color: rgb(255 255 255 / 0%) !important;
    width: auto!important;
    font-size: 0px;
    line-height: 0 !important;
    background-image: url(images/batsu.svg) !important;
    background-size: cover !important;
}

.featherlight .featherlight-close-icon span {
	display: none;
}



.soudan_bnr {
    position: fixed;
    bottom: 71px;
    right: 0;
    width: 350px;
	z-index: 2;
}

.banner-close {
    position: absolute;
    top: -38px;
    right: 0;
    padding: 4px 8px;
    border: none;
    background-color: rgb(255 255 255 / 0%);
    cursor: pointer;
    font-size: 30px;
    font-weight: bold;
	z-index: 5;
}

.inner2sp_con {
    display: flex;
}





.mokuji_con {
    margin: 90px 25px 35px;
    display: flex;
}

p.s_ip {line-height: 30px;}

p.s_ip a {
    font-size: 16px;
    font-weight: 900;
    color: #002a70;
}

p.s_ip_s {}

p.s_ip_s a {
    font-size: 14px;
    color: #002a70;
    padding-left: 25px;
}

.mokuji_con_l {
    padding: 0 34px;
    border-right: 1px solid #bbddff;
}

.mokuji_con_r {
    padding: 0 34px;
}
*/

.waku_bl {
  display: flex;
  justify-content: center;
  margin: 111px 0;
}

.waku_bl a {
  text-decoration: none;
}

.waku_bl p {
  background-color: #002a70;
  color: #a28857;
  font-size: 23px;
  letter-spacing: 2px;
  font-weight: 400;
  width: 360px;
  text-align: center;
  position: relative;
  padding: 20px 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.waku_bl p span {
  font-size: 8.98px;
  color: #a0a0a0;
  position: absolute;
  top: 50%;
  left: 30px;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

mb {
  margin-bottom: 1.2em !important;
}
.mb00 {
  margin-bottom: 0 !important;
}
.mb05 {
  margin-bottom: 5px !important;
}
.mb07 {
  margin-bottom: 7px !important;
}
.mb08 {
  margin-bottom: 8px !important;
}
.mb10 {
  margin-bottom: 10px !important;
}
.mb15 {
  margin-bottom: 15px !important;
}
.mb20 {
  margin-bottom: 20px !important;
}
.mb25 {
  margin-bottom: 25px !important;
}
.mb30 {
  margin-bottom: 30px !important;
}
.mb35 {
  margin-bottom: 35px !important;
}
.mb40 {
  margin-bottom: 40px !important;
}
.mb45 {
  margin-bottom: 45px !important;
}
.mb50 {
  margin-bottom: 50px !important;
}
.mb60 {
  margin-bottom: 60px !important;
}
.mb70 {
  margin-bottom: 70px !important;
}
.mb80 {
  margin-bottom: 80px !important;
}
.mb90 {
  margin-bottom: 90px !important;
}
.mb100 {
  margin-bottom: 100px !important;
}
.mb120 {
  margin-bottom: 120px !important;
}
.mb130 {
  margin-bottom: 130px !important;
}
.mb140 {
  margin-bottom: 140px !important;
}
.mb150 {
  margin-bottom: 150px !important;
}
.mb_20 {
  margin-bottom: 0px !important;
}

.mt-50 {
  margin-top: -50px !important;
}
.mt00 {
  margin-top: 0 !important;
}
.mt05 {
  margin-top: 5px !important;
}
.mt08 {
  margin-top: 8px !important;
}
.mt10 {
  margin-top: 10px !important;
}
.mt15 {
  margin-top: 15px !important;
}
.mt20 {
  margin-top: 20px !important;
}
.mt25 {
  margin-top: 25px !important;
}
.mt30 {
  margin-top: 30px !important;
}
.mt35 {
  margin-top: 35px !important;
}
.mt40 {
  margin-top: 40px !important;
}
.mt45 {
  margin-top: 45px !important;
}
.mt50 {
  margin-top: 50px !important;
}
.mt280 {
  margin-top: 270px !important;
}
.mt150 {
  margin-top: 300px !important;
}

.ml13 {
  margin-left: 13px !important;
}
.pb00 {
  padding-bottom: 0 !important;
}
.pb05 {
  padding-bottom: 5px !important;
}
.pb08 {
  padding-bottom: 8px !important;
}
.pb10 {
  padding-bottom: 10px !important;
}
.pb15 {
  padding-bottom: 15px !important;
}
.pb20 {
  padding-bottom: 20px !important;
}
.pb25 {
  padding-bottom: 25px !important;
}
.pb30 {
  padding-bottom: 30px !important;
}
.pb35 {
  padding-bottom: 35px !important;
}
.pb40 {
  padding-bottom: 40px !important;
}
.pb45 {
  padding-bottom: 45px !important;
}
.pb50 {
  padding-bottom: 50px !important;
}
.pt00 {
  padding-top: 0px !important;
}

.pt03 {
  padding-top: 3px !important;
}
.pt05 {
  padding-top: 5px !important;
}
.pt08 {
  padding-top: 8px !important;
}
.pt10 {
  padding-top: 10px !important;
}
.pt15 {
  padding-top: 15px !important;
}
.pt20 {
  padding-top: 20px !important;
}
.pt25 {
  padding-top: 25px !important;
}
.pt30 {
  padding-top: 30px !important;
}
.pt35 {
  padding-top: 35px !important;
}
.pt40 {
  padding-top: 40px !important;
}
.pt45 {
  padding-top: 45px !important;
}
.pt50 {
  padding-top: 50px !important;
}

.pt150 {
  padding-top: 150px !important;
}

.col-xs-1,
.col-sm-1,
.col-md-1,
.col-lg-1,
.col-xs-2,
.col-sm-2,
.col-md-2,
.col-lg-2,
.col-xs-3,
.col-sm-3,
.col-md-3,
.col-lg-3,
.col-xs-4,
.col-sm-4,
.col-md-4,
.col-lg-4,
.col-xs-5,
.col-sm-5,
.col-md-5,
.col-lg-5,
.col-xs-6,
.col-sm-6,
.col-md-6,
.col-lg-6,
.col-xs-7,
.col-sm-7,
.col-md-7,
.col-lg-7,
.col-xs-8,
.col-sm-8,
.col-md-8,
.col-lg-8,
.col-xs-9,
.col-sm-9,
.col-md-9,
.col-lg-9,
.col-xs-10,
.col-sm-10,
.col-md-10,
.col-lg-10,
.col-xs-11,
.col-sm-11,
.col-md-11,
.col-lg-11,
.col-xs-12,
.col-sm-12,
.col-md-12,
.col-lg-12 {
  position: relative;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
}

.kouji {
  font-size: 30px;
  text-align: center;
  padding: 100px 0;
}

.blog_box ul.blog {
  display: flex;
  flex-wrap: wrap;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 0;
  list-style: none;
  /*
			font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
	*/
}
.blog_box ul.blog li {
  flex-basis: 30%;
  margin-right: 5%;
  margin-bottom: 70px;
}

.blog_box ul.blog li:nth-child(3n) {
  margin-right: 0;
}
.blog_box .photo {
  margin-bottom: 20px;
  text-align: center;
  position: relative;
}
.blog_box ul.blog li h3 {
  /* font-size: 2rem; */
  /* font-weight: normal; */
  font-size: 20px;
  font-weight: 400;
  padding: 0 0 13px;
  max-width: 350px;
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.blog_box ul.blog li p.txt {
  padding-top: 10px;
  line-height: 32px;
  font-size: 14px;
}

.blog_box .cat_box {
  display: flex;
  /*margin-bottom: 20px;*/
  margin-bottom: 32px;
}

.blog_box .photo a {
  text-align: center;
  width: auto;
  display: block;
  height: 250px;
  transition: none;
}
.blog_box .photo span.photo_cat {
  position: absolute;
  left: 0;
  top: 0;
}
.blog_box .photo:hover {
  opacity: 0.8;
}
.blog_box .cat_box .cat a {
  background: #b9b5b3;
  color: #fff;
  padding: 10px 25px;
  box-sizing: border-box;
  font-size: 12px;
}
.blog_box .cat_box .cat {
  margin-right: 20px;
}
.blog_box .cat_box.news .cat a {
  background: #fedf82;
}

.blog_box h4 {
  font-size: 2rem;
  font-weight: normal;
  margin-bottom: 10px;
}

h2.news_area {
  text-align: center;
  padding: 90px 0;
}

ul.blog_imp {
  list-style: none;
  margin: 0;
  padding: 0 20px;
  margin-bottom: 90px;
  height: 300px;
  overflow-y: scroll;
}

ul.blog_imp::-webkit-scrollbar {
  background: #022b6d;
  width: 5px;
}

ul.blog_imp::-webkit-scrollbar-thumb {
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 20px;
}

ul.blog_imp::-webkit-scrollbar-track {
  border-radius: 20px;
  box-shadow: inset 0 0 10px rgba(255, 255, 255, 0.3);
}

ul.blog_imp li {
}

ul.blog_imp li h3 {
  font-size: 20px;
  font-weight: 400;
  margin: 0;
  padding: 0 0 20px;
}

ul.blog_imp li h3 a {
  color: #221815;
}

ul.blog_imp li p.txt {
  font-size: 16px;
  line-height: 32px;
  letter-spacing: 0;
  padding-bottom: 10px;
}

.blog_more {
  text-align: right;
  padding-bottom: 30px;
  border-bottom: 1px solid #f1f1f1;
  margin-bottom: 40px;
}

ul.blog_imp li h3 a span,
.blog_more a {
  color: #023891;
}

ul.blog_imp li p.txt a {
  color: #221815;
}

#top_link01,
#top03_1,
#top03_2,
#top03_3,
#top05,
#top06,
#top07_1,
#top08_1,
#top08_2,
#top09_1,
#s_ip12,
#s_ip01,
#s_ip01_1,
#s_ip03,
#s_ip03_1,
#s_ip03_2,
#s_ip03_3,
#s_ip03_4,
#s_ip03_5,
#s_ip04,
#s_ip05,
#s_ip05_1,
#s_ip06,
#s_ip07,
#s_ip08,
#s_ip09,
#s_ip10,
#s_ip11,
#s_ip12,
#s_ip13,
#c_cost01,
#c_cost02,
#c_cost03,
#c_cost04,
#c_cost05,
#top06_1_link,
#top06_1_1,
#top06_2_link {
  margin-top: -170px;
  padding-top: 170px;
  /*
    padding-top: 100px;
    margin-top: -100px;
	*/
}

/*
#top_link01 ,
#s_ip01_1 {
	margin-top: -170px;
	padding-top: 170px;
}
*/

/*下層追記*/

.header_ttl {
  margin-top: 160px;
  background-color: #003894;
  color: #fdd108;
  font-size: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 129px 0;
}

.kasou_ttl {
  text-align: center;
  padding: 0 20px;
}

.c_about01 {
  padding: 91px 0 0;
  display: flex;
  gap: 100px;
}

.c_about01_l {
  width: 600px;
}

.c_about01_l p {
  text-align: justify;
  text-justify: inter-ideograph;
}

.c_about01_r {
  width: 270px;
}

.c_about01_name {
  padding: 45px 0 128px;
  display: flex;
  align-items: center;
  gap: 30px;
}

.c_about01_name_l {
  font-size: 14px;
  line-height: 24px;
}

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

.c_about02 {
  background-color: #003894;
  display: flex;
}

.c_about02_l {
  width: 500px;
  line-height: 0;
}

.c_about02_r {
  width: 610px;
}

.c_about02_ttl {
  padding: 26px 0 39px;
  display: flex;
  align-items: center;
  gap: 30px;
}

.c_about02_ttl h2 {
  font-weight: bold;
}

.c_about02_r p {
  color: #fff;
}

.c_about03 {
  padding: 135px 0 170px;
}

.c_first_area {
  padding: 0 0 169px;
}

.c_first_area_r {
  padding: 100px 0 98px 100px;
}

.c_first_01 {
  display: flex;
  gap: 70px;
}

.c_first_01_txt {
  width: 600px;
}

.c_first_01_txt h2 {
  padding: 0 0 37px;
}

.c_first_01_txt p {
  padding: 0 0 32px;
}

.c_first_01_txt a {
  font-size: 16px;
  color: #003894;
  border: 1px solid #003894;
  padding: 6px 30px;
  transition: 0.5s;
}

.c_first_01_txt a:hover {
  color: #fff;
  background-color: #003894;
  border: 1px solid #003894;
  opacity: 1;
  transition: 0.5s;
}

.c_first_link {
  display: flex;
  gap: 100px;
}

.c_cost01 {
  padding: 91px 0 0;
  display: flex;
  gap: 70px;
}

.c_cost01_l {
  width: 500px;
}

.c_cost01_r {
  width: 400px;
}

.c_cost02_area {
  background-color: #f1f8ff;
  border: 2px solid #11459b;
  margin: 96px 0 0;
}

.c_cost02 {
  width: 640px;
  margin: auto;
}

.c_cost02 h2 {
  color: #003894;
  text-align: center;
  font-weight: bold;
  padding: 38px 0 33px;
}

.c_cost02 p {
  letter-spacing: 0;
}

.c_cost02_logo {
  padding: 30px 0 30px;
  display: flex;
  gap: 80px;
}

.c_cost03 {
  padding: 132px 0 66px;
  display: flex;
  gap: 70px;
}

.c_cost03_txt {
  width: 500px;
  letter-spacing: 0;
}

.c_cost03_txt h2 {
  padding: 0 0 45px;
}

.c_cost03_txt p {
  letter-spacing: -1px;
}

.c_cost03_img {
  width: 400px;
}

.c_cost03_02 {
  padding: 30px 30px 30px;
  border: 2px solid #11459b;
}

.c_cost03_02 h2 {
  color: #11459b;
  font-weight: bold;
  padding: 0 0 36px;
}

.c_cost03_02 p {
  letter-spacing: 0;
  font-size: 14px;
}

.c_cost04 {
  padding: 148px 0 60px;
  display: flex;
  gap: 70px;
}

.mt_c_cost05 {
  margin: 164px 0 0 !important;
}

.c_cost05 {
  padding: 67px 0 0;
}

.c_cost05 h2 {
  font-weight: bold;
  color: #003894;
  text-align: center;
  padding: 0 0 35px;
}

.c_cost05 p {
  font-size: 14px;
  letter-spacing: -1px;
}

.c_cost05_list {
  padding: 106px 0 0;
  display: flex;
  gap: 30px;
  justify-content: center;
}

.c_cost05_box {
  width: 270px;
  background-color: #fff;
  border: 1px solid #003894;
  position: relative;
}

.c_cost05_box h2 {
  width: 200px;
  background-color: #003894;
  color: #fff;
  font-size: 20px;
  text-align: center;
  padding: 6px 0;
  position: absolute;
  top: -36px;
  left: 0;
  right: 0;
  margin: auto;
}

.c_cost05_box h2 span {
  font-size: 36px;
  font-weight: 600;
}

.c_cost05_box_img {
  padding: 31px 20px 0;
}

.c_cost05_box_cost {
  padding: 16px 0 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 3px;
}

.c_cost05_box_cost_l {
  width: 45px;
  height: 45px;
  font-size: 16px;
  font-weight: bold;
  color: #fff;
  background-color: #003894;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  line-height: 0;
  align-items: center;
}

.c_cost05_box_cost_c {
  font-size: 72px;
  line-height: 0;
  color: #003894;
  margin-top: -13px;
}

.c_cost05_box_cost_r {
  color: #003894;
  font-size: 30px;
  line-height: 24px;
}

.c_cost05_box_cost_r span {
  font-size: 16px;
}

.c_cost05_box_cat {
  font-size: 20px;
  letter-spacing: -2px;
  text-align: center;
  padding: 15px 0 0;
}

.c_cost05_box_hoshi {
  font-size: 14px;
  text-align: center;
  padding: 0 0 13px;
}

.c_cost05_box_txt {
  background-color: #003894;
  color: #fff;
  font-size: 14px;
  padding: 24px 18px 24px;
  /*padding: 24px 24px 24px;*/
}

.c_cost05_box_txt span {
  color: #fdd108;
}

.c_cost05_op {
  padding: 57px 0 87px;
  display: flex;
}

.c_cost05_op_l {
  width: 570px;
}

.c_cost05_op_box {
  border: 1px solid #003894;
  background-color: #fff;
  display: flex;
  justify-content: space-between;
  padding: 23px 30px;
  margin-bottom: 27px;
}

.c_cost05_op_l p.p1 {
  padding: 0 0 20px;
}

.c_cost05_op_l p.p2 {
  font-size: 14px;
  line-height: 21px;
  padding: 0 10px 40px;
}

.c_cost05_op_r {
  padding: 0 100px;
}

.c_cost06 {
  padding: 78px 0 0;
}

.c_cost06 h2 {
  text-align: center;
  padding: 0 0 40px;
}

.c_cost06_01 {
  padding: 0 0 0;
  background-color: #fadce9;
  border-radius: 15px;
}

.c_cost06_01_up {
  padding: 33px 0 22px;
  display: flex;
  gap: 75px;
  justify-content: center;
}

.c_cost06_01_up_l {
  width: 260px;
}

.c_cost06_01_up_con {
  padding: 28px 0 0;
}

.c_cost06_01_up_con_sikaku {
  width: 200px;
  background-color: #fff;
  margin: auto;
  text-align: center;
  padding: 3px 0;
}

.c_cost06_01_up_con_sikaku span {
  font-size: 36px;
}

.c_cost06_01_up_con_logo {
  width: 225px;
  margin: auto;
  padding: 33px 0 0;
}

.c_cost06_01_up_c {
  width: 170px;
}

.c_cost06_01_up_r {
  width: 260px;
}

.c_cost06_01_dw {
  border-top: 2px solid #fff;
  padding: 28px 0 38px;
}

.c_cost06_01_dw p {
  width: 760px;
  margin: auto;
  font-size: 14px;
  letter-spacing: 0;
  line-height: 24px;
}

.c_cost06_01_dw p.big_txt {
  font-size: 20px;
  text-align: center;
  padding: 0 0 20px;
}

.c_cost06_02 {
  padding: 53px 0 96px;
  display: flex;
  gap: 30px;
}

.c_cost06_02_l {
  width: 770px;
}

.c_cost06_02_l p {
  font-size: 14px;
  line-height: 32px;
  letter-spacing: -1px;
}

.c_cost06_02_r {
  width: 170px;
}

h2.center {
  text-align: center;
}

section#top00 {
  padding: 124px 20px 94px;
}

section#top00 h2 {
  padding: 0 0 80px;
}

/* ビフォーアフタースライダー */
.before_after_slider {
  position: relative;
  overflow: hidden;
  width: 800px;
  max-width: 100%;
  margin: 0 auto;
  border-radius: 10px;
}

.box_before {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 50%;
  height: 100%;
  border-right: 3px solid rgba(255, 255, 255, 0.7);
  /*box-shadow: 10px 0 15px -13px #000;*/
}

.box_before img {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left center;
}

.box_before::before {
  content: "";
  z-index: 1;
  position: absolute;
  top: 0;
  right: -22px;
  bottom: 0;
  width: 45px;
  height: 45px;
  margin: auto;
  background-image: url(images/icon_bfaf.png);
  background-size: 45px;
  background-repeat: no-repeat;
  /* box-shadow: 10px 0 15px -13px #000;*/
}

.slider_range {
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  opacity: 0;
  cursor: col-resize;
}

.box_before,
.box_after {
  background-size: cover;
}

.before_after_slider .bf {
  font-size: 14px;
  font-weight: 200;
  color: #fff;
  width: 110px;
  height: 28px;
  position: absolute;
  bottom: 22px;
  left: 18px;
  border-radius: 5px;
  background-color: rgb(0 42 112 / 30%);
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.before_after_slider .af {
  font-size: 14px;
  font-weight: 200;
  color: #fff;
  width: 110px;
  height: 28px;
  position: absolute;
  bottom: 22px;
  right: 18px;
  border-radius: 5px;
  background-color: rgb(0 42 112 / 30%);
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bfaf_ud {
  width: 100%;
  text-align: center;
  line-height: 32px;
  color: #fff;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  padding: 9px 0;
  margin: 10px 0 0;
  background-color: #00358e;
}

table.time td.kyu {
  background-color: #d3d1d0;
}

.globalMenuSp table.time td.kyu {
  color: #00358e;
}

table.time td.sta {
  color: #00358e;
}

table.time td.sun {
  color: red;
}

li.hm_time table td.time_r.sta,
li.hm_time table td.time_r.sun {
  color: #fff;
}

#implant_s13 .flex {
  gap: 40px;
}

#implant_s13 .flex img {
  width: 420px;
}

.mg_r {
  text-align: justify;
  text-justify: inter-ideograph;
}

/***** 20250722 add *****/

section#top_faq {
  padding: 100px 0;
}

section#top_faq h2 {
  text-align: center;
}

section#top_faq .con {
  margin: 60px 0 0;
}

section#top_faq .con h3 {
  margin: 60px 0 30px;
}

section#top_faq .con .box {
  margin: 0 0 30px;
}

section#top_faq .con .box .box_q {
}

section#top_faq .con .box .box_a {
}

section#top_faq .con .box .box_a p.link {
  padding: 20px 0 0;
  font-size: 18px;
  text-align: right;
}

section#top_faq .con .box .box_a p.link a {
  font-size: 16px;
  color: #003894;
  border: 1px solid #003894;
  padding: 6px 30px;
  transition: 0.5s;
}

section#top_faq .con .box .box_a p.link a:hover {
  color: #fff;
  background-color: #003894;
  border: 1px solid #003894;
  opacity: 1;
  transition: 0.5s;
}

section#top_faq .box_a {
  display: block;
  padding: 20px 0;
  border-top: 1px solid #ccc;
  animation: fadeIn 0.3s ease-in-out;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-5px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

section#top_faq .box_q {
  cursor: pointer;
  font-weight: bold;
  position: relative;
  padding-right: 20px;
}

section#top_faq .box_q::after {
  content: "＋";
  position: absolute;
  right: 0;
  top: 0;
  font-size: 20px;
  transition: 0.3s;
}

section#top_faq .box.open .box_q::after {
  content: "－";
}

/* PC SP
--------------------------------------------- */

.pc {
  display: block;
}

.sp {
  display: none;
}

.pc_br {
  display: block;
}

.sp_br {
  display: none;
}

@media screen and (max-width: 782px) {
  html {
    overflow-x: hidden;
  }

  body {
    /*max-width:782px;*/
  }

  .site {
    overflow-x: hidden;
  }

  .pc {
    display: none;
  }

  .sp {
    display: block;
  }

  .pc_br {
    display: none;
  }

  .sp_br {
    display: block;
  }

  .w630,
  .w770,
  .w970,
  .w1030,
  .w1170,
  .w1290 {
    width: 100%;
    padding: 0 20px;
    margin: 0 auto;
  }

  /***** LCP対策 *****/

  /*
  .fsv_con01,
  .fsv_con02,
  .mv_point_sp_area,
  .muryou {
    content-visibility: visible;
    contain-intrinsic-size: auto;
  }
  */

  .mv_lcp_wrap {
    position: relative;
    isolation: isolate;
  }

  .mv_lcp {
    width: 100%;
    aspect-ratio: 1170 / 1979;
    max-height: 100vh;
    overflow: hidden;
  }

  .mv_img {
    width: 100%;
    height: auto;
    display: block;
  }

  /***** LCP対策 *****/

  main {
    /*overflow-x: hidden;*/
  }

  body {
    font-size: 16px;
    line-height: 35px;
  }

  h2,
  h2.page_h2 {
    font-size: 20px;
    line-height: 42px;
  }

  h3 {
    font-size: 18px;
    line-height: 40px;
  }

  p.page_p {
    font-size: 16px;
    line-height: 35px;
  }

  .flex {
    flex-direction: column;
  }

  .header_sp {
    width: 100%;
    height: 80px;
    position: fixed;
    top: var(--global-page-h1-height, 55px);
    left: 0;
    background-color: #0d296c;
    color: #fff;
    padding: 10px 18px;
    display: flex;
    justify-content: space-between;
    border-bottom: 3px solid #fae24c;
    z-index: 10;
    transition: top 0.18s ease;
    will-change: top;
  }

  .header_sp.is-fixed-top {
    top: 0;
  }

  .header_sp_l {
  }

  .header_sp_l .link {
    padding: 0;
  }

  .header_sp_l .link img {
    width: 50%;
  }

  .fsv .mv_logo_sp {
    margin-top: 0;
  }

  .mv_logo_sp {
    margin-top: -3px;
  }

  .mv_logo__txt {
    font-size: 14px;
    /*** add ***/
    padding: 0 0;
    margin: -5px 0 0;
    line-height: 2;
  }

  /*
  .mv_logo_sp h1,
  .mv_logo_sp .site_h1 {
    width: 70%;
    font-size: 7px;
    margin: 0;
    padding: 4px 0;
    line-height: 10px;
    color: #0d296c;
  }
  */

  .mv_logo_sp h1 {
    width: 70%;
    font-size: 7px;
    margin: 0;
    padding: 4px 0;
    line-height: 10px;
    color: #0d296c;
  }

  .mv_logo_sp .site_h1 {
    display: none;
  }

  .navToggle span {
    border-bottom: solid 1px #fff;
  }

  .navToggle span:nth-child(4),
  .navToggle span:nth-child(5) {
    display: none;
  }

  .mv_sp {
    padding-top: 80px;
    line-height: 0;
    position: relative;
    height: 100svh;
  }

  .mv_sp_img {
    position: absolute;
    height: calc(100svh - 80px);
  }

  .mv_sp_img img {
    height: 100%;
    object-fit: cover;
  }

  .mv_sp_con01 {
    position: absolute;
  }

  .mv_sp_con01 .mv_point_con {
    background-image: url(images/con_box_bg@sp.png);
    background-size: contain;
    background-repeat: no-repeat;
  }

  .mv_sp_con02 {
    width: 100%;
    position: absolute;
    bottom: 10px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .mv_sp_con02 .ttl_bg {
    font-size: 78px;
    color: rgb(255 255 255 / 25%);
  }

  .mv_sp_con02 h2 {
    color: #fff;
    font-size: 11px;
    font-weight: bold;
    text-align: center;
    margin-top: 30px;
  }

  .mv_point_sp {
    background-color: #0e2969;
    display: flex;
  }

  .mv_point_con_sp {
    width: 50%;
    padding: 20px;
  }

  /*
  h2.mv_sp_txt {
    font-size: 16px;
    color: #fff;
    line-height: 30px;
    position: absolute;
    top: 235px;
    left: 20px;
  }
  */
  h2.mv_sp_txt {
    font-size: 20px;
    color: #142868;
    line-height: 57px;
    padding: 30px 20px;
  }

  .navToggle {
    /*
		right: 10px;
        top: 5px;
		*/
    width: 70px;
    height: 70px;
    top: 5px;
  }

  .navToggle span {
    width: 43px;
  }

  .navToggle.active {
    top: 10px;
    right: 10px;
  }

  .navToggle.active span:nth-child(1) {
    left: 14px;
  }

  /*
	.navToggle span:nth-child(4) {
		font-size: 11px;
		top: 30px;
	}
	*/

  .mv_sp.sp {
    margin-top: 80px;
  }

  .mvbox_sp {
  }

  .mvbox_sp_img {
    width: 100%;
    line-height: 0;
  }

  .mvbox_sp_txt {
    background-color: #003894;
    padding: 20px;
    color: #fff;
  }

  .mvbox_sp_txt h1 {
    color: #fdd108;
    font-size: 14px;
    line-height: 32px;
    padding: 0 0 14px;
  }

  .mvbox_sp_txt h2 {
    font-size: 24px;
    padding: 0 0 18px;
  }

  .mvbox_sp_txt p {
    font-size: 16px;
    line-height: 26px;
  }

  .hdr_imp {
    padding: 10px 5px;
    text-align: center;
  }

  .hdr_imp_en {
    font-size: 10px;
    line-height: 12px;
  }

  .hdr_imp_txt {
    font-size: 14px;
    line-height: 5px;
  }

  .accordion ul {
    height: 100%;
    width: 100%;
    overflow-y: auto;
  }

  .mokuji {
    display: none;
  }

  .mokuji_con {
    display: flex;
    flex-direction: column;
  }

  .mokuji_con_l {
    border: 0;
  }

  .mokuji_con_r {
    padding: 0 34px 200px;
  }

  .yellowbox div {
    display: flex;
    flex-direction: column;
    gap: 30px;
  }

  section.center2 {
    padding: 40px 20px;
  }

  .yellowbox2 {
  }

  .yellowbox2_r {
    position: relative;
    width: 100%;
    margin: 0;
    top: 0;
    padding: 35px 20px 35px 40px;
  }

  .yellowbox2_r {
    font-size: 30px;
  }

  .s4 h2 {
    padding: 60px 0 0;
    display: flex;
    /*flex-direction: column;*/
    align-items: flex-start;
    gap: 20px;
  }

  .ex_box_content {
    padding: 42px 20px 10px;
    display: flex;
    flex-direction: column-reverse;
    gap: 40px;
  }

  .ex_box_content_l {
    width: 100%;
  }

  .ex_box_content_l_txt {
    display: flex;
    align-items: flex-start;
  }

  .ex_box_content_l_txt .txt {
    width: 300px;
  }

  .ex_box_content_r {
    width: 100%;
    text-align: center;
  }

  .s5 h2 {
    padding: 30px 0 0;
    text-align: left;
  }

  .s5_content01 {
    display: flex;
    flex-direction: column;
    padding: 30px 0 0;
  }

  .s5_content01_txt h3 {
    padding: 0 0 24px;
  }

  .s5_content01_txt {
    width: 100%;
  }

  .s5_content01_img {
    width: 100%;
    text-align: center;
  }

  .pop01 {
    display: flex;
    flex-direction: column;
  }

  .pop01_l {
    width: 100%;
  }

  .popup_box {
    padding: 20px;
    overflow-y: scroll;
    height: 100%;
  }

  .pop01_r {
    text-align: center;
  }

  .popup_close {
    display: block;
  }

  /*
	.s5_content02 {
		display: flex;
		flex-direction: column;
		gap: 78px;
		align-items: center;
	}
	*/

  .s5_link {
    padding: 50px 0;
  }

  .s6 {
    padding: 90px 20px 0;
  }

  .s6 h2 {
    text-align: left;
    padding: 0 20px;
  }

  .s6_box {
    width: 100%;
    padding: 0;
    margin: 70px auto 70px;
  }

  .s6_box_txt,
  .s6_box_txt_end {
    display: flex;
    flex-direction: column;
    padding: 20px;
  }

  .s6_box_txt_l {
    width: 100%;
  }

  .s6_box_txt_r {
    width: 100%;
    text-align: center;
  }

  .s6_box_step {
    /*
		top: -25px;
		left: -15px;
		*/
    /*position: relative;*/
    top: -55px;
    left: unset;
    margin: 0 auto 8px;
  }

  .s6_box_ttl {
    padding: 15px 20px;
  }

  .s7_ttl {
    display: flex;
    flex-direction: column;
  }

  .s7_ttl_l h2 {
    font-size: 28px;
  }

  .s7_ttl_r {
    width: 100%;
    text-align: center;
  }

  .yoyaku_con {
    padding: 20px;
    text-align: left;
  }

  .s4 h2 {
    font-size: 28px;
  }

  .totop {
    right: 0;
    bottom: 70px;
    position: fixed;
  }

  .totop img {
    width: 70%;
  }

  h1 {
  }

  h2,
  .ftr02_r p span,
  .sterilization_tx h2 {
    font-size: 20px;
    text-align: left;
    line-height: 40px;
  }

  .t_left {
    text-align: left;
  }

  .t_center {
    text-align: center;
  }

  /*
	li.hm_time p,
	section.center .sub,
	.yellowbox2 h3 .sub,
	.yellowbox2 p .sub,
	.yellowbox2 p span,
	.treatment_box p .sub,
	.fftv04_box h3 span,
	.den01_c h3 span {
		font-size: 12px;
	}
	*/

  .mv {
    background-image: url("images/mv@sp.webp");
    background-position: bottom right;
    height: 100vh;
    align-items: normal;
    position: relative;
    /*
		background-repeat: no-repeat;
		background-size: cover;
		background-position: right;
		height: 1020px;
		display: flex;
		align-items: center;
		*/
  }

  .hdr_logo img {
    width: 150px;
  }

  .hdr {
    /*padding: 20px 120px 0 30px;*/
    padding: 0;
    position: fixed;
    top: 0;
    z-index: 10;
    background-color: #fff;
  }

  .hdr_l_l a {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
  }

  .hdr2 .hdr_l_l a {
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .hdr2 .hdr_tel {
    display: none;
  }

  .mvbox {
    align-items: normal;
    height: auto;
    position: absolute;
    bottom: 20px;
    left: -5px;
    min-width: auto;
  }

  .mvbox_bg {
    display: none;
  }

  .mvbox .textbox h1 {
    margin: 0 0 20px;
  }

  .textbox {
    padding: 25px 25px;
    background-color: rgb(0 56 148 / 60%);
    /*background-color: #f5ad7c;*/
    /*mix-blend-mode: multiply;*/
    height: auto;
  }

  /*
	.mvbox .textbox p,
	section.center p,
	.top_reason_bg01 p,
	.top_reason_bg02 p,
	.top_reason_bg03 p,
	.yellowbox p,
	.yellowbox2 p,
	.top_menu04_tx p,
	section.center4 h2 .sub,
	.treatment_tx p,
	.sterilization_tx p,
	.fftv01 p,
	.fftv03_box_tx p,
	.den03 .fftv03_box_tx a {
		font-size: 16px;
	}

	nav.globalMenuSp ul li,
	.top_reason_bg02 h3,
	.top_reason_bg03 h3,
	.yellowbox div p,
	.yellowbox2 div p,
	.top_possibilitybox h3,
	section.center2 a,
	.top_menu04_tx a,
	.yellowbox2 h3,
	.top_menu04_tx h3,
	.treatment_tx h3,
	.treatment_box p,
	.sterilization_tx h3,
	.ftr02_l h2,
	.ftr02_c h2,
	.ftr02_r h2,
	.ftr02_r a,
	.fftv_flowbox h3,
	.fftv03_box_tx h3,
	.fftv03_box_tx a,
	.fftv04_box h3 {
		font-size: 20px;
	}


	.ftr02_l a {
		font-size: 25px;
	}
	*/

  .mvbox .textbox p,
  section.center p,
  .top_menu04_tx p {
    text-align: justify;
  }

  section.center4 h2 .sub {
    line-height: 25px;
    display: block;
  }

  section.center .sub {
    line-height: 20px;
    display: block;
    margin-top: 10px;
  }

  .treatment_tx p {
    line-height: 20px;
  }

  section.center,
  .yellowbox,
  .top_menu04_tx,
  section.center4,
  .ftr01 {
    padding: 20px;
  }

  .top_possibilitybox {
    padding: 14px 0;
  }

  section.center5 {
    padding: 50px 20px 90px;
  }

  section.center6 {
    padding: 50px 20px;
  }

  .ftr03_r,
  .ftr03_l {
    /*padding-top: 10px;*/
    letter-spacing: 0;
  }

  .ftr03_box,
  .ftr03_r {
    gap: 8px;
  }

  .ftr04 {
    padding: 10px;
    font-size: 9px;
  }

  .mvbox_bg,
  .mvbox,
  .mvbox .textbox,
  .yellowbox,
  .top_reasonbox,
  section.left,
  section.right,
  section.center4 .top_menu04_tx,
  .top_menu04_tx,
  .treatment,
  .treatment_tx,
  .treatment_tx p,
  .sterilization,
  .sterilization_tx,
  .ftr03_l,
  .ftr02_box,
  .ftr03_box,
  .ftr03_r,
  .w1170,
  .fftv04_box p,
  .fftv04_box h3 {
    width: auto;
  }

  .yellowbox,
  section.center6,
  .ftr01,
  .ftr02,
  .ftr03,
  .ftr04 {
    height: auto;
    line-height: 32px !important;
  }

  .top_possibility,
  .treatment,
  .treatment_mhlw,
  .sterilization,
  .ftr03_r,
  .ftr03_box {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  section.right,
  .ftr02_box,
  .ftr03_box,
  .top_reasonbox {
    display: flex;
    flex-direction: column;
  }

  section.left,
  .top_menu04 {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
  }

  .yellowbox2,
  .menuimgbg05 {
    position: static;
  }

  nav.globalMenuSp,
  .yellowbox,
  .yellowbox div,
  .yellowbox p,
  .yellowbox2,
  .top_menuimg,
  .top_menu04,
  .top_menu04_img,
  .menuimgbg05,
  .top_menuimg2,
  .sterilization_img,
  .top_way01,
  .top_way02,
  .top_way03,
  .top_way04 {
    width: 100%;
  }

  nav.globalMenuSp ul {
    width: 80%;
  }

  .top_menuimg {
    height: 200px;
  }

  .top_way01,
  .top_way02,
  .top_way03 {
    height: 260px;
  }

  .top_reason {
    margin: 0 0 70px;
  }

  .top_way04 {
    background-position: left bottom;
    height: 600px;
  }

  .top_menu04_img {
    background-position: center;
  }

  /*
	.menuimgbg05 {
		background-position: center;
		height: 230px;
	}
	*/

  .menuimgbg05_sp {
    height: 100%;
    text-align: center;
  }

  .menuimgbg05_sp_up {
    background-image: url("images/top_menuimg05_bg.webp");
    background-size: cover;
    background-position: center;
    line-height: 0;
    padding: 40px 20px 0;
  }

  .menuimgbg05_sp_dw {
    padding: 40px 20px;
  }

  .sterilization_tx {
    padding-left: 0;
    padding-bottom: 30px;
  }

  nav.globalMenuSp ul {
    margin: 120px auto 0;
    line-height: 32px;
  }

  section.center,
  section.center4 {
    margin-top: 30px;
  }

  .top_possibilitybox h3 {
    margin: 0 0 5px;
  }

  .top_menu04_tx h3 {
    margin: 0 0 10px;
  }

  .treatment_box,
  .top_way01,
  .top_way03,
  section.center5 h2 {
    margin-bottom: 20px;
  }

  .top_reason_bg02,
  .treatment_mhlw {
    margin: 30px 0;
  }

  section.center4 .top_menu04 {
    margin: 10px 0 0;
  }

  section.center4 .top_menu04_tx p span {
    margin-right: -7px;
  }

  .yellowbox div p,
  .ftr03_box,
  .treatment_mhlw img,
  .treatment,
  .fftv01 h2,
  .fftv04_box h3 {
    margin: 0;
  }

  .ftr02_l h2,
  .ftr02_c h2,
  .ftr02_r h2 {
    margin: 0 0 8px;
  }

  .ftr02_c {
    margin: 25px 0 30px;
  }

  nav.globalMenuSp ul li a img {
    margin-bottom: -7px;
  }

  .ftr01 img {
    width: 260px;
  }

  .ftr02_l a img.telicon {
    width: 16px;
    margin-bottom: -2px;
    transition: bottom 0.2s ease;
  }

  .pgtitle {
    height: 120px;
    font-size: 25px;
    margin-top: 0;
  }

  .fftv01 {
    background-position: left;
    margin: 40px 0;
    padding: 0 20px;
    height: auto;
  }

  hr.sline {
    margin: 20px 0;
  }

  hr.lline {
    margin: 60px 0 50px;
  }

  .fftv02 h2 {
    margin: 42px 0 10px;
  }

  .fftv_flow {
    flex-direction: column;
    align-items: center;
  }

  .fftv_flowbox {
    width: 220px;
    margin-bottom: 27px;
  }

  p.fftv_flow_nb {
    font-size: 60px;
  }

  .fftv_flowbox h3 {
    margin: -3px 0 2px;
  }

  .fftv03 h2 {
    margin: 58px 0 30px;
  }

  .fftv03_box {
    flex-direction: column;
  }

  .fftv03_box_tx {
    width: auto;
    padding: 0 20px 25px;
  }

  .fftv03_box_img {
    background-position: top;
    width: 100%;
    height: 450px;
  }

  .fftv04 {
    padding-top: 0;
  }

  .fftv04_box {
    position: static;
    height: 580px;
    margin: 0;
    padding: 0 20px;
  }

  img.fftv04_img01 {
    display: none;
  }

  .fftv04_box div {
    height: auto;
    position: relative;
    top: 0;
    width: 100%;
    padding: 35px;
    margin: 30px 0;
  }

  .fftv04_box p,
  .den03 h2 {
    margin: 0 0 20px;
  }

  img.fftv04_img02 {
    right: 15px;
    bottom: auto;
    width: 30%;
    margin-top: -180px;
  }

  .den01 h2 {
    margin: 30px 20px;
  }

  .den01_box {
    height: 380px;
  }

  .den01_img {
    position: absolute;
    top: 0;
  }

  .den01_c {
    width: 100%;
    height: 180px;
    bottom: 0;
  }

  .den01_c img {
    width: 40%;
    left: 10px;
  }

  .den01_c p {
    top: 20px;
    right: 30px;
    font-size: 14px;
    line-height: 28px;
    margin: 0;
  }

  .den01_c h3 {
    right: 40px;
    bottom: 20px;
    font-size: 16px;
  }

  .den02 {
    margin: 70px 0;
    padding: 0 20px;
  }

  .den02 h2 {
    margin: 0;
    position: static;
  }

  .den02 .fftv04_box {
    padding: 0;
    height: 680px;
    position: relative;
  }

  .den02 .fftv04_box div {
    padding: 40px 30px 186px;
  }

  .den02 .fftv04_box p {
    font-size: 14px;
    width: auto;
    padding: 20px 0;
    margin: 0;
  }

  .den02 .fftv04_box h3 span {
    font-size: 14px;
  }

  img.dentists03 {
    width: 30%;
    right: 35%;
    bottom: 15px;
  }

  .den03 .fftv03_box {
    flex-direction: column-reverse;
  }

  .den03 ol {
    font-size: 14px;
    padding: 0 0 0 18px;
    margin: 20px 0;
  }

  .dentists04 {
    width: 250px;
    height: 319px;
    background-position: center;
  }

  .about01 {
    flex-direction: column;
    gap: 20px;
    padding: 0 20px;
    margin: 20px 0;
  }

  .about01_l {
    width: 100%;
  }

  .about01_r {
    width: 100%;
  }

  .about02 {
    padding: 0 20px;
  }

  .about03 {
    flex-direction: column;
    padding: 0 20px;
  }

  .about03_l {
    width: 100%;
  }

  .about03_r {
    width: 100%;
  }

  table.about04 td {
    width: 100%;
    display: block;
  }

  table.about04 {
    margin: 0 20px;
    width: calc(100% - 40px);
  }

  .info01 {
    padding: 0 20px;
  }

  .info01_box {
    flex-direction: column;
  }

  .info01_box_r {
    position: static;
  }

  .info01_txt {
    width: 100%;
    position: static;
    margin-top: 25px;
  }

  .info02 {
    height: auto;
    margin: 64px 0 0;
    padding: 0 20px;
  }

  .info02_2f {
    font-size: 150px;
    left: 150px;
  }

  .info02_box {
    flex-direction: column;
  }

  .info02_box_l {
    margin: 0;
    width: 100%;
  }

  .info02_img01 {
    position: static;
  }

  .info02_img02 {
    position: static;
  }

  .info02_img01 img,
  .info02_img02 img {
    width: 100%;
  }

  .info03 {
    padding: 0 20px;
    margin: 100px 0 100px;
    height: auto;
  }

  .info03_box {
    flex-direction: column-reverse;
  }

  .info03_box_r {
    width: 100%;
    margin: 0;
  }

  .info03_img01 {
    position: static;
  }

  .info03_img02 {
    position: static;
  }

  .info03_img01 img,
  .info03_img02 img {
    width: 100%;
  }

  .info04_ttl_area {
    height: auto;
    margin: 100px auto 0;
  }

  .info04_ttl {
    width: 100%;
    position: static;
    flex-direction: column;
  }

  .info04_img_area {
    width: 100%;
  }

  .info04_img_box01 {
    position: static;
    padding: 0 20px;
  }

  .info04_ttl h2 {
    padding: 0;
  }

  .info04 {
    margin: 96px 0 50px;
    padding: 0 20px;
  }

  .info04_box {
    flex-direction: column;
  }

  .info04_box_l {
    width: 100%;
  }

  .info04_box_r {
    width: 100%;
  }

  .info04_img_box02 img {
    width: 50%;
  }

  .info05_ttl {
  }

  .info05_ttl h2 {
    padding: 0 20px;
  }

  .info05 {
    padding: 0 20px;
  }

  .info05_box {
    flex-direction: column-reverse;
  }

  .info05_box_r {
    width: 100%;
    margin: 0;
  }

  .info06 {
    padding: 0 20px;
  }

  .info06_box {
    flex-direction: column;
  }

  .info06_box_l {
    width: 100%;
    margin: 0;
  }

  .info06_box_l h2 {
    text-align: left;
  }

  .info07_ttl {
    margin: 50px 0 0;
    padding: 0 20px;
  }

  .info07 {
    margin: 0 0 50px;
    padding: 0 20px;
    flex-direction: column;
  }

  .info07_ttl h2 {
    padding: 30px 0;
  }

  .lightbox_area {
    flex-direction: column;
  }

  .lightbox_area_l {
    width: 100%;
  }

  .lightbox_area_r {
    text-align: center;
  }

  .m-l200 {
    margin: 0;
  }

  .sterilization_img {
    height: 275px;
    background-size: 75%;
    background-position: center;
  }

  .ft_sp {
    width: 100%;
    position: fixed;
    bottom: -1px;
    line-height: 0;
    display: flex;
    z-index: 5;
    margin-bottom: -2px;
  }

  .hdr_l {
    width: 100%;
    gap: 10px;
  }

  .hdr_l_r {
    width: 120px;
  }

  .yoyaku_area {
    display: flex;
    flex-direction: column;
  }

  .yoyaku_con_area {
    padding: 25px 20px;
  }

  .ft_c_con {
    display: flex;
    flex-direction: column-reverse;
  }

  .ft_c_con_l {
    width: 100%;
  }

  .ft_c_con_r {
    width: 100%;
  }

  .ft_c_con_r h2 {
    letter-spacing: -3px;
  }

  .ft_c_con_r h2 a {
    display: flex;
    align-items: center;
  }

  .ft_c_con_r h2 a img {
    width: 30px;
  }

  .ft_c_con_r .tel a {
    color: #fff;
  }

  .ft_c_box h4 {
    width: 100%;
  }

  section#top01 p {
    text-align: left;
    width: 100%;
  }

  .top_possibilitybox p {
    text-align: left;
  }

  .ex_box_content_link {
    font-size: 12px;
    padding: 0 0 40px;
  }

  section#implant_s0 ,
	section#implant_s1 ,
	section#implant_s2 ,
	section#implant_s3 ,
	section#implant_s4 ,
	section#implant_s5 ,
	section#implant_s6 ,
	section#implant_s7 ,
	section#implant_s8 ,
	section#implant_s9 ,
	section#implant_s10 ,
	section#implant_s11 ,
	section#implant_s12 ,
	section#implant_s13 ,
	section#implant_s14 ,
	/*section#implant_s15 ,*/
	section#implant_s16 ,
	section#implant_s17 {
    margin: 0;
  }

  section#implant_s1 .s1_box01 {
    flex-direction: column;
    align-items: center;
  }

  section#implant_s1 .s1_box01_l {
    width: 100%;
  }

  section#implant_s2 .s2_box {
    flex-direction: column;
  }

  section#implant_s2 .s2_box_name {
    gap: 30px;
    flex-direction: column;
  }

  section#implant_s2 .s2_box_l p.exp {
    text-align: left;
  }

  section#implant_s3 .col-md-6 {
    width: 100%;
  }

  section#implant_s3 .s3_box {
    flex-direction: column;
    gap: 30px;
  }

  section#implant_s3 .s3_box .s3_box_l {
    width: 100%;
  }

  .s3_box_r {
    width: 100%;
    text-align: center;
  }

  section#implant_s3 .mb40 {
    gap: 50px;
  }

  #implant .bg_bl,
  #implant .bg_bl2 {
    padding: 75px 20px;
    margin: 0 0 80px;
    height: unset;
  }

  #implant .bg_bl .bg_bl_con {
    position: static;
  }

  section#implant_s4 .s4_box1 {
    flex-direction: column;
    align-items: center;
  }

  section#implant_s4 .imp_btn {
    width: 100%;
  }

  section#implant_s6 .s6_box {
    flex-direction: column;
  }

  section#implant_s6 .s6_box_l {
    width: 100%;
    margin-left: 0;
  }

  section#implant_s6 .s6_box_r {
    width: 100%;
  }

  section#implant_s7 .s7_box {
    flex-direction: column;
  }

  section#implant_s7 .s7_box_l {
    width: 100%;
    margin-left: -0;
  }

  section#implant_s7 .s7_box_r {
    width: 100%;
  }

  section#implant_s8 .s8_area01 {
    align-content: normal;
    overflow-y: auto;
    gap: 20px;
    margin: 30px 0 20px;
  }

  section#implant_s8 .s8_cat {
    font-size: 17px;
  }

  section#implant_s8 .s8_area02 {
    margin: 0;
  }

  section#implant_s9 .s9_box {
    flex-direction: column;
    gap: 30px;
  }

  section#implant_s9 .s9_box_r {
    width: 100%;
  }

  .imp_ex {
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }

  h4.imp_ex_ttl {
    margin: 40px 0 30px;
  }

  .imp_ex_txt_r {
    width: 100%;
  }

  hr.imp_ex_hr {
    margin: 50px 0 30px;
  }

  #implant_s11 div#entry01 {
    margin: 0;
  }

  #implant_s12 .s12_box {
    padding: 25px 20px;
  }

  #implant_s14 .s14_box {
    margin: 180px 0 70px;
  }

  #implant_s14 .s14_box_step {
    top: -112px;
    left: 50%;
    left: 50%;
    transform: translate(-50%, 0);
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
  }

  #implant_s14 .s14_box_ttl {
    padding: 20px 20px;
  }

  #implant_s14 .s14_box_txt,
  #implant_s14 .s14_box_txt_end {
    flex-direction: column;
    align-items: center;
    gap: 30px;
  }

  #implant_s14 .s14_box_txt_l {
    width: 100%;
  }

  .blog_box ul.blog li {
    flex-basis: 100%;
  }

  .header_ttl {
    padding: 40px 0;
  }

  .c_about01 {
    display: flex;
    flex-direction: column;
  }

  .c_about01_l {
    width: 100%;
  }

  .c_about01_r {
    width: 100%;
    text-align: center;
  }

  .c_about01_name {
    display: flex;
    flex-direction: column;
  }

  .c_about02 {
    display: flex;
    flex-direction: column-reverse;
    padding: 0 20px;
  }

  .c_about02_l {
    width: 100%;
    padding: 80px 0;
  }

  .c_about02_r {
    width: 100%;
  }

  .c_about02_ttl {
    display: flex;
    flex-direction: column;
  }

  .c_first_area_r {
    padding: 100px 0 0 0;
  }

  .c_first_area_r .c_first_01 {
    display: flex;
    flex-direction: column;
  }

  .c_first_01_txt {
    width: 100%;
  }

  .c_first_01_img {
    width: 100%;
  }

  .c_first_area_l .c_first_01 {
    display: flex;
    flex-direction: column-reverse;
    padding: 100px 0 0;
  }

  .c_first_link {
    display: flex;
    flex-direction: column;
    gap: 30px;
  }

  .c_cost01 {
    display: flex;
    flex-direction: column;
  }

  .c_cost01_l {
    width: 100%;
  }

  .c_cost01_r {
    width: 100%;
  }

  .c_cost02 {
    width: 100%;
    padding: 0 20px;
  }

  .c_cost02 h2 {
    line-height: 40px;
    font-size: 28px;
    text-align: left;
  }

  .c_cost02_logo {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .c_cost03 {
    display: flex;
    flex-direction: column;
  }

  .c_cost03_txt {
    width: 100%;
  }

  .c_cost03_img {
    width: 100%;
  }

  .c_cost03_02 p {
    text-align: justify;
    text-justify: inter-ideograph;
  }

  .c_cost04 {
    display: flex;
    flex-direction: column;
  }

  .c_cost05_list {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 70px;
    justify-content: unset;
  }

  .c_cost05_op {
    display: flex;
    flex-direction: column;
  }

  .c_cost05_op_l {
    width: 100%;
  }

  .c_cost05_op_r {
    width: 100%;
    text-align: center;
  }

  .c_cost05_op_box.sp_updw {
    display: flex;
    flex-direction: column;
  }

  .c_cost06_01_up {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
  }

  .c_cost06_01_up_l {
    width: 100%;
  }

  .c_cost06_01_up_c {
  }

  .c_cost06_01_up_r {
    width: 100%;
  }

  .c_cost06_01_dw p {
    width: 100%;
    padding: 0 20px;
  }

  .c_cost06_02 {
    display: flex;
    flex-direction: column;
  }

  .c_cost06_02_l {
    width: 100%;
  }

  .c_cost06_02_r {
    width: 100%;
    text-align: center;
  }

  section#top01 {
    padding: 0;
  }

  section#top01 h2 {
    font-size: 20px;
    border-bottom: unset;
    line-height: 40px;
  }

  .top01_con .flex {
    display: flex;
    flex-direction: column-reverse;
    border: unset;
    padding: 0 0 50px;
  }

  .top01_con .flex .img {
    width: 100%;
    display: none;
  }

  section#top02 {
    height: auto;
    background: none;
  }

  section#top02 h2 {
    width: 100%;
    font-size: 20px;
    line-height: 40px;
    margin: 0 0 20px;
  }

  section#top02 .con {
    padding: 75px 0 0;
    display: flex;
    flex-direction: column;
    /*flex-direction: row;*/
  }

  section#top02 .con_box {
    /*width: calc( 100% / 3 );*/
    height: auto;
  }

  section#top02 .box1,
  section#top02 .box2,
  section#top02 .box3 {
    /*margin: -110px 0 0;*/
    margin: -30px 0 0;
  }

  section#top02 .con_box img {
    width: 100%;
    height: auto;
  }

  section#top03.top03_1 {
    padding: 40px 0 0;
  }

  section#top03 .sml {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    padding: 0 0 0 20px;
  }

  section#top03 .sml span {
    display: contents;
  }

  section#top03 h2 {
    font-size: 20px;
  }

  section#top03 p a {
    font-size: 14px;
  }

  section#top03 .yellowbox p.link {
    padding: 30px 0 20px !important;
  }

  section#top03 .yellowbox p.link a {
    color: #fdd108;
  }

  .top03_1 {
    padding: 40px 0 0;
  }

  section#top04 {
    padding: 50px 0 0;
  }

  section#top04 .con_l {
    width: 100%;
    padding: 20px 20px;
  }

  section#top04 .con_l h2 {
    font-size: 18px;
    line-height: 27px;
  }

  section#top04 .con_l p {
    padding: 25px 0 0;
  }

  section#top04 .con_l .link {
    padding: 30px 0 20px !important;
  }

  .link {
    font-size: 14px;
    padding: 3px 0 0 !important;
  }

  section#top04 .con_l a {
    font-size: 14px;
  }

  .con_r {
    width: 100%;
  }

  section#top05 {
    padding: 50px 0 0;
    margin: 0;
  }

  .blog_box {
    display: flex;
    flex-direction: row;
    justify-content: center;
  }

  .blog_imp {
    width: 100%;
    gap: 15px;
    border-bottom: 1px solid #e2e7f2;
    padding: 0 0 30px;
  }

  .blog_imp:last-child {
    border: 0;
    padding: 0;
  }

  .blog_imp .img {
    width: 100%;
    height: auto;
  }

  .blog_imp .img a {
    width: 100%;
    height: auto;
  }

  .blog_imp .img img {
    width: 100%;
    height: 150px;
  }

  .blog_imp .txt {
    width: 100%;
  }

  .blog_imp .txt .ttl_area {
    gap: 0;
  }

  .blog_imp .txt .ttl_area .date {
    width: 100%;
    font-size: 11px;
  }

  .blog_imp .txt .ttl_area .ttl {
    /*width: 40%;*/
    width: 100%;
    font-size: 20px;
  }

  .blog_imp .txt .link a {
    width: 100%;
    display: block;
  }

  .blog_imp .txt p {
    font-size: 16px;
    line-height: 35px;
    /*width: 40%;*/
    width: 100%;
    /*height: 300px;*/
    height: auto;
    margin-bottom: 20px;
  }

  section#top05 .link_box {
    border-top: 1px solid #023891;
    padding: 40px 0 0;
    margin: 30px 0 0;
  }

  section#top05 .link_box a {
    font-size: 12px;
    padding: 20px 15px;
    background-color: #fff;
    color: #023891;
    border: 1px solid #023891;
  }

  .yellowbox2_r {
    left: 0;
  }

  .yellowbox2_r p {
    width: 100%;
    font-size: 18px;
    line-height: 35px;
  }

  .yellowbox2_r div {
    display: none;
  }

  section#top07 {
    padding: 40px 20px;
    display: flex;
    align-items: flex-start;
  }

  section.center2 h2 {
    padding: 0 20px;
  }

  section.center2 a,
  .top_menu04_tx a {
    font-size: 14px;
  }

  section#top08 .con {
    display: block;
  }

  section#top08 .con .box {
    width: 100%;
  }

  section#top08 .s4 {
    padding: 0;
  }

  .s4 h2 {
    font-size: 18px;
  }

  .s4 h3 {
    font-size: 18px;
    line-height: 35px;
    padding: 23px 0 23px;
    height: auto;
  }

  .ex_box_content_l_txt .ttl {
    font-size: 15px;
  }

  .ex_box_content_l_txt .txt {
    font-size: 16px;
  }

  .s4 p {
    font-size: 16px;
    line-height: 35px;
    height: auto;
  }

  .s4 p.link {
    text-align: center;
    margin: 0 0 70px;
  }

  .s4 p.link a {
    font-size: 16px;
    color: #003894;
    border: 1px solid #003894;
    padding: 6px 30px;
    transition: 0.5s;
  }

  .s4 p.link a:hover {
    color: #fff;
    background-color: #003894;
    border: 1px solid #003894;
    opacity: 1;
    transition: 0.5s;
  }

  section#top08 .s4_02 p {
    padding: 15px 0 23px;
  }

  section#top08 .s4_02 .ex_box {
    padding: 0 0 0;
  }

  #top09_1 {
  }

  section#top09 {
    margin: 0;
  }

  .s5_content01_box {
    display: flex;
    flex-direction: column;
  }

  .s5_content01_box_l {
    width: 100%;
  }

  .s5_content01_txt h3 {
    font-size: 18px;
  }

  .s5_link {
    font-size: 14px;
  }

  .s6 h3 {
    font-size: 18px;
    padding: 24px 20px 19px;
    text-align: left;
  }

  .s6_box_step {
    margin: 0 20px 10px;
  }

  .s6_box_ttl {
    font-size: 18px;
    padding-left: 135px;
  }

  .s6_box_txt,
  .s6_box_txt_end {
    font-size: 18px;
    height: auto;
    text-align: justify;
    text-justify: inter-ideograph;
  }

  .s6_box_txt_l div {
    height: auto;
    line-height: 35px;
  }

  .s7_ttl_l {
    width: 100%;
    padding: 0;
  }

  .s7_ttl_l h2 {
    font-size: 20px;
    line-height: 35px;
  }

  .s7_ttl_l h3 {
    font-size: 18px;
    line-height: 40px;
  }

  .s7_ttl_r_img1 {
    width: 100%;
  }

  .s7_ttl_r_img2 {
    width: 100%;
  }

  .s7_ttl_r_img2 img {
    width: 65%;
  }

  .ft_c_con_r h3 {
    font-size: 15px;
  }

  .ft_c_box h4 {
    font-size: 20px;
    letter-spacing: 2px;
    text-align: center;
  }

  .ft_c_box p {
    font-size: 16px;
    line-height: 35px;
  }

  .ftr03_box {
    display: flex;
    flex-direction: row;
    height: auto;
    padding: 20px;
  }

  .imp_maker_sp {
    display: flex;
    gap: 10px;
  }

  .s5_content02 {
    display: flex;
    gap: 60px 10px;
    align-items: center;
    flex-wrap: wrap;
    padding: 50px 0 0;
    justify-content: unset;
  }

  .s5_content02_item {
    width: calc(97% / 2);
  }

  .s5_content02_item .ttl {
    width: 100%;
    font-size: 14px;
  }

  .s5_content02_item .ttl span {
    font-size: 30px;
  }

  .s5_content02_item .cost .en {
    font-size: 12px;
    width: 30px;
    height: 30px;
  }

  .s5_content02_item .cost .yen {
    font-size: 40px;
  }

  .s5_content02_item .cost .tan {
    font-size: 20px;
    line-height: 16px;
  }

  .s5_content02_item .cost .tan span {
    font-size: 12px;
  }

  .s5_content02_item .name {
    font-size: 16px;
  }

  .fsv {
    /*position: fixed;
    position: relative;*/
    height: calc(100vh - 80px);
    /*height: 100vh;*/
    /*height: 100dvh;*/
    /*background-color: #fff;*/
    /*z-index: 999;*/

    /*height: calc(var(--vh, 1vh) * 100);*/
    /*height: calc(var(--custom, 1vh) * 100);
		height: 100svh;*/

    background-color: #0f2a69;
    position: relative;
    z-index: -1;
  }

  .fsv.active {
    animation: fadeOut 1s; /*keyframesで命名したものを使う。2秒間で消える*/
    animation-fill-mode: both; /*0%の時と100%の時の状態を保つ*/
  }

  .fsv .img {
    line-height: 0;
  }

  .fsv .txt_area {
    position: relative;
    padding: 0 20px 20px;
    background-image: url("images/fsv_bg.png");
    background-size: 100%;
    background-position: bottom;
  }

  .fsv .txt_area .up_txt {
    font-size: 50px;
    color: rgb(255 255 255 / 50%);
    position: absolute;
    top: -20px;
  }

  .fsv .txt_area h2 {
    font-size: 20px;
    font-weight: 700;
    color: #0d296c;
    padding: 38px 0 0;
  }

  .fsv .txt_area p {
    font-size: 14px;
    line-height: 22px;
    padding: 12px 0 0;
  }

  .fsv .txt_area h2.h2_02 {
    padding: 25px 0 0;
  }

  .fsv .txt_area h2.h2_02 span {
    font-size: 30px;
    font-weight: 600;
  }

  .fsv p.blue_p {
    font-size: 10.5px;
    color: #0d296c;
  }

  .fsv p.blue_p2 {
    font-size: 13.5px;
    color: #0d296c;
    margin-top: -10px;
    padding: 5px 0 0;
  }

  .fsv .navToggle {
    /*
		position: relative;
        right: 30px;
        top: 8px;
		*/
  }

  .fsv .point {
    padding: 10px 0 0;
    display: flex;
    gap: 10px;
    align-items: center;
  }

  .fsv .point img {
    height: 65px;
  }

  .fsv .point p {
    font-size: 24px;
    font-weight: 700;
    color: #0e2969;
    padding: 0 0 2px;
  }

  .fsv_con01 {
    width: 160px;
    /*height: calc(100dvh - 145px);*/
    height: calc(100vh - 245px);
    position: absolute;
    padding: 20px;
    margin-left: 20px;
    /*margin-top: 80px;*/
    margin-top: calc(-100vh - -220px);
    background-color: rgb(14 41 105 / 25%);
  }

  .fsv_con01 h2,
  .fsv_con01 .hero_copy {
    font-weight: 700;
    font-family:
      -apple-system, BlinkMacSystemFont, "Segoe UI",
      "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
    writing-mode: vertical-rl;
    color: #fff;
    line-height: 30px;
  }

  span.yellow {
    color: #f7d448;
  }

  .fsv_con02 {
    width: 100%;
    /*height: 34dvh;*/
    position: absolute;
    /*bottom: 0;*/
    bottom: 60px;
  }

  .fsv_con02 .eki {
    font-size: 16px;
    /*font-weight: bold;*/
    font-weight: 700;
    position: absolute;
    /*
    right: 30px;
    top: -30px;
    */
    right: 30px;
    top: -20px;
  }

  .fsv_con02 .ttl_bg {
    font-size: 78px;
    color: rgb(255 255 255 / 45%);
    text-align: center;
  }

  .fsv_con02 h2,
  .fsv_con02 .hero_lead {
    font-size: 11px;
    font-weight: bold;
    font-family:
      -apple-system, BlinkMacSystemFont, "Segoe UI",
      "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
    text-align: center;
    margin-top: 13px;
    color: #fff;
  }

  .muryou img {
    width: 100%;
  }

  .header_ttl {
    margin: 0;
    padding-top: 120px;
    font-size: 18px;
  }

  main.sub_main {
    margin-top: 30px;
  }

  .c_first_area_r {
    padding: 30px 0 0;
  }

  .c_first_01_txt a {
    font-size: 14px;
  }

  .c_first_area_l .c_first_01 {
    padding: 30px 0 0;
  }

  .c_cost01 {
    padding: 30px 0 0;
  }

  .c_cost02 h2 {
    font-size: 20px;
    line-height: 40px;
  }

  .c_cost05_list {
    display: flex;
    flex-wrap: wrap;
    flex-direction: unset;
    gap: 70px 10px;
  }

  .c_cost05_box {
    width: calc(96% / 2);
  }

  .c_cost05_box h2 {
    width: 100%;
    font-size: 18px;
    position: relative;
    top: 0;
  }

  .c_cost05_box h2 span {
    font-size: 30px;
  }

  .c_cost05_box_cost_l {
    width: 30px;
    height: 30px;
    font-size: 12px;
  }

  .c_cost05_box_cost_c {
    font-size: 40px;
  }

  .c_cost05_box_cost_r {
    font-size: 18px;
    line-height: 15px;
  }

  .c_cost05_box_cost_r span {
    font-size: 12px;
  }

  .c_cost05_box_cat {
    font-size: 16px;
  }

  .c_cost05_box_txt {
    font-size: 14px;
    padding: 5px;
  }

  h3.bg01Tit {
    font-size: 18px;
    line-height: 38px;
  }

  h4.imp_ex_ttl {
    font-size: 16px;
  }

  .ft_sp_con {
    height: 66px;
    line-height: 0;
  }

  .yellowbox2 {
    height: auto;
    padding: 40px 30px;
  }

  .yellowbox2 .p1,
  .yellowbox2 .p2 {
    font-size: 16px;
    line-height: 35px;
  }

  .yoyaku_con p {
    font-size: 16px;
    line-height: 35px;
  }

  .c_about01_name_l {
    font-size: 16px;
    line-height: 35px;
  }

  #implant_s16 .nagare {
    text-align: left;
  }

  #implant_s16 .s16_box h4 {
    margin-top: 0;
  }

  #implant_s16 .tyui {
    line-height: 20px;
    padding: 0 0 40px;
  }

  #implant_s13 .flex img {
    width: 100%;
  }

  .c_cost06_01_dw center {
    font-size: 18px;
    padding: 20px 0 0;
  }

  .c_first_link a {
    text-align: center;
  }
}

.scroll_fadein {
  opacity: 0;
}
.fadein_animation_start {
  /* キーフレームアニメーションを指定 */
  animation-name: fadein_animation;
  /* アニメーションの開始時間の遅延 */
  animation-delay: 0.3s;
  /* アニメーションの時間を指定 */
  animation-duration: 1s;
  /* アニメーション再生後のスタイルを指定 */
  animation-fill-mode: both;
}
@keyframes fadein_animation {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: translate(0);
  }
}
.slideup {
  transform: translateY(50px);
}
.slidedown {
  transform: translateY(-50px);
}
.slideright {
  transform: translateX(50px);
}
.slideleft {
  transform: translateX(-50px);
}

@keyframes fadeOut {
  0% {
    opacity: 1; /*初めに存在する*/
  }
  100% {
    opacity: 0; /*最後に消える*/
    display: none;
    z-index: -1;
  }
}

.fsv .img {
  width: 100%;
  position: absolute;
  height: 100%;
  /*height: calc(100dvh - 145px);
  height: calc(100vh - 453px);
  height: calc( 100vh - 563px );*/
}

.fsv .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-fit: contain;
  object-position: top;
}

.fsv .txt_area {
  width: 100%;
  position: absolute;
  bottom: 146px;
  /*bottom: 246px;*/
}

.fsv .header_sp {
  width: 100%;
  position: absolute;
  bottom: 66px;
  /*bottom: 166px;*/
}

.fsv .ft_sp {
  width: 100%;
  position: absolute;
  bottom: 0px;
  /*bottom: 100px;*/
}

nav.rank-math-breadcrumb {
  margin: 0 20px 30px;
}

.wp-pagenavi {
  text-align: center;
  margin: 80px 0 100px;
}

.wp-pagenavi a,
.wp-pagenavi span {
  font-size: 16px;
  color: #023891;
  padding: 10px 15px !important;
}

.wp-pagenavi span.current {
  background-color: #023891;
  color: #fff;
}

.kiji01 {
}

.kiji_ttl {
  border-bottom: 1px solid #00358e;
  padding: 0 0 28px;
  margin: 50px 0 0;
  display: flex;
  gap: 25px;
}

.kiji_ttl h2 {
  font-size: 24px;
  font-weight: 400;
  color: #00358e;
}

.kiji {
  padding: 52px 0 0;
  display: flex;
  gap: 170px;
}

.kiji_l {
  width: 700px;
}

.kiji_img {
  line-height: 0;
}

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

.kiji_date {
  font-size: 14px;
  padding: 30px 0 55px;
  color: #003893;
}

.kiji_l p {
  font-size: 16px;
  line-height: 32px;
  letter-spacing: 0;
}

.kiji_nav {
  border-top: 1px solid #333;
  border-bottom: 1px solid #333;
  padding: 31px 0;
  margin: 70px 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 39px;
}

.kiji_nav a {
  font-size: 14px;
  color: #003893;
  display: flex;
  align-items: center;
}

img.LeftArrow {
  padding-left: 10px;
}

img.RightArrow {
  padding-right: 10px;
}

.kiji_r {
  width: 300px;
}

#form {
  position: relative;
}
#s-box {
  height: 40px;
  padding: 0 10px;
  position: absolute;
  left: 0;
  top: 0;
  border-radius: 2px;
  border: solid 3px #eaeaea;
  outline: 0;
}
#s-btn-area {
  height: 50px;
  position: absolute;
  left: 250px;
  top: 0;
  background: none;
  color: #666;
  border: none;
  font-size: 20px;
  outline: 0;
}
#s-btn {
  background-color: black;
  width: 50px;
  height: 30px;
  position: relative;
  right: 20px;
  bottom: 10px;
  border-radius: 3px;
  font-size: 16px;
  color: #fff;
  line-height: 31px;
}

.kiji_list {
  padding: 90px 0 0;
}

h2.entry-title {
  font-size: 24px;
  color: #00358e;
}

h2.entry-title a {
  font-size: 24px;
  font-weight: 400;
  color: #00358e;
}

.entry-meta {
  padding: 30px 0 0;
}

.entry-summary {
}

.entry-summary p {
  line-height: 32px;
  padding: 30px 0 0;
}

.kiji_r_box {
  padding: 0 0 65px;
}

.kiji_r_box h2 {
  font-size: 18px;
}

.kiji_r_box form#form {
  margin: 23px 0 0;
}

.kiji_r_box form#form input#s-box {
  width: 100%;
  height: 51px;
  position: relative;
  border-radius: 0;
  border: solid 1px #eaeaea;
  padding: 0 59px 0 10px;
}

.kiji_r_box form#form button#s-btn-area {
  color: unset;
}

.kiji_r_box form#form button#s-btn-area #s-btn {
  background-color: unset;
  bottom: -3px;
  right: 15px;
}

.kiji_cat_suu_box {
  padding: 29px 0 0;
}

.kiji_cat_suu {
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  padding: 0 0 12px;
  display: flex;
  justify-content: space-between;
}

.kiji_cat_suu p.p1 {
  display: flex;
  align-items: center;
}

.kiji_cat_suu p.p1 span {
  font-size: 8px;
  padding-right: 6px;
}

.kiji h3 {
  font-size: 24px;
  margin-bottom: 32px;
}

.kiji h4 {
  font-size: 20px;
  margin-bottom: 24px;
}

.kiji h5 {
  font-size: 18px;
  margin-bottom: 20px;
}

.new_kiji_box {
  padding: 42px 0 0;
  width: 250px;
}

.new_kiji {
  display: flex;
  gap: 20px;
  align-items: center;
  padding: 0 0 25px;
}

.new_kiji_l {
  width: 79px;
  letter-spacing: 0;
}

.new_kiji_l img {
  width: 100%;
  height: 64px;
  object-fit: cover;
}

.new_kiji_r {
  width: 151px;
}

.new_kiji_r .date {
  font-size: 14px;
  color: #003893;
  letter-spacing: 3px;
  margin-top: -9px;
}

.new_kiji_r .ttl {
  font-size: 14px;
  letter-spacing: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

section#top06_1 {
  margin-top: 32px;
}

section#top06_1 p {
  font-size: 16px;
  line-height: 26px;
}

.top06_1_img {
  margin: 45px 0 0;
  display: flex;
  justify-content: space-evenly;
}

.top06_1_img img {
  padding: 0;
}

section#top06_2 {
  margin: 17px 0 0;
  padding: 0 0 0;
}

section#top06_2 .top_possibilitybox {
  padding: 0;
}

section#top06_2 .con {
  display: flex;
  justify-content: space-between;
  gap: 30px;
}

section#top06_2 .con .box {
  width: 100%;
  background-color: #083b8f;
  padding: 34px 0 46px;
}

section#top06_2 .con .box h3 {
  font-size: 20px;
  color: #fdd314;
  font-weight: 300;
  margin: 0;
}

section#top06_2 .con .box p {
  font-size: 17px;
  line-height: 36px;
  color: #fff;
  text-align: left;
  padding: 31px 0 0 30px;
}

.sml {
  color: #fdd108;
  margin: 0 0 0 !important;
  display: flex;
  justify-content: flex-start !important;
}

.sml .blue {
  color: #fdd108;
}

@media screen and (max-width: 768px) {
  .sml {
    gap: 0 !important;
  }
}

@media screen and (max-width: 782px) {
  .kiji_ttl {
    display: flex;
    flex-direction: column;
  }

  .kiji {
    display: flex;
    flex-direction: column;
    gap: 50px;
  }

  .kiji_l {
    width: 100%;
  }

  .kiji_r {
    /* width: 100%; */
  }

  .top06_1_img {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: flex-start;
  }

  .top06_1_img img {
    width: calc(100% / 2 - 10px);
  }

  section#top06_1 p {
    font-size: 14px;
  }

  section#top06_2 .con {
    display: flex;
    flex-direction: column;
  }

  section#top06_2 .con .box p {
    padding: 30px 20px 0;
    font-size: 14px;
  }
}

/***** ai_chat *****/
.ai_bnr {
  width: 320px;
  line-height: 0;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 99;
  display: none !important;
}

.ai_bnr button {
  border: 0;
  background: unset;
  padding: 0;
  margin: 0;
  line-height: 0;
}

.ai_bnr button img {
  width: 100%;
}

iframe[src*="console.nomoca-ai.com/chatbot/"] {
  right: auto !important;
  left: 0px !important;
  bottom: 24px !important;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}

iframe[src*="console.nomoca-ai.com/chatbot/"].is-show {
  opacity: 1;
  pointer-events: auto;
}

@media screen and (max-width: 768px) {
  .ai_bnr {
    bottom: 63px;
    width: 50%;
  }

  iframe[src*="console.nomoca-ai.com/chatbot/"] {
    bottom: 60px !important;
  }

  iframe[src*="console.nomoca-ai.com/chatbot/"][style*="vh"] {
    bottom: 0 !important;
  }
}

.seo-h1 {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.header_ttl p {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}

body {
  line-height: 0;
}

#page.site {
  line-height: 32px;
}

.pc,
.sp {
  line-height: normal;
}

.pc,
.sp {
  line-height: 0;
}

.header-device {
  line-height: 0;
}

.header-device > * {
  line-height: normal;
}

@media screen and (max-width: 782px) {
  footer {
    padding-bottom: 64px;
  }

  li.hm_time table td.time_l,
  li.hm_time table td.time_r {
    color: #fff;
  }
}

.ft_sp {
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  bottom: -1px !important;
}

.global-page-h1 {
  /* position: absolute; */
  top: 0;
  left: 12px;
  z-index: 1000;
  /* max-width: min(520px, calc(100vw - 24px)); */
  margin: 0;
  padding: 10px 14px;
  color: #002a70;
  /* background: #002a70; */
  /* border: 1px solid rgba(255, 255, 255, 0.22); */
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.02em;
  pointer-events: none;
  box-sizing: border-box;
}

@media screen and (min-width: 783px) {
  header.sub_hd {
    top: var(--global-page-h1-height, 55px);
    transition: top 0.18s ease;
    will-change: top;
  }

  header.sub_hd.is-fixed-top {
    top: 0;
  }
}

@media screen and (max-width: 782px) {
  .global-page-h1 {
    position: static;
    top: 0;
    left: 0;
    max-width: 100%;
    padding: 8px 10px;
    font-size: 14px;
    line-height: 1.4;
    background: #fff;
    color: #002a70;
  }
}
