@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap");
audio:not([controls]) {
  display: none;
}

button {
  overflow: visible;
  -webkit-appearance: button;
}

a, button {
  outline: 0;
}

details {
  display: block;
}

html {
  -ms-overflow-style: -ms-autohiding-scrollbar;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
}

input {
  -webkit-border-radius: 0;
}
input[type=button], input[type=reset], input[type=submit] {
  -webkit-appearance: button;
}
input[type=number] {
  width: auto;
}
input[type=search] {
  -webkit-appearance: textfield;
}
input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

main {
  display: block;
}

pre {
  overflow: auto;
}

progress {
  display: inline-block;
}

small {
  font-size: 75%;
}

summary {
  display: block;
}

svg:not(:root) {
  overflow: hidden;
}

template {
  display: none;
}

textarea {
  overflow: auto;
}

[hidden] {
  display: none;
}

*,
::before,
::after {
  box-sizing: inherit;
}

* {
  font-size: inherit;
  line-height: inherit;
}
*:before, *:after {
  box-sizing: border-box;
}

::before,
::after {
  text-decoration: inherit;
  vertical-align: inherit;
}

*,
::before,
::after {
  border-style: solid;
  border-width: 0;
}

* {
  background-repeat: no-repeat;
  margin: 0;
  padding: 0;
}

:root {
  background-color: #FFFFFF;
  box-sizing: border-box;
  color: #000000;
  cursor: default;
  font: 100%/1.5 sans-serif;
  text-rendering: optimizeLegibility;
}

a {
  text-decoration: none;
}

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

button,
input,
select,
textarea {
  background-color: transparent;
}

button,
input,
select,
textarea {
  color: inherit;
  font-family: inherit;
  font-style: inherit;
  font-weight: inherit;
}

button,
[type=button],
[type=date],
[type=datetime],
[type=datetime-local],
[type=email],
[type=month],
[type=number],
[type=password],
[type=reset],
[type=search],
[type=submit],
[type=tel],
[type=text],
[type=time],
[type=url],
[type=week],
select,
textarea {
  min-height: 1.5em;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
}

nav ol,
nav ul {
  list-style: none;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
}
select::-ms-expand {
  display: none;
}
select::-ms-value {
  color: currentColor;
}

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

textarea {
  resize: vertical;
}

[aria-busy=true] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled] {
  cursor: default;
}

[hidden][aria-hidden=false] {
  clip: rect(0 0 0 0);
  display: inherit;
  position: absolute;
}
[hidden][aria-hidden=false]:focus {
  clip: auto;
}

body {
  -webkit-font-smoothing: antialiased;
}

ul li {
  list-style-type: none;
}

figure {
  -webkit-margin-before: 0;
  -webkit-margin-after: 0;
  -webkit-margin-start: 0;
  -webkit-margin-end: 0;
}

button {
  cursor: pointer;
}

/*
@mixin clamp-font-size ($min_font_size, $font_size, $basewidth, $max_font_size);

$min_font_size (px): 最小フォントサイズ
$font_size (vw):     可変フォントサイズ
$max_font_size (px): 最大フォントサイズ
*/
/*
@mixin clamp-font-size ($min_font_size, $font_size, $basewidth, $max_font_size);

$min_font_size (px): 最小フォントサイズ
$font_size (vw):     可変フォントサイズ
$max_font_size (px): 最大フォントサイズ
*/
/*
@mixin clamp-font-size ($min_font_size, $font_size, $basewidth, $max_font_size);

$min_font_size (px): 最小フォントサイズ
$font_size (vw):     可変フォントサイズ
$max_font_size (px): 最大フォントサイズ
*/
.full-layer {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}

/**
 * ホバーエフェクトの mixin<br>
 * 効果：中央からラインが伸びる（下）<br>
 * 参考：http://www.nxworld.net/tips/15-text-link-hover-effect-and-design.html
 *
 * @param {String} color ラインのカラー　デフォルトは #888
 * @param {String} border_height ラインの高さ　デフォルトは 1px
 * @param {String} transition トランジション　デフォルトは 0.3s
 */
/**
 * ホバーエフェクトの mixin で「中央からラインが伸びる（下）」のホバーじと同じ効果を上書きする<br>
 * 効果：中央からラインが伸びる（下）：ホバー<br>
 */
/**
 * ボックス型のボタン
 * ボタンのテキストにはクラスを設定したタグに data-button-text プロパティを設定して before と after にボタン名として入れられる
 * テキストは before に設定される。
 * ホバー時にはテキストがせり上がるようにしながら after が表示される。
 */
/**
 * ボタンクラスの基本を作る mixin<br>
 *
 * @param {String} element ボタンにするエレメント　デフォルトは .btn
 * @param {Boolean} responsive レスポンシブにする場合に true　デフォルトは false
 */
/**
 * スライドスイッチのクラスを構築 mixin<br>
 * 参考：https://proto.io/freebies/onoff/
 *
 * @param {String} cl クラス名
 * @param {String} h 高さ
 * @param {String} w 幅
 * @param {String} b ボーダーの幅
 * @param {String} offBgClr OFF の時のボタン背景色
 * @param {String} onBgClr ON の時のボタン背景色
 * @param {String} offBdClr OFF の時のボーダー色
 * @param {String} onBdClr ON の時のボーダー色
 * @param {String} swClr スライドするボタンの色
*/
/**
 * スライドスイッチのクラスを構築 mixin<br>
 * 参考：https://proto.io/freebies/onoff/
 * こちらは ON, OFF のテキストがスイッチの右側に表示される
 *
 * @param {String} cl クラス名
 * @param {String} h 高さ
 * @param {String} w 幅
 * @param {String} b ボーダーの幅
 * @param {String} offBgClr OFF の時のボタン背景色
 * @param {String} onBgClr ON の時のボタン背景色
 * @param {String} offBdClr OFF の時のボーダー色
 * @param {String} onBdClr ON の時のボーダー色
 * @param {String} swClr スライドするボタンの色
*/
/*
@mixin clamp-font-size ($min_font_size, $font_size, $basewidth, $max_font_size);

$min_font_size (px): 最小フォントサイズ
$font_size (vw):     可変フォントサイズ
$max_font_size (px): 最大フォントサイズ
*/
/**
 * 指定されたプロパティに決められた基準のスペースを入れる mixin。
 *
 * @param {String} property name
 * @param {Number} 係数
 */
/**
 * コンテンツのプロパティ設定用 mixin。
 *
 * @param {String} property margin か padding　デフォルトは padding
 * @param {String} 配列での設定か、Large の指定
 * @param {String} Midium の指定
 * @param {String} Small の指定
 * @param {String} Extra small の指定
*/
/**
 * コンテンツスペース設定用 mixin。contents-space-XX にしたがって指定する。各サイズ設定に notset を入れるとそのサイズは設定されない。
 *
 * @param {String} property margin か padding　デフォルトは padding
 * @param {String} position top, bottom などの場所の指定。空の場合は全体の指定　デフォルトは空。例外的に vertical か side で左右、horizonal で上下の指定ができる。
 * @param {String} Large の指定
 * @param {String} Midium の指定
 * @param {String} Small の指定
 * @param {String} Extra small の指定
*/
/**
 * wrapper 用のサイドスペース設定 mixin。contents-space-XX にしたがって指定する
 *
 * @param {String} property margin か padding　デフォルトは padding
 * @param {String} position top, bottom などの場所の指定。空の場合は全体の指定　デフォルトは空。例外的に vertical か side で左右、horizonal で上下の指定ができる。
 * @param {String} Large の指定
 * @param {String} Midium の指定
 * @param {String} Small の指定
 * @param {String} Extra small の指定
*/
/**
 * コンテンツの指定したプロパティを設定されている contents-space-XX にしたがって指定する
 *
 * @param {String} property margin か padding　デフォルトは padding
 * @param {Array} position top, bottom などの場所の指定。空の場合は全体の指定　デフォルトは空
*/
/**
 * コンテンツの指定したプロパティを設定されている contents-subspace-XX にしたがって指定する
 *
 * @param {String} property margin か padding　デフォルトは padding
 * @param {Array} position top, bottom などの場所の指定。空の場合は全体の指定　デフォルトは空
*/
/**
 * コンテンツの指定したプロパティを設定されている contents-space-XX にしたがって指定する
 *
 * @param {Map} サイズを指定　デフォルトは空
 */
/*
@mixin clamp-font-size ($min_font_size, $font_size, $basewidth, $max_font_size);

$min_font_size (px): 最小フォントサイズ
$font_size (vw):     可変フォントサイズ
$max_font_size (px): 最大フォントサイズ
*/
/*
@mixin clamp-font-size ($min_font_size, $font_size, $basewidth, $max_font_size);

$min_font_size (px): 最小フォントサイズ
$font_size (vw):     可変フォントサイズ
$max_font_size (px): 最大フォントサイズ
*/
/*
@mixin clamp-font-size ($min_font_size, $font_size, $basewidth, $max_font_size);

$min_font_size (px): 最小フォントサイズ
$font_size (vw):     可変フォントサイズ
$max_font_size (px): 最大フォントサイズ
*/
/*
@mixin clamp-font-size ($min_font_size, $font_size, $basewidth, $max_font_size);

$min_font_size (px): 最小フォントサイズ
$font_size (vw):     可変フォントサイズ
$max_font_size (px): 最大フォントサイズ
*/
.full-layer {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}

/**
 * ホバーエフェクトの mixin<br>
 * 効果：中央からラインが伸びる（下）<br>
 * 参考：http://www.nxworld.net/tips/15-text-link-hover-effect-and-design.html
 *
 * @param {String} color ラインのカラー　デフォルトは #888
 * @param {String} border_height ラインの高さ　デフォルトは 1px
 * @param {String} transition トランジション　デフォルトは 0.3s
 */
/**
 * ホバーエフェクトの mixin で「中央からラインが伸びる（下）」のホバーじと同じ効果を上書きする<br>
 * 効果：中央からラインが伸びる（下）：ホバー<br>
 */
/**
 * ボックス型のボタン
 * ボタンのテキストにはクラスを設定したタグに data-button-text プロパティを設定して before と after にボタン名として入れられる
 * テキストは before に設定される。
 * ホバー時にはテキストがせり上がるようにしながら after が表示される。
 */
/**
 * ボタンクラスの基本を作る mixin<br>
 *
 * @param {String} element ボタンにするエレメント　デフォルトは .btn
 * @param {Boolean} responsive レスポンシブにする場合に true　デフォルトは false
 */
/**
 * スライドスイッチのクラスを構築 mixin<br>
 * 参考：https://proto.io/freebies/onoff/
 *
 * @param {String} cl クラス名
 * @param {String} h 高さ
 * @param {String} w 幅
 * @param {String} b ボーダーの幅
 * @param {String} offBgClr OFF の時のボタン背景色
 * @param {String} onBgClr ON の時のボタン背景色
 * @param {String} offBdClr OFF の時のボーダー色
 * @param {String} onBdClr ON の時のボーダー色
 * @param {String} swClr スライドするボタンの色
*/
/**
 * スライドスイッチのクラスを構築 mixin<br>
 * 参考：https://proto.io/freebies/onoff/
 * こちらは ON, OFF のテキストがスイッチの右側に表示される
 *
 * @param {String} cl クラス名
 * @param {String} h 高さ
 * @param {String} w 幅
 * @param {String} b ボーダーの幅
 * @param {String} offBgClr OFF の時のボタン背景色
 * @param {String} onBgClr ON の時のボタン背景色
 * @param {String} offBdClr OFF の時のボーダー色
 * @param {String} onBdClr ON の時のボーダー色
 * @param {String} swClr スライドするボタンの色
*/
/*
@mixin clamp-font-size ($min_font_size, $font_size, $basewidth, $max_font_size);

$min_font_size (px): 最小フォントサイズ
$font_size (vw):     可変フォントサイズ
$max_font_size (px): 最大フォントサイズ
*/
/**
 * 指定されたプロパティに決められた基準のスペースを入れる mixin。
 *
 * @param {String} property name
 * @param {Number} 係数
 */
/**
 * コンテンツのプロパティ設定用 mixin。
 *
 * @param {String} property margin か padding　デフォルトは padding
 * @param {String} 配列での設定か、Large の指定
 * @param {String} Midium の指定
 * @param {String} Small の指定
 * @param {String} Extra small の指定
*/
/**
 * コンテンツスペース設定用 mixin。contents-space-XX にしたがって指定する。各サイズ設定に notset を入れるとそのサイズは設定されない。
 *
 * @param {String} property margin か padding　デフォルトは padding
 * @param {String} position top, bottom などの場所の指定。空の場合は全体の指定　デフォルトは空。例外的に vertical か side で左右、horizonal で上下の指定ができる。
 * @param {String} Large の指定
 * @param {String} Midium の指定
 * @param {String} Small の指定
 * @param {String} Extra small の指定
*/
/**
 * wrapper 用のサイドスペース設定 mixin。contents-space-XX にしたがって指定する
 *
 * @param {String} property margin か padding　デフォルトは padding
 * @param {String} position top, bottom などの場所の指定。空の場合は全体の指定　デフォルトは空。例外的に vertical か side で左右、horizonal で上下の指定ができる。
 * @param {String} Large の指定
 * @param {String} Midium の指定
 * @param {String} Small の指定
 * @param {String} Extra small の指定
*/
/**
 * コンテンツの指定したプロパティを設定されている contents-space-XX にしたがって指定する
 *
 * @param {String} property margin か padding　デフォルトは padding
 * @param {Array} position top, bottom などの場所の指定。空の場合は全体の指定　デフォルトは空
*/
/**
 * コンテンツの指定したプロパティを設定されている contents-subspace-XX にしたがって指定する
 *
 * @param {String} property margin か padding　デフォルトは padding
 * @param {Array} position top, bottom などの場所の指定。空の場合は全体の指定　デフォルトは空
*/
/**
 * コンテンツの指定したプロパティを設定されている contents-space-XX にしたがって指定する
 *
 * @param {Map} サイズを指定　デフォルトは空
 */
html {
  -webkit-overflow-scrolling: touch;
}

body {
  font-family: YakuHanJP, "Noto Serif JP", sans-serif;
}
body a:focus, body button:focus {
  outline: none;
}

a:focus, button:focus {
  outline: none;
}

small {
  font-size: 1em;
}

span.ib-text span {
  display: inline-block;
}

img {
  max-width: 100%;
}

address {
  font-style: normal;
}

.wrapper {
  max-width: calc(1186px);
  min-width: auto;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  padding-left: 0px;
  padding-right: 0px;
}
@media (max-width: 743px) {
  .wrapper {
    padding-left: 0px;
    padding-right: 0px;
  }
}

.nopadding {
  padding-left: inherit;
  padding-right: inherit;
}

.img-circle {
  border-radius: 50%;
  overflow: hidden;
}

.img-cover, .img-contain {
  height: 100%;
  background-repeat: no-repeat;
  background-position: center center;
}
.img-cover.img-center-top, .img-contain.img-center-top {
  background-position: center top;
}
.img-cover.img-center-bottom, .img-contain.img-center-bottom {
  background-position: center bottom;
}

.img-cover {
  background-size: cover;
}

.img-contain {
  background-size: contain;
}

.txt {
  display: inline-block;
}
.txt span {
  display: inline-block;
}

.ib-text span {
  display: inline-block;
}

.hidden {
  display: none !important;
}

.youtube, .googlemap, .if-resp {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
}
.youtube iframe, .googlemap iframe, .if-resp iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*
@mixin clamp-font-size ($min_font_size, $font_size, $basewidth, $max_font_size);

$min_font_size (px): 最小フォントサイズ
$font_size (vw):     可変フォントサイズ
$max_font_size (px): 最大フォントサイズ
*/
/*
@mixin clamp-font-size ($min_font_size, $font_size, $basewidth, $max_font_size);

$min_font_size (px): 最小フォントサイズ
$font_size (vw):     可変フォントサイズ
$max_font_size (px): 最大フォントサイズ
*/
/*
@mixin clamp-font-size ($min_font_size, $font_size, $basewidth, $max_font_size);

$min_font_size (px): 最小フォントサイズ
$font_size (vw):     可変フォントサイズ
$max_font_size (px): 最大フォントサイズ
*/
.full-layer {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}

/**
 * ホバーエフェクトの mixin<br>
 * 効果：中央からラインが伸びる（下）<br>
 * 参考：http://www.nxworld.net/tips/15-text-link-hover-effect-and-design.html
 *
 * @param {String} color ラインのカラー　デフォルトは #888
 * @param {String} border_height ラインの高さ　デフォルトは 1px
 * @param {String} transition トランジション　デフォルトは 0.3s
 */
/**
 * ホバーエフェクトの mixin で「中央からラインが伸びる（下）」のホバーじと同じ効果を上書きする<br>
 * 効果：中央からラインが伸びる（下）：ホバー<br>
 */
/**
 * ボックス型のボタン
 * ボタンのテキストにはクラスを設定したタグに data-button-text プロパティを設定して before と after にボタン名として入れられる
 * テキストは before に設定される。
 * ホバー時にはテキストがせり上がるようにしながら after が表示される。
 */
/**
 * ボタンクラスの基本を作る mixin<br>
 *
 * @param {String} element ボタンにするエレメント　デフォルトは .btn
 * @param {Boolean} responsive レスポンシブにする場合に true　デフォルトは false
 */
/**
 * スライドスイッチのクラスを構築 mixin<br>
 * 参考：https://proto.io/freebies/onoff/
 *
 * @param {String} cl クラス名
 * @param {String} h 高さ
 * @param {String} w 幅
 * @param {String} b ボーダーの幅
 * @param {String} offBgClr OFF の時のボタン背景色
 * @param {String} onBgClr ON の時のボタン背景色
 * @param {String} offBdClr OFF の時のボーダー色
 * @param {String} onBdClr ON の時のボーダー色
 * @param {String} swClr スライドするボタンの色
*/
/**
 * スライドスイッチのクラスを構築 mixin<br>
 * 参考：https://proto.io/freebies/onoff/
 * こちらは ON, OFF のテキストがスイッチの右側に表示される
 *
 * @param {String} cl クラス名
 * @param {String} h 高さ
 * @param {String} w 幅
 * @param {String} b ボーダーの幅
 * @param {String} offBgClr OFF の時のボタン背景色
 * @param {String} onBgClr ON の時のボタン背景色
 * @param {String} offBdClr OFF の時のボーダー色
 * @param {String} onBdClr ON の時のボーダー色
 * @param {String} swClr スライドするボタンの色
*/
/*
@mixin clamp-font-size ($min_font_size, $font_size, $basewidth, $max_font_size);

$min_font_size (px): 最小フォントサイズ
$font_size (vw):     可変フォントサイズ
$max_font_size (px): 最大フォントサイズ
*/
/**
 * 指定されたプロパティに決められた基準のスペースを入れる mixin。
 *
 * @param {String} property name
 * @param {Number} 係数
 */
/**
 * コンテンツのプロパティ設定用 mixin。
 *
 * @param {String} property margin か padding　デフォルトは padding
 * @param {String} 配列での設定か、Large の指定
 * @param {String} Midium の指定
 * @param {String} Small の指定
 * @param {String} Extra small の指定
*/
/**
 * コンテンツスペース設定用 mixin。contents-space-XX にしたがって指定する。各サイズ設定に notset を入れるとそのサイズは設定されない。
 *
 * @param {String} property margin か padding　デフォルトは padding
 * @param {String} position top, bottom などの場所の指定。空の場合は全体の指定　デフォルトは空。例外的に vertical か side で左右、horizonal で上下の指定ができる。
 * @param {String} Large の指定
 * @param {String} Midium の指定
 * @param {String} Small の指定
 * @param {String} Extra small の指定
*/
/**
 * wrapper 用のサイドスペース設定 mixin。contents-space-XX にしたがって指定する
 *
 * @param {String} property margin か padding　デフォルトは padding
 * @param {String} position top, bottom などの場所の指定。空の場合は全体の指定　デフォルトは空。例外的に vertical か side で左右、horizonal で上下の指定ができる。
 * @param {String} Large の指定
 * @param {String} Midium の指定
 * @param {String} Small の指定
 * @param {String} Extra small の指定
*/
/**
 * コンテンツの指定したプロパティを設定されている contents-space-XX にしたがって指定する
 *
 * @param {String} property margin か padding　デフォルトは padding
 * @param {Array} position top, bottom などの場所の指定。空の場合は全体の指定　デフォルトは空
*/
/**
 * コンテンツの指定したプロパティを設定されている contents-subspace-XX にしたがって指定する
 *
 * @param {String} property margin か padding　デフォルトは padding
 * @param {Array} position top, bottom などの場所の指定。空の場合は全体の指定　デフォルトは空
*/
/**
 * コンテンツの指定したプロパティを設定されている contents-space-XX にしたがって指定する
 *
 * @param {Map} サイズを指定　デフォルトは空
 */
@media (max-width: 743px) {
  .hidden-sp {
    display: none !important;
  }
}

@media (min-width: 744px) and (max-width: 1023px) {
  .hidden-tb {
    display: none !important;
  }
}

@media (max-width: 1023px) {
  .hidden-mb {
    display: none !important;
  }
}

@media (min-width: 744px) {
  .hidden-no-sp {
    display: none !important;
  }
}

@media (min-width: 1024px) and (max-width: 1365px) {
  .hidden-spc {
    display: none !important;
  }
}

@media (min-width: 1366px) {
  .hidden-lpc {
    display: none !important;
  }
}

@media (min-width: 1024px) {
  .hidden-pc {
    display: none !important;
  }
}

/*
.row {
	@include rebuild-grid-row(rm2px(2em, $font-size-md));
	@include resp-sp {
		@include rebuild-grid-row(rm2px(1em, $font-size-xs));
	}
	@include resp-tablet {
		@include rebuild-grid-row(rm2px(1.5em, $font-size-sm));
	}
}

@include resp-pc {
	@include rebuild-grid-columns((lg md sm xs), rm2px(2em, $font-size-md));
}
@include resp-mobile {
	@include rebuild-grid-columns((sm xs), rm2px(1.5em, $font-size-sm));
}
@include resp-sp {
	@include rebuild-grid-columns(xs, rm2px(1em, $font-size-xs));
}
*/
html {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
}
html.wf-active {
  visibility: visible;
}
html body {
  font-family: "Noto Sans JP", sans-serif;
}
html body figure {
  margin: initial;
}

:root {
  color: #707070;
  font-weight: 300;
  letter-spacing: 0.05rem;
}

.f-zenmaru {
  font-family: "Zen Maru Gothic", sans-serif;
}

.visible-xxs {
  display: none;
}
@media all and (max-width: 320px) {
  .visible-xxs {
    display: inline-block;
  }
}

.visible-xs {
  display: none;
}
@media all and (max-width: 414px) and (min-width: 321px) {
  .visible-xs {
    display: inline-block;
  }
}

.eng {
  font-family: YakuHanJP, "Noto Serif JP", sans-serif;
}

.icon {
  position: absolute;
}

.uppercase {
  text-transform: uppercase;
  font-style: normal;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 400;
  line-height: 1.85;
  font-family: "M PLUS Rounded 1c", sans-serif;
}

.anime-slideup {
  position: relative;
}
.anime-slideup.anime-ready {
  transform: translateY(2em);
  opacity: 0;
}
.anime-slideup.anime-end {
  transition: all ease 0.75s;
  transform: translateY(0);
  opacity: 1;
}

.anime-slideleft {
  position: relative;
}
.anime-slideleft.anime-ready {
  transform: translateX(-2em);
  opacity: 0;
}
.anime-slideleft.anime-end {
  transition: all ease 0.75s;
  transform: translateX(0);
  opacity: 1;
}

.anime-slideright {
  position: relative;
}
.anime-slideright.anime-ready {
  transform: translateX(2em);
  opacity: 0;
}
.anime-slideright.anime-end {
  transition: all ease 0.75s;
  transform: translateX(0);
  opacity: 1;
}

@keyframes link_animate {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* デフォルトは全部表示にしない */
.hidden-sp,
.hidden-tb,
.hidden-pc {
  display: block;
}

/* =======================
   SP（〜767px）
======================= */
@media (max-width: 767px) {
  .hidden-sp {
    display: none !important;
  }
}
/* =======================
   TB（768px〜1024px）
======================= */
@media (min-width: 768px) and (max-width: 1279px) {
  .hidden-tb {
    display: none !important;
  }
}
/* =======================
   PC（1025px〜）
======================= */
@media (min-width: 1384px) {
  .hidden-pc {
    display: none !important;
  }
}
.wrapper {
  position: relative;
  max-width: 1384px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  .wrapper {
    padding-left: calc(36 / 390 * 100vw);
    padding-right: calc(36 / 390 * 100vw);
  }
}

header.site-header {
  background-color: #FEFDED;
  padding-top: calc(66 / 1920 * 100vw);
  position: relative;
  z-index: 10001;
}
@media (max-width: 767px) {
  header.site-header {
    padding-top: calc(19 / 390 * 100vw);
  }
}
header.site-header .header-upon {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: calc(30 / 1920 * 100vw);
}
@media (max-width: 767px) {
  header.site-header .header-upon {
    position: relative;
    gap: calc(39 / 390 * 100vw);
  }
  header.site-header .header-upon:after {
    content: "";
    position: absolute;
    width: 100vw;
    height: calc(20 / 390 * 100vw);
    background-image: url(/asset/images/header-upon_bottom-sp.svg);
    background-size: cover;
    bottom: calc(-19 / 390 * 100vw);
  }
}
header.site-header .header-upon .logo {
  padding-left: calc(68 / 1920 * 100vw);
}
@media (max-width: 767px) {
  header.site-header .header-upon .logo {
    padding-left: calc(36 / 390 * 100vw);
  }
}
header.site-header .header-upon .logo .image-area figure img {
  width: calc(660 / 1920 * 100vw);
}
@media (max-width: 767px) {
  header.site-header .header-upon .logo .image-area figure img {
    width: calc(267 / 390 * 100vw);
  }
}
header.site-header .header-upon .hamburger {
  display: none;
  width: calc(32 / 390 * 100vw);
  height: calc(29 / 390 * 100vw);
  margin-right: calc(36 / 390 * 100vw);
  flex-direction: column;
  justify-content: space-between;
  cursor: pointer;
}
header.site-header .header-upon .hamburger span {
  height: 3px;
  background: #56B9C3;
}
@media (max-width: 767px) {
  header.site-header .header-upon .hamburger {
    display: flex;
  }
}
header.site-header .header-upon .head-info {
  padding-right: calc(35 / 1920 * 100vw);
}
@media (max-width: 767px) {
  header.site-header .header-upon .head-info {
    display: none;
  }
}
header.site-header .header-upon .head-info--map, header.site-header .header-upon .head-info--time {
  display: flex;
  align-items: center;
  gap: calc(19 / 1920 * 100vw);
  justify-content: flex-end;
}
header.site-header .header-upon .head-info--map span, header.site-header .header-upon .head-info--time span {
  font-weight: 700;
  font-size: clamp(21px, 1.4583333333vw, 30.8px);
  line-height: clamp(35.7px, 2.4791666667vw, 52.36px);
}
header.site-header .header-upon .head-info--map figure img, header.site-header .header-upon .head-info--time figure img {
  width: calc(169 / 1920 * 100vw);
}
header.site-header .header-upon .head-info--tel figure img {
  margin-right: 0;
  margin-left: auto;
  display: block;
  height: calc(67 / 1920 * 100vw);
}
header.site-header .header-upon .head-info div + div {
  margin-top: calc(13 / 1920 * 100vw);
}
header.site-header .header-under {
  margin-top: calc(48 / 1920 * 100vw);
  background-color: #56B9C3;
  position: relative;
}
@media (max-width: 767px) {
  header.site-header .header-under {
    display: none;
  }
  header.site-header .header-under.active {
    display: block;
    margin-top: calc(32 / 390 * 100vw);
  }
}
header.site-header .header-under:before {
  content: "";
  display: block;
  position: absolute;
  background-image: url(/asset/images/header_up.svg);
  background-repeat: no-repeat;
  background-size: cover;
  width: 100vw;
  height: calc(16 / 1920 * 100vw);
  top: calc(-16 / 1920 * 100vw);
}
@media (max-width: 767px) {
  header.site-header .header-under:before {
    background-image: url(/asset/images/header-under_top-sp.svg);
    height: calc(16 / 390 * 100vw);
    top: calc(-15 / 390 * 100vw);
  }
}
header.site-header .header-under:after {
  content: "";
  display: block;
  position: absolute;
  background-image: url(/asset/images/header_down.svg);
  background-repeat: no-repeat;
  background-size: cover;
  width: 100vw;
  height: calc(16 / 1920 * 100vw);
  bottom: calc(-16 / 1920 * 100vw);
}
@media (max-width: 767px) {
  header.site-header .header-under:after {
    background-image: url(/asset/images/header-under_bottom-sp.svg);
    height: calc(26 / 390 * 100vw);
    bottom: calc(-25 / 390 * 100vw);
  }
}
header.site-header .header-under .menu_sp {
  display: none;
}
@media (max-width: 767px) {
  header.site-header .header-under .menu_sp {
    display: none;
    flex-direction: column;
  }
  header.site-header .header-under .menu_sp.active {
    display: flex;
  }
  header.site-header .header-under .menu_sp ul {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: calc(13 / 390 * 100vw) calc(28 / 390 * 100vw);
    flex-wrap: wrap;
    margin-top: calc(27 / 390 * 100vw);
    margin-bottom: calc(16 / 390 * 100vw);
  }
  header.site-header .header-under .menu_sp ul li .sp-btn {
    width: calc(135 / 390 * 100vw);
    height: calc(39 / 390 * 100vw);
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: calc(20 / 390 * 100vw);
    font-weight: 700;
    font-size: clamp(11.25px, 3.8461538462vw, 16.5px);
    line-height: clamp(18px, 6.1538461538vw, 26.4px);
  }
  header.site-header .header-under .menu_sp ul li .sp-btn figure img {
    height: calc(21 / 390 * 100vw);
  }
  header.site-header .header-under .menu_sp ul li.insta {
    display: flex;
  }
  header.site-header .header-under .menu_sp ul li.insta figure img {
    width: calc(28 / 390 * 100vw);
  }
  header.site-header .header-under .menu_sp ul li .btn01 {
    color: #56B9C3;
    background-color: #E6FEFF;
    border: 3px solid #E6FEFF;
  }
  header.site-header .header-under .menu_sp ul li .btn02 {
    background-color: #9BC7D5;
    border: 3px solid #9BC7D5;
  }
  header.site-header .header-under .menu_sp ul li .btn03 {
    background-color: #FBF9CF;
    border: 3px solid #FBF9CF;
  }
  header.site-header .header-under .menu_sp ul li .btn04 {
    background-color: #F49C00;
    border: 3px solid #F49C00;
  }
  header.site-header .header-under .menu_sp ul li .btn05 {
    background-color: #FEF4E3;
    border: 3px solid #FEF4E3;
  }
  header.site-header .header-under .menu_sp ul li .btn06 {
    background-color: #56B9C3;
    border: 3px solid white;
  }
  header.site-header .header-under .menu_sp ul li .btn07 {
    background-color: #E6FEFF;
    border: 3px solid #E6FEFF;
  }
  header.site-header .header-under .menu_sp ul li .btn08 {
    background-color: #56B9C3;
    border: 3px solid white;
  }
  header.site-header .header-under .menu_sp ul li .btn09 {
    background-color: white;
    border: 3px solid white;
  }
  header.site-header .header-under .menu_sp ul + ul {
    margin-top: calc(0 / 390 * 100vw);
  }
}
header.site-header .header-under .menu {
  display: flex;
  gap: calc(42 / 1920 * 100vw);
  width: calc(1384 / 1920 * 100vw);
  justify-content: center;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
  padding-top: calc(18 / 1920 * 100vw);
  padding-bottom: calc(18 / 1920 * 100vw);
}
@media (max-width: 767px) {
  header.site-header .header-under .menu {
    display: none;
  }
}
header.site-header .header-under .menu li {
  position: relative;
}
header.site-header .header-under .menu li a {
  color: white;
  font-weight: 700;
  font-size: clamp(20.25px, 1.40625vw, 29.7px);
  line-height: clamp(32.4px, 2.25vw, 47.52px);
}
header.site-header .header-under .menu li.insta {
  display: flex;
}
header.site-header .header-under .menu li.insta figure img {
  width: calc(33 / 1920 * 100vw);
}
header.site-header .header-under .menu li + li:before {
  content: "";
  display: inline-flex;
  background-color: #ADD7DD;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: calc(-42 / 1920 * 100vw);
  width: calc(3 / 1920 * 100vw);
  height: calc(24 / 1920 * 100vw);
  margin-left: calc(21 / 1920 * 100vw);
  margin-right: calc(21 / 1920 * 100vw);
}

.mainvisual {
  margin-top: calc(-42 / 1920 * 100vw);
  position: relative;
}
@media (max-width: 767px) {
  .mainvisual {
    margin-top: calc(-27 / 390 * 100vw);
  }
}
.mainvisual .wrapper {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.mainvisual .textarea {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}
@media (max-width: 767px) {
  .mainvisual .textarea {
    top: calc(64 / 390 * 100vw);
    transform: initial;
    left: 50%;
    transform: translateX(-50%);
  }
}
.mainvisual .textarea h1 figure img {
  width: calc(682 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .mainvisual .textarea h1 figure img {
    width: calc(278 / 390 * 100vw);
    max-width: initial;
  }
}
.mainvisual .openreserve {
  position: absolute;
  right: calc(36 / 1920 * 100vw);
  top: calc(572 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .mainvisual .openreserve {
    top: calc(326 / 390 * 100vw);
    right: initial;
    left: 50%;
    transform: translateX(-50%);
  }
}
.mainvisual .openreserve figure img {
  width: calc(582 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .mainvisual .openreserve figure img {
    width: calc(278 / 390 * 100vw);
    max-width: initial;
  }
}
.mainvisual .contents {
  position: absolute;
  right: calc(36 / 1920 * 100vw);
  top: calc(726 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .mainvisual .contents {
    top: calc(396 / 390 * 100vw);
    right: initial;
    left: 50%;
    transform: translateX(-50%);
  }
}
.mainvisual .contents h3 {
  color: #56B9C3;
  letter-spacing: 0.5rem;
  text-align: center;
  font-weight: 700;
  font-size: clamp(24px, 1.6666666667vw, 35.2px);
  line-height: clamp(43.2px, 3vw, 63.36px);
}
@media (max-width: 767px) {
  .mainvisual .contents h3 {
    font-weight: 700;
    font-size: clamp(11.25px, 3.8461538462vw, 16.5px);
    line-height: clamp(20.25px, 6.9230769231vw, 29.7px);
  }
}
.mainvisual .contents .list ul {
  display: flex;
  justify-content: center;
  gap: calc(22 / 1920 * 100vw);
  margin-top: calc(20 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .mainvisual .contents .list ul {
    margin-top: calc(16 / 390 * 100vw);
    gap: calc(8 / 390 * 100vw);
  }
}
.mainvisual .contents .list ul li {
  background-color: white;
  border: 3px solid #56B9C3;
  border-radius: calc(48 / 1920 * 100vw);
  width: calc(167 / 1920 * 100vw);
  height: calc(56 / 1920 * 100vw);
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 700;
}
.mainvisual .contents .list ul li span {
  font-weight: 700;
  font-size: clamp(19.5px, 1.3541666667vw, 28.6px);
  line-height: clamp(33.15px, 2.3020833333vw, 48.62px);
}
@media (max-width: 767px) {
  .mainvisual .contents .list ul li {
    border-radius: calc(24 / 390 * 100vw);
    width: calc(92 / 390 * 100vw);
    height: calc(31 / 390 * 100vw);
    border: 2px solid #56B9C3;
  }
  .mainvisual .contents .list ul li span {
    font-weight: 700;
    font-size: clamp(10.5px, 0.7291666667vw, 15.4px);
    line-height: clamp(4095px, 284.375vw, 6006px);
  }
}
.mainvisual .bnr-link {
  position: absolute;
  right: 0;
  bottom: calc(86 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .mainvisual .bnr-link {
    display: none;
  }
}
.mainvisual .bnr-link figure img {
  width: calc(196 / 1920 * 100vw);
}

.aboutus {
  margin-top: calc(130 / 1920 * 100vw);
  padding-top: calc(100 / 1920 * 100vw);
  padding-bottom: calc(75 / 1920 * 100vw);
  background-image: url(/asset/images/bg-about.png);
  position: relative;
}
@media (max-width: 767px) {
  .aboutus {
    margin-top: calc(0 / 390 * 100vw);
    padding-top: calc(32 / 390 * 100vw);
    padding-bottom: calc(75 / 390 * 100vw);
  }
}
.aboutus:before {
  content: "";
  position: absolute;
  background-image: url(/asset/images/bg-about_top.png);
  background-size: cover;
  width: 100vw;
  height: calc(231 / 1920 * 100vw);
  top: calc(-231 / 1920 * 100vw);
  left: 0;
  right: 0;
}
@media (max-width: 767px) {
  .aboutus .info .wrapper {
    padding-left: calc(36 / 390 * 100vw);
    padding-right: calc(36 / 390 * 100vw);
  }
}
.aboutus .info dl {
  border-radius: calc(24 / 1920 * 100vw);
  border: 3px solid #56B9C3;
  padding: calc(72 / 1920 * 100vw) calc(96 / 1920 * 100vw);
  display: flex;
  align-items: center;
  background-color: white;
}
@media (max-width: 767px) {
  .aboutus .info dl {
    border: 2px solid #56B9C3;
    flex-direction: column;
    border-radius: calc(32 / 390 * 100vw);
    padding: calc(16 / 390 * 100vw) calc(31 / 390 * 100vw);
  }
}
.aboutus .info dl dt {
  margin-right: calc(193 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .aboutus .info dl dt {
    margin-right: initial;
  }
}
.aboutus .info dl dt h3 figure img {
  width: calc(156 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .aboutus .info dl dt h3 figure img {
    width: calc(80 / 390 * 100vw);
  }
}
.aboutus .info dl dd {
  font-weight: 500;
  font-size: clamp(21px, 1.4583333333vw, 30.8px);
  line-height: clamp(35.7px, 2.4791666667vw, 52.36px);
}
@media (max-width: 767px) {
  .aboutus .info dl dd {
    font-weight: 700;
    font-size: clamp(11.25px, 3.8461538462vw, 16.5px);
    line-height: clamp(19.125px, 6.5384615385vw, 28.05px);
  }
}
.aboutus__content {
  margin-top: calc(117 / 1920 * 100vw);
}
.aboutus__content header {
  width: calc(515 / 1920 * 100vw);
  height: calc(121 / 1920 * 100vw);
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding-right: calc(96 / 1920 * 100vw);
  border-radius: 0 calc(64 / 1920 * 100vw) calc(64 / 1920 * 100vw) 0;
  background-color: white;
  position: relative;
  z-index: 901;
}
@media (max-width: 767px) {
  .aboutus__content {
    margin-top: calc(50 / 390 * 100vw);
  }
  .aboutus__content header {
    width: calc(231 / 390 * 100vw);
    height: calc(54 / 390 * 100vw);
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-right: calc(45 / 390 * 100vw);
    border-radius: 0 calc(61 / 390 * 100vw) calc(61 / 390 * 100vw) 0;
    background-color: white;
    position: relative;
    z-index: 901;
  }
  .aboutus__content h2 figure img {
    width: calc(113 / 390 * 100vw);
  }
}
.aboutus__content .wrapper {
  margin-top: calc(96 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .aboutus__content .wrapper {
    margin-top: calc(21 / 390 * 100vw);
  }
}
.aboutus__content .intro {
  display: flex;
  justify-content: center;
  gap: calc(65 / 1920 * 100vw);
}
.aboutus__content .intro .image_area {
  width: 100%;
  position: relative;
  display: block;
}
.aboutus__content .intro .image_area:before {
  content: "";
  display: block;
  padding-top: 61.55%;
}
.aboutus__content .intro .image_area figure {
  position: absolute;
  overflow: hidden;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
.aboutus__content .intro .image_area figure img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  object-fit: cover;
  display: block;
}
@media (max-width: 767px) {
  .aboutus__content .intro {
    flex-direction: column-reverse;
  }
}
.aboutus__content .intro .image_area {
  width: calc(606 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .aboutus__content .intro .image_area {
    width: 100%;
  }
}
.aboutus__content .intro .textarea {
  width: calc(693 / 1920 * 100vw);
  font-weight: 500;
  font-size: clamp(20.25px, 1.40625vw, 29.7px);
  line-height: clamp(34.425px, 2.390625vw, 50.49px);
}
@media (max-width: 767px) {
  .aboutus__content .intro .textarea {
    width: 100%;
    font-weight: 500;
    font-size: clamp(11.25px, 3.8461538462vw, 16.5px);
    line-height: clamp(16.875px, 5.7692307692vw, 24.75px);
  }
}
.aboutus__content .points {
  margin-top: calc(75 / 1920 * 100vw);
  display: grid;
  grid-template-columns: repeat(3, calc(373 / 1920 * 100vw));
  gap: calc(121 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .aboutus__content .points {
    margin-top: calc(55 / 390 * 100vw);
    grid-template-columns: initial;
    grid-template-rows: repeat(3, auto);
    gap: calc(24 / 390 * 100vw);
  }
  .aboutus__content .points__item .image_area figure img {
    width: calc(147 / 390 * 100vw);
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
}
.aboutus__content .points__item .textarea {
  margin-top: calc(22 / 1920 * 100vw);
  font-weight: 500;
  font-size: clamp(20.25px, 1.40625vw, 29.7px);
  line-height: clamp(34.425px, 2.390625vw, 50.49px);
}
@media (max-width: 767px) {
  .aboutus__content .points__item .textarea {
    margin-top: calc(17 / 390 * 100vw);
    font-weight: 500;
    font-size: clamp(11.25px, 3.8461538462vw, 16.5px);
    line-height: clamp(16.875px, 5.7692307692vw, 24.75px);
  }
}

.clinic_hours {
  background-color: #E9EDF8;
  padding-bottom: calc(130 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .clinic_hours {
    padding-bottom: calc(65 / 390 * 100vw);
  }
}
.clinic_hours header {
  width: calc(515 / 1920 * 100vw);
  height: calc(121 / 1920 * 100vw);
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding-right: calc(96 / 1920 * 100vw);
  border-radius: 0 calc(64 / 1920 * 100vw) calc(64 / 1920 * 100vw) 0;
  background-color: white;
  position: relative;
  z-index: 901;
}
.clinic_hours header {
  margin-top: calc(-60 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .clinic_hours {
    margin-top: calc(-30 / 390 * 100vw);
  }
  .clinic_hours header {
    width: calc(231 / 390 * 100vw);
    height: calc(54 / 390 * 100vw);
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-right: calc(45 / 390 * 100vw);
    border-radius: 0 calc(61 / 390 * 100vw) calc(61 / 390 * 100vw) 0;
    background-color: white;
    position: relative;
    z-index: 901;
  }
  .clinic_hours h2 figure img {
    width: calc(94 / 390 * 100vw);
  }
}
.clinic_hours .holiday {
  margin-top: calc(56 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .clinic_hours .holiday {
    margin-top: calc(37 / 390 * 100vw);
  }
}
.clinic_hours .holiday dl {
  display: flex;
  justify-content: flex-end;
  gap: calc(23 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .clinic_hours .holiday dl {
    flex-direction: column;
    gap: calc(6 / 390 * 100vw);
    text-align: center;
  }
}
.clinic_hours .holiday dl dt {
  color: #56B9C3;
  font-weight: 600;
  font-size: clamp(24px, 1.6666666667vw, 35.2px);
  line-height: clamp(40.8px, 2.8333333333vw, 59.84px);
}
@media (max-width: 767px) {
  .clinic_hours .holiday dl dt {
    font-weight: 700;
    font-size: clamp(11.25px, 3.8461538462vw, 16.5px);
    line-height: clamp(16.875px, 5.7692307692vw, 24.75px);
  }
}
.clinic_hours .holiday dl dd {
  font-weight: 600;
  font-size: clamp(21px, 1.4583333333vw, 30.8px);
  line-height: clamp(35.7px, 2.4791666667vw, 52.36px);
}
@media (max-width: 767px) {
  .clinic_hours .holiday dl dd {
    font-weight: 700;
    font-size: clamp(11.25px, 3.8461538462vw, 16.5px);
    line-height: clamp(16.875px, 5.7692307692vw, 24.75px);
  }
}
.clinic_hours .schedule {
  margin-top: calc(52 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .clinic_hours .schedule {
    margin-top: calc(24 / 390 * 100vw);
  }
}
.clinic_hours .caption {
  margin-top: calc(29 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .clinic_hours .caption {
    margin-top: calc(19 / 390 * 100vw);
  }
}
.clinic_hours .caption ul li {
  position: relative;
  display: flex;
  justify-content: flex-start;
  font-weight: 600;
  font-size: clamp(21px, 1.4583333333vw, 30.8px);
  line-height: clamp(35.7px, 2.4791666667vw, 52.36px);
}
@media (max-width: 767px) {
  .clinic_hours .caption ul li {
    font-weight: 500;
    font-size: clamp(7.5px, 2.5641025641vw, 11px);
    line-height: clamp(11.25px, 3.8461538462vw, 16.5px);
    letter-spacing: -0.005rem;
  }
}
.clinic_hours .caption ul li:before {
  content: "※";
}

.home_visit {
  background-color: #FBF9CF;
  padding-bottom: calc(70 / 1920 * 100vw);
  position: relative;
}
.home_visit header {
  width: calc(515 / 1920 * 100vw);
  height: calc(121 / 1920 * 100vw);
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding-right: calc(96 / 1920 * 100vw);
  border-radius: 0 calc(64 / 1920 * 100vw) calc(64 / 1920 * 100vw) 0;
  background-color: white;
  position: relative;
  z-index: 901;
}
.home_visit header {
  position: absolute;
  top: calc(-60 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .home_visit {
    margin-top: calc(0 / 390 * 100vw);
    padding-bottom: calc(94 / 390 * 100vw);
  }
  .home_visit header {
    width: calc(231 / 390 * 100vw);
    height: calc(54 / 390 * 100vw);
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-right: calc(45 / 390 * 100vw);
    border-radius: 0 calc(61 / 390 * 100vw) calc(61 / 390 * 100vw) 0;
    background-color: white;
    position: relative;
    z-index: 901;
  }
  .home_visit h2 figure img {
    width: calc(94 / 390 * 100vw);
  }
}
.home_visit .contents {
  padding-top: calc(200 / 1920 * 100vw);
}
.home_visit .contents .item-title {
  width: calc(271 / 1920 * 100vw);
  height: calc(52 / 1920 * 100vw);
  margin-left: calc(-39 / 1920 * 100vw);
  border-radius: calc(20 / 1920 * 100vw) 0 0 calc(20 / 1920 * 100vw);
  background-color: #56B9C3;
  padding-left: calc(39 / 1920 * 100vw);
  display: flex;
  align-items: center;
}
.home_visit .contents .item-title figure img {
  height: calc(29 / 1920 * 100vw);
}
.home_visit .contents .item-title {
  margin-bottom: calc(38 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .home_visit .contents .item-title {
    width: calc(127 / 390 * 100vw);
    height: calc(24 / 390 * 100vw);
    margin-left: calc(-19 / 390 * 100vw);
    border-radius: calc(32 / 390 * 100vw) 0 0 calc(32 / 390 * 100vw);
    background-color: #56B9C3;
    padding-left: calc(19 / 390 * 100vw);
    display: flex;
    align-items: center;
  }
  .home_visit .contents .item-title figure img {
    height: calc(29 / 390 * 100vw);
  }
  .home_visit .contents .item-title {
    margin-bottom: calc(8 / 390 * 100vw);
  }
  .home_visit .contents .item-title figure img {
    width: calc(88 / 390 * 100vw);
  }
  .home_visit .contents {
    padding-top: calc(31 / 390 * 100vw);
  }
}
.home_visit .contents .intro {
  display: flex;
  justify-content: center;
  gap: calc(65 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .home_visit .contents .intro {
    flex-direction: column-reverse;
    gap: calc(24 / 390 * 100vw);
  }
}
.home_visit .contents .intro .image_area {
  width: 100%;
  position: relative;
  display: block;
}
.home_visit .contents .intro .image_area:before {
  content: "";
  display: block;
  padding-top: 61.55%;
}
.home_visit .contents .intro .image_area figure {
  position: absolute;
  overflow: hidden;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
.home_visit .contents .intro .image_area figure img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  object-fit: cover;
  display: block;
}
.home_visit .contents .intro .image_area {
  width: calc(606 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .home_visit .contents .intro .image_area {
    width: 100%;
  }
}
.home_visit .contents .intro .textarea {
  width: calc(693 / 1920 * 100vw);
  letter-spacing: 0rem;
  text-align: justify;
  font-weight: 500;
  font-size: clamp(20.25px, 1.40625vw, 29.7px);
  line-height: clamp(34.425px, 2.390625vw, 50.49px);
}
@media (max-width: 767px) {
  .home_visit .contents .intro .textarea {
    width: 100%;
    font-weight: 500;
    font-size: clamp(11.25px, 3.8461538462vw, 16.5px);
    line-height: clamp(16.875px, 5.7692307692vw, 24.75px);
  }
}
.home_visit .contents .our_time, .home_visit .contents .target {
  border: 3px solid #56B9C3;
  border-radius: calc(24 / 1920 * 100vw);
  background-color: white;
  padding: calc(25 / 1920 * 100vw);
  padding-left: initial;
  margin-top: calc(35 / 1920 * 100vw);
  position: relative;
}
@media (max-width: 767px) {
  .home_visit .contents .our_time, .home_visit .contents .target {
    margin-top: calc(24 / 390 * 100vw);
    padding: 0 calc(12 / 390 * 100vw) calc(12 / 390 * 100vw) calc(12 / 390 * 100vw);
    border-radius: calc(24 / 390 * 100vw);
  }
}
.home_visit .contents .our_time dl, .home_visit .contents .target dl {
  display: grid;
  grid-template-columns: calc(291 / 1920 * 100vw) 1fr;
  align-items: center;
}
@media (max-width: 767px) {
  .home_visit .contents .our_time dl, .home_visit .contents .target dl {
    grid-template-columns: initial;
    grid-template-rows: calc(48 / 390 * 100vw) 1fr;
  }
}
.home_visit .contents .our_time dl:after, .home_visit .contents .target dl:after {
  content: "";
  position: absolute;
  top: calc(12 / 1920 * 100vw);
  bottom: calc(12 / 1920 * 100vw);
  left: calc(291 / 1920 * 100vw);
  width: 1px;
  background-color: #56B9C3;
}
@media (max-width: 767px) {
  .home_visit .contents .our_time dl:after, .home_visit .contents .target dl:after {
    left: calc(8 / 390 * 100vw);
    right: calc(8 / 390 * 100vw);
    top: calc(48 / 390 * 100vw);
    bottom: calc(12 / 390 * 100vw);
    width: calc(100% - 16 / 390 * 100vw);
    height: 1px;
  }
}
.home_visit .contents .our_time dl dt, .home_visit .contents .target dl dt {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  height: fit-content;
}
.home_visit .contents .our_time dl dt h4, .home_visit .contents .target dl dt h4 {
  letter-spacing: 0.1rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  font-weight: 600;
  font-size: clamp(22.5px, 1.5625vw, 33px);
  line-height: clamp(36px, 2.5vw, 52.8px);
}
.home_visit .contents .our_time dl dt h4.icon, .home_visit .contents .target dl dt h4.icon {
  position: relative;
  padding-left: calc(60 / 1920 * 100vw);
}
.home_visit .contents .our_time dl dt h4.icon:before, .home_visit .contents .target dl dt h4.icon:before {
  content: "";
  position: absolute;
  left: 0;
  width: calc(41 / 1920 * 100vw);
  aspect-ratio: 1/1;
  background-image: url(/asset/images/icon-timer.svg);
  background-size: cover;
}
@media (max-width: 767px) {
  .home_visit .contents .our_time dl dt h4, .home_visit .contents .target dl dt h4 {
    font-weight: 700;
    font-size: clamp(11.25px, 3.8461538462vw, 16.5px);
    line-height: clamp(16.875px, 5.7692307692vw, 24.75px);
    letter-spacing: 0.15rem;
  }
  .home_visit .contents .our_time dl dt h4.icon, .home_visit .contents .target dl dt h4.icon {
    padding-left: calc(30 / 390 * 100vw);
  }
  .home_visit .contents .our_time dl dt h4.icon:before, .home_visit .contents .target dl dt h4.icon:before {
    width: calc(22 / 390 * 100vw);
  }
}
.home_visit .contents .our_time dl dd, .home_visit .contents .target dl dd {
  padding-left: calc(27 / 1920 * 100vw);
  margin-left: calc(25 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .home_visit .contents .our_time dl dd, .home_visit .contents .target dl dd {
    margin-top: calc(16 / 390 * 100vw);
    padding-left: calc(14 / 390 * 100vw);
    margin-left: calc(12 / 390 * 100vw);
  }
}
.home_visit .contents .our_time dl dd ul li, .home_visit .contents .target dl dd ul li {
  list-style: disc;
  font-weight: 500;
  font-size: clamp(20.25px, 1.40625vw, 29.7px);
  line-height: clamp(34.425px, 2.390625vw, 50.49px);
}
@media (max-width: 767px) {
  .home_visit .contents .our_time dl dd ul li, .home_visit .contents .target dl dd ul li {
    font-weight: 700;
    font-size: clamp(11.25px, 3.8461538462vw, 16.5px);
    line-height: clamp(16.875px, 5.7692307692vw, 24.75px);
  }
}
.home_visit .contents .our_time.target, .home_visit .contents .target.target {
  height: calc(243 / 1920 * 100vw);
  display: flex;
  align-items: center;
}
@media (max-width: 767px) {
  .home_visit .contents .our_time.target, .home_visit .contents .target.target {
    height: fit-content;
  }
}
.home_visit .contents .our_time.target dl dd, .home_visit .contents .target.target dl dd {
  font-weight: 500;
  font-size: clamp(20.25px, 1.40625vw, 29.7px);
  line-height: clamp(34.425px, 2.390625vw, 50.49px);
}
@media (max-width: 767px) {
  .home_visit .contents .our_time.target dl dd, .home_visit .contents .target.target dl dd {
    padding-left: calc(4 / 390 * 100vw);
    margin-left: calc(4 / 390 * 100vw);
    padding-right: calc(4 / 390 * 100vw);
    margin-right: calc(4 / 390 * 100vw);
    padding-bottom: calc(8 / 390 * 100vw);
    font-weight: 700;
    font-size: clamp(11.25px, 3.8461538462vw, 16.5px);
    line-height: clamp(16.875px, 5.7692307692vw, 24.75px);
  }
}
.home_visit .contents .detail {
  margin-top: calc(101 / 1920 * 100vw);
}
.home_visit .contents .detail .item-title {
  width: calc(271 / 1920 * 100vw);
  height: calc(52 / 1920 * 100vw);
  margin-left: calc(-39 / 1920 * 100vw);
  border-radius: calc(20 / 1920 * 100vw) 0 0 calc(20 / 1920 * 100vw);
  background-color: #56B9C3;
  padding-left: calc(39 / 1920 * 100vw);
  display: flex;
  align-items: center;
}
.home_visit .contents .detail .item-title figure img {
  height: calc(29 / 1920 * 100vw);
}
.home_visit .contents .detail .item-title {
  margin-bottom: calc(38 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .home_visit .contents .detail .item-title {
    width: calc(127 / 390 * 100vw);
    height: calc(24 / 390 * 100vw);
    margin-left: calc(-19 / 390 * 100vw);
    border-radius: calc(32 / 390 * 100vw) 0 0 calc(32 / 390 * 100vw);
    background-color: #56B9C3;
    padding-left: calc(19 / 390 * 100vw);
    display: flex;
    align-items: center;
  }
  .home_visit .contents .detail .item-title figure img {
    height: calc(29 / 390 * 100vw);
  }
  .home_visit .contents .detail .item-title {
    margin-bottom: calc(8 / 390 * 100vw);
  }
  .home_visit .contents .detail .item-title figure img {
    width: calc(88 / 390 * 100vw);
  }
  .home_visit .contents .detail {
    padding-top: calc(31 / 390 * 100vw);
  }
}
.home_visit .contents .detail .text {
  margin-top: calc(60 / 1920 * 100vw);
  text-align: justify;
  font-weight: 500;
  font-size: clamp(20.25px, 1.40625vw, 29.7px);
  line-height: clamp(34.425px, 2.390625vw, 50.49px);
}
@media (max-width: 767px) {
  .home_visit .contents .detail .text {
    margin-top: calc(33 / 390 * 100vw);
    font-weight: 700;
    font-size: clamp(11.25px, 3.8461538462vw, 16.5px);
    line-height: clamp(16.875px, 5.7692307692vw, 24.75px);
  }
}
.home_visit .contents .detail ul {
  margin-top: calc(60 / 1920 * 100vw);
  display: flex;
  flex-wrap: wrap;
  gap: calc(101 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .home_visit .contents .detail ul {
    margin-top: calc(10 / 390 * 100vw);
    gap: calc(0 / 390 * 100vw);
  }
}
.home_visit .contents .detail ul li {
  width: calc(50% - 51 / 1920 * 100vw);
  position: relative;
}
@media (max-width: 767px) {
  .home_visit .contents .detail ul li {
    margin-top: calc(9 / 390 * 100vw);
    width: 100%;
  }
}
.home_visit .contents .detail ul li:after {
  content: "";
  width: 100%;
  height: 2.5px;
  background-color: #56B9C3;
  position: absolute;
  top: calc(35 / 1920 * 100vw);
  left: 0;
  right: 0;
}
@media (max-width: 767px) {
  .home_visit .contents .detail ul li:after {
    top: calc(17 / 390 * 100vw);
  }
}
.home_visit .contents .detail ul li h4 {
  border-radius: calc(46 / 1920 * 100vw);
  border: 3px solid #56B9C3;
  background-color: white;
  width: calc(247 / 1920 * 100vw);
  height: calc(71 / 1920 * 100vw);
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 1;
  font-weight: 700;
  font-size: clamp(22.5px, 1.5625vw, 33px);
  line-height: clamp(36px, 2.5vw, 52.8px);
}
@media (max-width: 767px) {
  .home_visit .contents .detail ul li h4 {
    border-radius: calc(32 / 390 * 100vw);
    width: calc(93 / 390 * 100vw);
    height: calc(34 / 390 * 100vw);
    font-weight: 700;
    font-size: clamp(10.5px, 3.5897435897vw, 15.4px);
    line-height: clamp(15.75px, 5.3846153846vw, 23.1px);
  }
}
.home_visit .contents .detail ul li > div {
  text-align: justify;
  width: calc(597 / 1920 * 100vw);
  margin-top: calc(16 / 1920 * 100vw);
  margin-left: auto;
  margin-right: 0;
  font-weight: 500;
  font-size: clamp(20.25px, 1.40625vw, 29.7px);
  line-height: clamp(34.425px, 2.390625vw, 50.49px);
}
@media (max-width: 767px) {
  .home_visit .contents .detail ul li > div {
    margin-top: calc(8 / 390 * 100vw);
    font-weight: 500;
    font-size: clamp(11.25px, 3.8461538462vw, 16.5px);
    line-height: clamp(16.875px, 5.7692307692vw, 24.75px);
    width: 100%;
    padding-left: calc(12 / 390 * 100vw);
  }
}
.home_visit .contents .detail ul li.all {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.home_visit .contents .detail ul li.all h4 {
  grid-column: 1/-1;
}
.home_visit .contents .flow {
  margin-top: calc(72 / 1920 * 100vw);
}
.home_visit .contents .flow .item-title {
  width: calc(271 / 1920 * 100vw);
  height: calc(52 / 1920 * 100vw);
  margin-left: calc(-39 / 1920 * 100vw);
  border-radius: calc(20 / 1920 * 100vw) 0 0 calc(20 / 1920 * 100vw);
  background-color: #56B9C3;
  padding-left: calc(39 / 1920 * 100vw);
  display: flex;
  align-items: center;
}
.home_visit .contents .flow .item-title figure img {
  height: calc(29 / 1920 * 100vw);
}
.home_visit .contents .flow .item-title {
  margin-bottom: calc(38 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .home_visit .contents .flow {
    margin-top: calc(26 / 390 * 100vw);
  }
  .home_visit .contents .flow .item-title {
    width: calc(127 / 390 * 100vw);
    height: calc(24 / 390 * 100vw);
    margin-left: calc(-19 / 390 * 100vw);
    border-radius: calc(32 / 390 * 100vw) 0 0 calc(32 / 390 * 100vw);
    background-color: #56B9C3;
    padding-left: calc(19 / 390 * 100vw);
    display: flex;
    align-items: center;
  }
  .home_visit .contents .flow .item-title figure img {
    height: calc(29 / 390 * 100vw);
  }
  .home_visit .contents .flow .item-title {
    margin-bottom: calc(8 / 390 * 100vw);
  }
  .home_visit .contents .flow .item-title figure img {
    width: calc(88 / 390 * 100vw);
  }
  .home_visit .contents .flow {
    padding-top: calc(31 / 390 * 100vw);
  }
}
.home_visit .contents .flow--list ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(153 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .home_visit .contents .flow--list ul {
    grid-template-columns: initial;
    gap: calc(42 / 390 * 100vw);
  }
}
@media (max-width: 767px) {
  .home_visit .contents .flow--list ul li {
    position: relative;
  }
  .home_visit .contents .flow--list ul li:after {
    content: "";
    position: absolute;
    right: initial;
    bottom: calc(-31 / 390 * 100vw);
    left: 50%;
    transform: translateX(-50%) rotate(90deg);
    width: calc(26 / 390 * 100vw);
    height: calc(31 / 390 * 100vw);
    background: linear-gradient(to bottom left, transparent 50%, #F49C00 51%) no-repeat top left/100% 50%, linear-gradient(to top left, transparent 50%, #F49C00 51%) no-repeat bottom left/100% 50%;
  }
  .home_visit .contents .flow--list ul li:nth-last-of-type(1):after {
    display: none;
  }
}
.home_visit .contents .flow--list ul li .image_area {
  width: calc(354 / 1920 * 100vw);
  height: calc(231 / 1920 * 100vw);
  background-color: white;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: calc(24 / 1920 * 100vw);
  position: relative;
}
@media (max-width: 767px) {
  .home_visit .contents .flow--list ul li .image_area {
    width: calc(215 / 390 * 100vw);
    height: calc(140 / 390 * 100vw);
    border-radius: calc(24 / 390 * 100vw);
    margin-left: auto;
    margin-right: auto;
  }
}
.home_visit .contents .flow--list ul li .image_area figure img {
  height: calc(147 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .home_visit .contents .flow--list ul li .image_area figure img {
    height: calc(90 / 390 * 100vw);
    display: block;
  }
}
.home_visit .contents .flow--list ul li .image_area:after {
  content: "";
  position: absolute;
  right: calc(-76 / 1920 * 100vw);
  width: calc(26 / 1920 * 100vw);
  height: calc(31 / 1920 * 100vw);
  background: linear-gradient(to bottom left, transparent 50%, #F49C00 51%) no-repeat top left/100% 50%, linear-gradient(to top left, transparent 50%, #F49C00 51%) no-repeat bottom left/100% 50%;
}
@media (max-width: 767px) {
  .home_visit .contents .flow--list ul li .image_area:after {
    display: none;
  }
}
.home_visit .contents .flow--list ul li .textarea {
  margin-top: calc(21 / 1920 * 100vw);
  letter-spacing: -0.02rem;
  font-weight: 500;
  font-size: clamp(20.25px, 1.40625vw, 29.7px);
  line-height: clamp(32.4px, 2.25vw, 47.52px);
}
@media (max-width: 767px) {
  .home_visit .contents .flow--list ul li .textarea {
    width: calc(256 / 390 * 100vw);
    margin-left: auto;
    margin-right: auto;
    margin-top: calc(14 / 390 * 100vw);
    font-weight: 500;
    font-size: clamp(11.25px, 3.8461538462vw, 16.5px);
    line-height: clamp(18px, 6.1538461538vw, 26.4px);
  }
}
.home_visit .contents .flow--list ul li:nth-last-of-type(1) .image_area:after {
  display: none;
}

.outpatien_care {
  background-color: #FEF4E3;
  padding-bottom: calc(70 / 1920 * 100vw);
  position: relative;
}
.outpatien_care header {
  width: calc(515 / 1920 * 100vw);
  height: calc(121 / 1920 * 100vw);
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding-right: calc(96 / 1920 * 100vw);
  border-radius: 0 calc(64 / 1920 * 100vw) calc(64 / 1920 * 100vw) 0;
  background-color: white;
  position: relative;
  z-index: 901;
}
.outpatien_care header {
  position: absolute;
  top: calc(-60 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .outpatien_care {
    margin-top: calc(0 / 390 * 100vw);
    padding-bottom: calc(94 / 390 * 100vw);
  }
  .outpatien_care header {
    width: calc(231 / 390 * 100vw);
    height: calc(54 / 390 * 100vw);
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-right: calc(45 / 390 * 100vw);
    border-radius: 0 calc(61 / 390 * 100vw) calc(61 / 390 * 100vw) 0;
    background-color: white;
    position: relative;
    z-index: 901;
  }
  .outpatien_care h2 figure img {
    width: calc(94 / 390 * 100vw);
  }
}
.outpatien_care .contents {
  padding-top: calc(200 / 1920 * 100vw);
}
.outpatien_care .contents .item-title {
  width: calc(271 / 1920 * 100vw);
  height: calc(52 / 1920 * 100vw);
  margin-left: calc(-39 / 1920 * 100vw);
  border-radius: calc(20 / 1920 * 100vw) 0 0 calc(20 / 1920 * 100vw);
  background-color: #56B9C3;
  padding-left: calc(39 / 1920 * 100vw);
  display: flex;
  align-items: center;
}
.outpatien_care .contents .item-title figure img {
  height: calc(29 / 1920 * 100vw);
}
.outpatien_care .contents .item-title {
  margin-bottom: calc(38 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .outpatien_care .contents .item-title {
    width: calc(127 / 390 * 100vw);
    height: calc(24 / 390 * 100vw);
    margin-left: calc(-19 / 390 * 100vw);
    border-radius: calc(32 / 390 * 100vw) 0 0 calc(32 / 390 * 100vw);
    background-color: #56B9C3;
    padding-left: calc(19 / 390 * 100vw);
    display: flex;
    align-items: center;
  }
  .outpatien_care .contents .item-title figure img {
    height: calc(29 / 390 * 100vw);
  }
  .outpatien_care .contents .item-title {
    margin-bottom: calc(8 / 390 * 100vw);
  }
  .outpatien_care .contents .item-title figure img {
    width: calc(88 / 390 * 100vw);
  }
  .outpatien_care .contents {
    padding-top: calc(31 / 390 * 100vw);
  }
}
.outpatien_care .contents .intro {
  display: flex;
  justify-content: center;
  gap: calc(65 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .outpatien_care .contents .intro {
    flex-direction: column-reverse;
    gap: calc(24 / 390 * 100vw);
  }
}
.outpatien_care .contents .intro .image_area {
  width: 100%;
  position: relative;
  display: block;
}
.outpatien_care .contents .intro .image_area:before {
  content: "";
  display: block;
  padding-top: 61.55%;
}
.outpatien_care .contents .intro .image_area figure {
  position: absolute;
  overflow: hidden;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
.outpatien_care .contents .intro .image_area figure img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  object-fit: cover;
  display: block;
}
.outpatien_care .contents .intro .image_area {
  width: calc(606 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .outpatien_care .contents .intro .image_area {
    width: 100%;
  }
}
.outpatien_care .contents .intro .textarea {
  width: calc(693 / 1920 * 100vw);
  letter-spacing: 0rem;
  text-align: justify;
  font-weight: 500;
  font-size: clamp(20.25px, 1.40625vw, 29.7px);
  line-height: clamp(34.425px, 2.390625vw, 50.49px);
}
@media (max-width: 767px) {
  .outpatien_care .contents .intro .textarea {
    width: 100%;
    font-weight: 500;
    font-size: clamp(11.25px, 3.8461538462vw, 16.5px);
    line-height: clamp(16.875px, 5.7692307692vw, 24.75px);
  }
}
.outpatien_care .contents .our_time, .outpatien_care .contents .target {
  border: 3px solid #56B9C3;
  border-radius: calc(24 / 1920 * 100vw);
  background-color: white;
  padding: calc(25 / 1920 * 100vw);
  padding-left: initial;
  margin-top: calc(35 / 1920 * 100vw);
  position: relative;
}
@media (max-width: 767px) {
  .outpatien_care .contents .our_time, .outpatien_care .contents .target {
    margin-top: calc(24 / 390 * 100vw);
    padding: 0 calc(12 / 390 * 100vw) calc(12 / 390 * 100vw) calc(12 / 390 * 100vw);
    border-radius: calc(24 / 390 * 100vw);
  }
}
.outpatien_care .contents .our_time dl, .outpatien_care .contents .target dl {
  display: grid;
  grid-template-columns: calc(291 / 1920 * 100vw) 1fr;
  align-items: center;
}
@media (max-width: 767px) {
  .outpatien_care .contents .our_time dl, .outpatien_care .contents .target dl {
    grid-template-columns: initial;
    grid-template-rows: calc(48 / 390 * 100vw) 1fr;
  }
}
.outpatien_care .contents .our_time dl:after, .outpatien_care .contents .target dl:after {
  content: "";
  position: absolute;
  top: calc(12 / 1920 * 100vw);
  bottom: calc(12 / 1920 * 100vw);
  left: calc(291 / 1920 * 100vw);
  width: 1px;
  background-color: #56B9C3;
}
@media (max-width: 767px) {
  .outpatien_care .contents .our_time dl:after, .outpatien_care .contents .target dl:after {
    left: calc(8 / 390 * 100vw);
    right: calc(8 / 390 * 100vw);
    top: calc(48 / 390 * 100vw);
    bottom: calc(12 / 390 * 100vw);
    width: calc(100% - 16 / 390 * 100vw);
    height: 1px;
  }
}
.outpatien_care .contents .our_time dl dt, .outpatien_care .contents .target dl dt {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  height: fit-content;
}
.outpatien_care .contents .our_time dl dt h4, .outpatien_care .contents .target dl dt h4 {
  letter-spacing: 0.1rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  font-weight: 600;
  font-size: clamp(22.5px, 1.5625vw, 33px);
  line-height: clamp(36px, 2.5vw, 52.8px);
}
.outpatien_care .contents .our_time dl dt h4.icon, .outpatien_care .contents .target dl dt h4.icon {
  position: relative;
  padding-left: calc(60 / 1920 * 100vw);
}
.outpatien_care .contents .our_time dl dt h4.icon:before, .outpatien_care .contents .target dl dt h4.icon:before {
  content: "";
  position: absolute;
  left: 0;
  width: calc(41 / 1920 * 100vw);
  aspect-ratio: 1/1;
  background-image: url(/asset/images/icon-timer.svg);
  background-size: cover;
}
@media (max-width: 767px) {
  .outpatien_care .contents .our_time dl dt h4, .outpatien_care .contents .target dl dt h4 {
    font-weight: 700;
    font-size: clamp(11.25px, 3.8461538462vw, 16.5px);
    line-height: clamp(16.875px, 5.7692307692vw, 24.75px);
    letter-spacing: 0.15rem;
  }
  .outpatien_care .contents .our_time dl dt h4.icon, .outpatien_care .contents .target dl dt h4.icon {
    padding-left: calc(30 / 390 * 100vw);
  }
  .outpatien_care .contents .our_time dl dt h4.icon:before, .outpatien_care .contents .target dl dt h4.icon:before {
    width: calc(22 / 390 * 100vw);
  }
}
.outpatien_care .contents .our_time dl dd, .outpatien_care .contents .target dl dd {
  padding-left: calc(27 / 1920 * 100vw);
  margin-left: calc(25 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .outpatien_care .contents .our_time dl dd, .outpatien_care .contents .target dl dd {
    margin-top: calc(16 / 390 * 100vw);
    padding-left: calc(14 / 390 * 100vw);
    margin-left: calc(12 / 390 * 100vw);
  }
}
.outpatien_care .contents .our_time dl dd ul li, .outpatien_care .contents .target dl dd ul li {
  list-style: disc;
  font-weight: 500;
  font-size: clamp(20.25px, 1.40625vw, 29.7px);
  line-height: clamp(34.425px, 2.390625vw, 50.49px);
}
@media (max-width: 767px) {
  .outpatien_care .contents .our_time dl dd ul li, .outpatien_care .contents .target dl dd ul li {
    font-weight: 700;
    font-size: clamp(11.25px, 3.8461538462vw, 16.5px);
    line-height: clamp(16.875px, 5.7692307692vw, 24.75px);
  }
}
.outpatien_care .contents .our_time.target, .outpatien_care .contents .target.target {
  height: calc(243 / 1920 * 100vw);
  display: flex;
  align-items: center;
}
@media (max-width: 767px) {
  .outpatien_care .contents .our_time.target, .outpatien_care .contents .target.target {
    height: fit-content;
  }
}
.outpatien_care .contents .our_time.target dl dd, .outpatien_care .contents .target.target dl dd {
  font-weight: 500;
  font-size: clamp(20.25px, 1.40625vw, 29.7px);
  line-height: clamp(34.425px, 2.390625vw, 50.49px);
}
@media (max-width: 767px) {
  .outpatien_care .contents .our_time.target dl dd, .outpatien_care .contents .target.target dl dd {
    padding-left: calc(4 / 390 * 100vw);
    margin-left: calc(4 / 390 * 100vw);
    padding-right: calc(4 / 390 * 100vw);
    margin-right: calc(4 / 390 * 100vw);
    padding-bottom: calc(8 / 390 * 100vw);
    font-weight: 700;
    font-size: clamp(11.25px, 3.8461538462vw, 16.5px);
    line-height: clamp(16.875px, 5.7692307692vw, 24.75px);
  }
}
.outpatien_care .contents .before_appointment {
  margin-top: calc(72 / 1920 * 100vw);
}
.outpatien_care .contents .before_appointment .item-title {
  width: calc(271 / 1920 * 100vw);
  height: calc(52 / 1920 * 100vw);
  margin-left: calc(-39 / 1920 * 100vw);
  border-radius: calc(20 / 1920 * 100vw) 0 0 calc(20 / 1920 * 100vw);
  background-color: #56B9C3;
  padding-left: calc(39 / 1920 * 100vw);
  display: flex;
  align-items: center;
}
.outpatien_care .contents .before_appointment .item-title figure img {
  height: calc(29 / 1920 * 100vw);
}
.outpatien_care .contents .before_appointment .item-title {
  margin-bottom: calc(38 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .outpatien_care .contents .before_appointment {
    margin-top: calc(48 / 390 * 100vw);
  }
  .outpatien_care .contents .before_appointment .item-title {
    width: calc(127 / 390 * 100vw);
    height: calc(24 / 390 * 100vw);
    margin-left: calc(-19 / 390 * 100vw);
    border-radius: calc(32 / 390 * 100vw) 0 0 calc(32 / 390 * 100vw);
    background-color: #56B9C3;
    padding-left: calc(19 / 390 * 100vw);
    display: flex;
    align-items: center;
  }
  .outpatien_care .contents .before_appointment .item-title figure img {
    height: calc(29 / 390 * 100vw);
  }
  .outpatien_care .contents .before_appointment .item-title {
    margin-bottom: calc(8 / 390 * 100vw);
  }
  .outpatien_care .contents .before_appointment .item-title figure img {
    width: calc(88 / 390 * 100vw);
  }
  .outpatien_care .contents .before_appointment {
    padding-top: calc(31 / 390 * 100vw);
  }
}
.outpatien_care .contents .before_appointment--appointment, .outpatien_care .contents .before_appointment--property {
  margin-top: calc(40 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .outpatien_care .contents .before_appointment--appointment, .outpatien_care .contents .before_appointment--property {
    margin-top: calc(20 / 390 * 100vw);
  }
}
.outpatien_care .contents .before_appointment--appointment ul, .outpatien_care .contents .before_appointment--property ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(79 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .outpatien_care .contents .before_appointment--appointment ul, .outpatien_care .contents .before_appointment--property ul {
    grid-template-columns: initial;
    gap: calc(20 / 390 * 100vw);
  }
}
.outpatien_care .contents .before_appointment--appointment ul li, .outpatien_care .contents .before_appointment--property ul li {
  background-color: white;
  border-radius: calc(24 / 1920 * 100vw);
  padding: calc(27 / 1920 * 100vw) calc(35 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .outpatien_care .contents .before_appointment--appointment ul li, .outpatien_care .contents .before_appointment--property ul li {
    border-radius: calc(24 / 390 * 100vw);
    padding: calc(21 / 390 * 100vw) calc(21 / 390 * 100vw) calc(31 / 390 * 100vw);
  }
}
.outpatien_care .contents .before_appointment--appointment ul li .item_ttl figure, .outpatien_care .contents .before_appointment--property ul li .item_ttl figure {
  border: 3px solid #56B9C3;
  border-radius: calc(48 / 1920 * 100vw);
  background-color: white;
  width: calc(256 / 1920 * 100vw);
  height: calc(65 / 1920 * 100vw);
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
}
.outpatien_care .contents .before_appointment--appointment ul li .item_ttl figure img, .outpatien_care .contents .before_appointment--property ul li .item_ttl figure img {
  height: calc(25 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .outpatien_care .contents .before_appointment--appointment ul li .item_ttl figure, .outpatien_care .contents .before_appointment--property ul li .item_ttl figure {
    border-radius: calc(48 / 390 * 100vw);
    width: calc(204 / 390 * 100vw);
    height: calc(52 / 390 * 100vw);
  }
  .outpatien_care .contents .before_appointment--appointment ul li .item_ttl figure img, .outpatien_care .contents .before_appointment--property ul li .item_ttl figure img {
    height: calc(20 / 390 * 100vw);
  }
}
.outpatien_care .contents .before_appointment--appointment ul li .textarea, .outpatien_care .contents .before_appointment--property ul li .textarea {
  margin-top: calc(28 / 1920 * 100vw);
  letter-spacing: -0.02rem;
  font-weight: 500;
  font-size: clamp(16.5px, 1.1458333333vw, 24.2px);
  line-height: clamp(28.05px, 1.9479166667vw, 41.14px);
}
@media (max-width: 767px) {
  .outpatien_care .contents .before_appointment--appointment ul li .textarea, .outpatien_care .contents .before_appointment--property ul li .textarea {
    margin-top: calc(12 / 390 * 100vw);
    font-weight: 500;
    font-size: clamp(11.25px, 3.8461538462vw, 16.5px);
    line-height: clamp(16.875px, 5.7692307692vw, 24.75px);
  }
}
.outpatien_care .contents .before_appointment--appointment ul li .image_area, .outpatien_care .contents .before_appointment--property ul li .image_area {
  margin-top: calc(10 / 1920 * 100vw);
}
.outpatien_care .contents .before_appointment--appointment ul li .image_area figure img, .outpatien_care .contents .before_appointment--property ul li .image_area figure img {
  display: block;
  margin-left: auto;
  margin-right: 0;
}
.outpatien_care .contents .before_appointment--appointment ul li:nth-last-of-type(1) .image_area:after, .outpatien_care .contents .before_appointment--property ul li:nth-last-of-type(1) .image_area:after {
  display: none;
}
.outpatien_care .contents .before_appointment--appointment ul li.item1 .item_ttl figure, .outpatien_care .contents .before_appointment--property ul li.item1 .item_ttl figure {
  background-color: #FBF9CF;
  color: #56B9C3;
  border-color: #FBF9CF;
}
.outpatien_care .contents .before_appointment--appointment ul li.item1 .list, .outpatien_care .contents .before_appointment--property ul li.item1 .list {
  margin-top: calc(49 / 1920 * 100vw);
  background-color: #FBF9CF;
  border-radius: calc(20 / 1920 * 100vw);
  padding: calc(27 / 1920 * 100vw) calc(35 / 1920 * 100vw) calc(21 / 1920 * 100vw) calc(56 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .outpatien_care .contents .before_appointment--appointment ul li.item1 .list, .outpatien_care .contents .before_appointment--property ul li.item1 .list {
    margin-top: calc(20 / 390 * 100vw);
    border-radius: calc(24 / 390 * 100vw);
    padding: calc(27 / 390 * 100vw) calc(25 / 390 * 100vw) calc(21 / 390 * 100vw) calc(56 / 390 * 100vw);
  }
}
.outpatien_care .contents .before_appointment--appointment ul li.item1 .list > ul, .outpatien_care .contents .before_appointment--property ul li.item1 .list > ul {
  display: initial;
}
.outpatien_care .contents .before_appointment--appointment ul li.item1 .list > ul li, .outpatien_care .contents .before_appointment--property ul li.item1 .list > ul li {
  list-style: disc;
  padding: initial;
  border-radius: initial;
  background-color: initial;
  font-weight: 500;
  font-size: clamp(15px, 1.0416666667vw, 22px);
  line-height: clamp(25.5px, 1.7708333333vw, 37.4px);
}
.outpatien_care .contents .before_appointment--appointment ul li.item2 .item_ttl figure, .outpatien_care .contents .before_appointment--property ul li.item2 .item_ttl figure {
  background-color: #56B9C3;
  color: white;
  border-color: #56B9C3;
}
.outpatien_care .contents .before_appointment--appointment ul li.item2 .textarea + .textarea, .outpatien_care .contents .before_appointment--property ul li.item2 .textarea + .textarea {
  border-top: 3px solid #56B9C3;
  padding-top: calc(21 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .outpatien_care .contents .before_appointment--appointment ul li.item2 .textarea + .textarea, .outpatien_care .contents .before_appointment--property ul li.item2 .textarea + .textarea {
    border-top: 2px solid #56B9C3;
    margin-top: calc(16 / 390 * 100vw);
    padding-top: calc(16 / 390 * 100vw);
  }
}
.outpatien_care .contents .before_appointment--appointment ul li.item3 .item_ttl figure, .outpatien_care .contents .before_appointment--property ul li.item3 .item_ttl figure {
  background-color: #F49C00;
  color: white;
  border-color: #F49C00;
}
.outpatien_care .contents .before_appointment--appointment ul li.item3 .link, .outpatien_care .contents .before_appointment--property ul li.item3 .link {
  margin-top: calc(32 / 1920 * 100vw);
  margin-bottom: calc(24 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .outpatien_care .contents .before_appointment--appointment ul li.item3 .link, .outpatien_care .contents .before_appointment--property ul li.item3 .link {
    margin-top: calc(20 / 390 * 100vw);
    margin-bottom: calc(24 / 390 * 100vw);
  }
}
.outpatien_care .contents .before_appointment--appointment ul li.item3 .link a figure img, .outpatien_care .contents .before_appointment--property ul li.item3 .link a figure img {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: block;
}
.outpatien_care .contents .before_appointment--property {
  margin-top: calc(72 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .outpatien_care .contents .before_appointment--property {
    margin-top: calc(54 / 390 * 100vw);
  }
  .outpatien_care .contents .before_appointment--property ul li .image_area figure img {
    width: calc(92 / 390 * 100vw);
  }
}
.outpatien_care .contents .before_appointment--useflow {
  margin-top: calc(67 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .outpatien_care .contents .before_appointment--useflow {
    margin-top: calc(64 / 390 * 100vw);
  }
  .outpatien_care .contents .before_appointment--useflow .flow--list {
    margin-top: calc(22 / 390 * 100vw);
  }
}
.outpatien_care .contents .before_appointment--useflow ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(153 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .outpatien_care .contents .before_appointment--useflow ul {
    grid-template-columns: initial;
    gap: calc(67 / 390 * 100vw);
  }
}
@media (max-width: 767px) {
  .outpatien_care .contents .before_appointment--useflow ul li {
    position: relative;
  }
  .outpatien_care .contents .before_appointment--useflow ul li:after {
    content: "";
    position: absolute;
    right: initial;
    bottom: calc(-54 / 390 * 100vw);
    left: 50%;
    transform: translateX(-50%) rotate(90deg);
    width: calc(26 / 390 * 100vw);
    height: calc(31 / 390 * 100vw);
    background: linear-gradient(to bottom left, transparent 50%, #F49C00 51%) no-repeat top left/100% 50%, linear-gradient(to top left, transparent 50%, #F49C00 51%) no-repeat bottom left/100% 50%;
  }
  .outpatien_care .contents .before_appointment--useflow ul li:nth-last-of-type(1):after {
    display: none;
  }
}
.outpatien_care .contents .before_appointment--useflow ul li .image_area {
  width: calc(354 / 1920 * 100vw);
  height: calc(231 / 1920 * 100vw);
  background-color: white;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: calc(24 / 1920 * 100vw);
  position: relative;
}
@media (max-width: 767px) {
  .outpatien_care .contents .before_appointment--useflow ul li .image_area {
    width: calc(215 / 390 * 100vw);
    height: calc(140 / 390 * 100vw);
    border-radius: calc(24 / 390 * 100vw);
    margin-left: auto;
    margin-right: auto;
  }
}
.outpatien_care .contents .before_appointment--useflow ul li .image_area figure img {
  height: calc(147 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .outpatien_care .contents .before_appointment--useflow ul li .image_area figure img {
    height: calc(90 / 390 * 100vw);
    display: block;
  }
}
.outpatien_care .contents .before_appointment--useflow ul li .image_area:after {
  content: "";
  position: absolute;
  right: calc(-76 / 1920 * 100vw);
  width: calc(26 / 1920 * 100vw);
  height: calc(31 / 1920 * 100vw);
  background: linear-gradient(to bottom left, transparent 50%, #F49C00 51%) no-repeat top left/100% 50%, linear-gradient(to top left, transparent 50%, #F49C00 51%) no-repeat bottom left/100% 50%;
}
@media (max-width: 767px) {
  .outpatien_care .contents .before_appointment--useflow ul li .image_area:after {
    display: none;
  }
}
.outpatien_care .contents .before_appointment--useflow ul li .textarea {
  margin-top: calc(21 / 1920 * 100vw);
  letter-spacing: -0.02rem;
  font-weight: 500;
  font-size: clamp(20.25px, 1.40625vw, 29.7px);
  line-height: clamp(32.4px, 2.25vw, 47.52px);
}
@media (max-width: 767px) {
  .outpatien_care .contents .before_appointment--useflow ul li .textarea {
    width: calc(256 / 390 * 100vw);
    margin-left: auto;
    margin-right: auto;
    margin-top: calc(14 / 390 * 100vw);
    font-weight: 500;
    font-size: clamp(11.25px, 3.8461538462vw, 16.5px);
    line-height: clamp(18px, 6.1538461538vw, 26.4px);
  }
}
.outpatien_care .contents .before_appointment--useflow ul li:nth-last-of-type(1) .image_area:after {
  display: none;
}

.profile {
  background-image: url(/asset/images/bg-about.png);
  padding-bottom: calc(125 / 1920 * 100vw);
  position: relative;
}
.profile header {
  width: calc(515 / 1920 * 100vw);
  height: calc(121 / 1920 * 100vw);
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding-right: calc(96 / 1920 * 100vw);
  border-radius: 0 calc(64 / 1920 * 100vw) calc(64 / 1920 * 100vw) 0;
  background-color: white;
  position: relative;
  z-index: 901;
}
.profile header {
  position: absolute;
  top: calc(-60 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .profile {
    margin-top: calc(0 / 390 * 100vw);
    padding-bottom: calc(94 / 390 * 100vw);
  }
  .profile header {
    width: calc(231 / 390 * 100vw);
    height: calc(54 / 390 * 100vw);
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-right: calc(45 / 390 * 100vw);
    border-radius: 0 calc(61 / 390 * 100vw) calc(61 / 390 * 100vw) 0;
    background-color: white;
    position: relative;
    z-index: 901;
  }
  .profile h2 figure img {
    width: calc(94 / 390 * 100vw);
  }
}
.profile .contents {
  padding-top: calc(200 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .profile .contents {
    padding-top: calc(35 / 390 * 100vw);
  }
}
.profile .contents .intro {
  display: flex;
  justify-content: center;
  gap: calc(96 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .profile .contents .intro {
    flex-direction: column;
  }
}
.profile .contents .intro .image_area {
  width: calc(432 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .profile .contents .intro .image_area {
    width: 100%;
  }
}
.profile .contents .intro .image_area figure img {
  margin-left: auto;
  margin-right: auto;
  display: block;
}
.profile .contents .intro .image_area figure + figure {
  margin-top: calc(22 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .profile .contents .intro .image_area figure + figure {
    margin-top: calc(14 / 390 * 100vw);
  }
  .profile .contents .intro .image_area figure + figure img {
    width: calc(231 / 390 * 100vw);
    margin-left: auto;
    margin-right: auto;
    display: block;
  }
}
.profile .contents .intro .textarea {
  width: calc(818 / 1920 * 100vw);
  letter-spacing: -0.025rem;
  text-align: justify;
  font-weight: 500;
  font-size: clamp(20.25px, 1.40625vw, 29.7px);
  line-height: clamp(34.425px, 2.390625vw, 50.49px);
}
@media (max-width: 767px) {
  .profile .contents .intro .textarea {
    width: 100%;
    font-weight: 500;
    font-size: clamp(11.25px, 3.8461538462vw, 16.5px);
    line-height: clamp(16.875px, 5.7692307692vw, 24.75px);
  }
}
.profile .contents .history .item-title {
  width: calc(271 / 1920 * 100vw);
  height: calc(52 / 1920 * 100vw);
  margin-left: calc(-39 / 1920 * 100vw);
  border-radius: calc(20 / 1920 * 100vw) 0 0 calc(20 / 1920 * 100vw);
  background-color: #56B9C3;
  padding-left: calc(39 / 1920 * 100vw);
  display: flex;
  align-items: center;
}
.profile .contents .history .item-title figure img {
  height: calc(29 / 1920 * 100vw);
}
.profile .contents .history .item-title {
  margin-bottom: calc(24 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .profile .contents .history {
    margin-top: calc(48 / 390 * 100vw);
  }
  .profile .contents .history .item-title {
    width: calc(127 / 390 * 100vw);
    height: calc(24 / 390 * 100vw);
    margin-left: calc(-19 / 390 * 100vw);
    border-radius: calc(32 / 390 * 100vw) 0 0 calc(32 / 390 * 100vw);
    background-color: #56B9C3;
    padding-left: calc(19 / 390 * 100vw);
    display: flex;
    align-items: center;
  }
  .profile .contents .history .item-title figure img {
    height: calc(29 / 390 * 100vw);
  }
  .profile .contents .history .item-title {
    margin-bottom: calc(8 / 390 * 100vw);
  }
  .profile .contents .history .item-title figure img {
    width: calc(37 / 390 * 100vw);
  }
  .profile .contents .history {
    padding-top: calc(31 / 390 * 100vw);
  }
}
.profile .contents .history--list {
  border: 3px solid #56B9C3;
  border-radius: calc(24 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .profile .contents .history--list {
    border: 2px solid #56B9C3;
    border-radius: calc(24 / 390 * 100vw);
  }
}
.profile .contents .history--list .history-table {
  width: 100%;
  border-collapse: collapse;
  background-color: white;
  border-radius: calc(24 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .profile .contents .history--list .history-table {
    border-radius: calc(24 / 390 * 100vw);
  }
}
.profile .contents .history--list .history-table th,
.profile .contents .history--list .history-table td {
  padding: calc(20 / 1920 * 100vw) calc(45 / 1920 * 100vw);
  border-bottom: 1px solid #56B9C3;
  text-align: left;
  font-weight: 500;
  font-size: clamp(20.25px, 1.40625vw, 29.7px);
  line-height: clamp(34.425px, 2.390625vw, 50.49px);
}
@media (max-width: 767px) {
  .profile .contents .history--list .history-table th,
  .profile .contents .history--list .history-table td {
    padding: calc(10 / 390 * 100vw) calc(24 / 390 * 100vw);
    font-weight: 500;
    font-size: clamp(11.25px, 3.8461538462vw, 16.5px);
    line-height: clamp(16.875px, 5.7692307692vw, 24.75px);
  }
}
.profile .contents .history--list .history-table th {
  width: calc(290 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .profile .contents .history--list .history-table th {
    width: 100%;
    border-bottom: none;
    padding-bottom: initial;
  }
}
.profile .contents .history--list .history-table td {
  border-left: 1px solid #56B9C3;
}
@media (max-width: 767px) {
  .profile .contents .history--list .history-table td {
    border-left: none;
  }
}
.profile .contents .history--list .history-table tr:nth-last-of-type(1) th, .profile .contents .history--list .history-table tr:nth-last-of-type(1) td {
  border-bottom: none;
}
@media (max-width: 767px) {
  .profile .contents .history--list .history-table tr {
    display: block;
  }
  .profile .contents .history--list .history-table th,
  .profile .contents .history--list .history-table td {
    display: block;
    width: 100%;
  }
}
.profile .contents .qualification .item-title {
  width: calc(271 / 1920 * 100vw);
  height: calc(52 / 1920 * 100vw);
  margin-left: calc(-39 / 1920 * 100vw);
  border-radius: calc(20 / 1920 * 100vw) 0 0 calc(20 / 1920 * 100vw);
  background-color: #56B9C3;
  padding-left: calc(39 / 1920 * 100vw);
  display: flex;
  align-items: center;
}
.profile .contents .qualification .item-title figure img {
  height: calc(29 / 1920 * 100vw);
}
.profile .contents .qualification .item-title {
  margin-top: calc(46 / 1920 * 100vw);
  margin-bottom: calc(38 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .profile .contents .qualification {
    margin-top: calc(32 / 390 * 100vw);
  }
  .profile .contents .qualification .item-title {
    width: calc(127 / 390 * 100vw);
    height: calc(24 / 390 * 100vw);
    margin-left: calc(-19 / 390 * 100vw);
    border-radius: calc(32 / 390 * 100vw) 0 0 calc(32 / 390 * 100vw);
    background-color: #56B9C3;
    padding-left: calc(19 / 390 * 100vw);
    display: flex;
    align-items: center;
  }
  .profile .contents .qualification .item-title figure img {
    height: calc(29 / 390 * 100vw);
  }
  .profile .contents .qualification .item-title {
    margin-bottom: calc(8 / 390 * 100vw);
  }
  .profile .contents .qualification .item-title figure img {
    width: calc(88 / 390 * 100vw);
  }
  .profile .contents .qualification {
    padding-top: calc(31 / 390 * 100vw);
  }
}
.profile .contents .qualification ul {
  display: block;
  padding-left: calc(40 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .profile .contents .qualification ul {
    padding-left: calc(24 / 390 * 100vw);
  }
}
.profile .contents .qualification ul li {
  list-style: disc;
  padding: initial;
  border-radius: initial;
  background-color: initial;
  font-weight: 500;
  font-size: clamp(20.25px, 1.40625vw, 29.7px);
  line-height: clamp(34.425px, 2.390625vw, 50.49px);
}
@media (max-width: 767px) {
  .profile .contents .qualification ul li {
    font-weight: 500;
    font-size: clamp(11.25px, 3.8461538462vw, 16.5px);
    line-height: clamp(16.875px, 5.7692307692vw, 24.75px);
  }
}
.profile .access {
  position: relative;
  margin-top: calc(43 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .profile .access {
    margin-top: calc(83 / 390 * 100vw);
  }
}
.profile .access header {
  position: initial;
  top: calc(0 / 1920 * 100vw);
}
.profile .access .iframe-wrapper {
  position: relative;
  padding-bottom: 50%;
  height: 0;
  overflow: hidden;
}
.profile .access .iframe-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.profile .access .map {
  margin-top: calc(85 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .profile .access .map {
    margin-top: calc(20 / 390 * 100vw);
  }
}
.profile .access .parking {
  margin-top: calc(8 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .profile .access .parking {
    margin-top: calc(27 / 390 * 100vw);
  }
}
.profile .access .parking dl {
  display: flex;
  justify-content: flex-end;
  gap: calc(23 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .profile .access .parking dl {
    gap: calc(12 / 390 * 100vw);
    flex-direction: column;
    text-align: center;
  }
}
.profile .access .parking dl dt {
  color: #56B9C3;
  font-weight: 600;
  font-size: clamp(24px, 1.6666666667vw, 35.2px);
  line-height: clamp(40.8px, 2.8333333333vw, 59.84px);
}
@media (max-width: 767px) {
  .profile .access .parking dl dt {
    font-weight: 700;
    font-size: clamp(11.25px, 3.8461538462vw, 16.5px);
    line-height: clamp(16.875px, 5.7692307692vw, 24.75px);
  }
}
.profile .access .parking dl dd {
  font-weight: 600;
  font-size: clamp(21px, 1.4583333333vw, 30.8px);
  line-height: clamp(35.7px, 2.4791666667vw, 52.36px);
}
@media (max-width: 767px) {
  .profile .access .parking dl dd {
    font-weight: 700;
    font-size: clamp(11.25px, 3.8461538462vw, 16.5px);
    line-height: clamp(16.875px, 5.7692307692vw, 24.75px);
  }
}
.profile .access .memo {
  font-weight: 500;
  font-size: clamp(20.25px, 1.40625vw, 29.7px);
  line-height: clamp(34.425px, 2.390625vw, 50.49px);
}
@media (max-width: 767px) {
  .profile .access .memo {
    margin-top: calc(20 / 390 * 100vw);
    font-weight: 500;
    font-size: clamp(11.25px, 3.8461538462vw, 16.5px);
    line-height: clamp(16.875px, 5.7692307692vw, 24.75px);
  }
}

.footer {
  background-color: #B0D3DE;
  padding-top: calc(132 / 1920 * 100vw);
  padding-bottom: calc(115 / 1920 * 100vw);
  position: relative;
}
.footer header {
  width: calc(515 / 1920 * 100vw);
  height: calc(121 / 1920 * 100vw);
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding-right: calc(96 / 1920 * 100vw);
  border-radius: 0 calc(64 / 1920 * 100vw) calc(64 / 1920 * 100vw) 0;
  background-color: white;
  position: relative;
  z-index: 901;
}
.footer header {
  position: absolute;
  top: calc(-60 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .footer {
    margin-top: calc(0 / 390 * 100vw);
    padding-bottom: calc(94 / 390 * 100vw);
  }
  .footer header {
    width: calc(231 / 390 * 100vw);
    height: calc(54 / 390 * 100vw);
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-right: calc(45 / 390 * 100vw);
    border-radius: 0 calc(61 / 390 * 100vw) calc(61 / 390 * 100vw) 0;
    background-color: white;
    position: relative;
    z-index: 901;
  }
  .footer header {
    position: absolute;
    top: calc(-27 / 390 * 100vw);
  }
  .footer h2 figure img {
    width: calc(94 / 390 * 100vw);
  }
}
.footer .contents .textarea {
  font-weight: 500;
  font-size: clamp(20.25px, 1.40625vw, 29.7px);
  line-height: clamp(34.425px, 2.390625vw, 50.49px);
  color: white;
}
@media (max-width: 767px) {
  .footer .contents .textarea {
    margin-top: calc(43 / 390 * 100vw);
    font-weight: 500;
    font-size: clamp(11.25px, 3.8461538462vw, 16.5px);
    line-height: clamp(16.875px, 5.7692307692vw, 24.75px);
  }
}
.footer .contents .links {
  margin-top: calc(50 / 1920 * 100vw);
}
.footer .contents .links ul {
  display: flex;
  justify-content: space-between;
  gap: calc(84 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .footer .contents .links ul {
    gap: calc(20 / 390 * 100vw);
    flex-direction: column;
  }
}
.footer .contents .links ul li {
  text-align: center;
}
.footer .contents .links ul li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(619 / 1920 * 100vw);
  border-radius: calc(22 / 1920 * 100vw);
  height: calc(147 / 1920 * 100vw);
  position: relative;
  box-shadow: calc(16 / 1920 * 100vw) calc(16 / 1920 * 100vw) 0 0 white;
  font-weight: 600;
  font-size: clamp(30px, 2.0833333333vw, 44px);
  line-height: clamp(48px, 3.3333333333vw, 70.4px);
}
@media (max-width: 767px) {
  .footer .contents .links ul li a {
    width: calc(291 / 390 * 100vw);
    border-radius: calc(22 / 390 * 100vw);
    height: calc(69 / 390 * 100vw);
    margin-left: auto;
    margin-right: auto;
    box-shadow: calc(10 / 390 * 100vw) calc(10 / 390 * 100vw) 0 0 white;
    font-weight: 700;
    font-size: clamp(16.5px, 5.641025641vw, 24.2px);
    line-height: clamp(24.75px, 8.4615384615vw, 36.3px);
  }
}
.footer .contents .links ul li span {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin-top: calc(22 / 1920 * 100vw);
  color: white;
  position: relative;
  font-weight: 500;
  font-size: clamp(20.25px, 1.40625vw, 29.7px);
  line-height: clamp(34.425px, 2.390625vw, 50.49px);
}
@media (max-width: 767px) {
  .footer .contents .links ul li span {
    margin-top: calc(18 / 390 * 100vw);
    margin-left: calc(40 / 390 * 100vw);
    font-weight: 500;
    font-size: clamp(11.25px, 3.8461538462vw, 16.5px);
    line-height: clamp(16.875px, 5.7692307692vw, 24.75px);
  }
}
.footer .contents .links ul li.inquiry a {
  color: white;
  background-color: #56B9C3;
  letter-spacing: 0.3rem;
}
.footer .contents .links ul li.inquiry .link:before {
  content: "";
  position: absolute;
  width: calc(32 / 1920 * 100vw);
  height: calc(32 / 1920 * 100vw);
  background-image: url(/asset/images/icon-formlink.svg);
  background-size: contain;
  background-repeat: no-repeat;
  left: calc(-40 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .footer .contents .links ul li.inquiry .link:before {
    width: calc(21 / 390 * 100vw);
    height: calc(21 / 390 * 100vw);
    left: calc(-28 / 390 * 100vw);
  }
}
.footer .contents .links ul li.pdffile a {
  color: #F49C01;
  background-color: #FFE877;
  letter-spacing: 0.3rem;
}
.footer .contents .links ul li.pdffile .file:before {
  content: "";
  position: absolute;
  width: calc(26 / 1920 * 100vw);
  height: calc(32 / 1920 * 100vw);
  background-image: url(/asset/images/icon-file.svg);
  background-size: contain;
  background-repeat: no-repeat;
  left: calc(-34 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .footer .contents .links ul li.pdffile .file:before {
    width: calc(16 / 390 * 100vw);
    height: calc(21 / 390 * 100vw);
    left: calc(-28 / 390 * 100vw);
  }
}
.footer .contents .footer--area {
  margin-top: calc(168 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .footer .contents .footer--area {
    border-top: 5px solid white;
    margin-top: calc(87 / 390 * 100vw);
    padding-top: calc(110 / 390 * 100vw);
  }
}
.footer .contents .footer--area .logo {
  position: relative;
}
.footer .contents .footer--area .logo figure img {
  width: calc(640 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .footer .contents .footer--area .logo figure img {
    width: 100%;
  }
}
.footer .contents .footer--area .logo .release {
  position: absolute;
  right: calc(0 / 1920 * 100vw);
  top: calc(0 / 1920 * 100vw);
}
.footer .contents .footer--area .logo .release figure img {
  width: calc(670 / 1920 * 100vw);
  height: calc(126 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .footer .contents .footer--area .logo .release figure img {
    width: calc(243 / 390 * 100vw);
    height: calc(44 / 390 * 100vw);
  }
}
@media (max-width: 767px) {
  .footer .contents .footer--area .logo .release {
    right: calc(0 / 1920 * 100vw);
    top: calc(-54 / 390 * 100vw);
  }
}
.footer .contents .info {
  color: white;
  margin-top: calc(51 / 1920 * 100vw);
  font-weight: 500;
  font-size: clamp(20.25px, 1.40625vw, 29.7px);
  line-height: clamp(34.425px, 2.390625vw, 50.49px);
}
@media (max-width: 767px) {
  .footer .contents .info {
    margin-top: calc(22 / 390 * 100vw);
    font-weight: 500;
    font-size: clamp(11.25px, 3.8461538462vw, 16.5px);
    line-height: clamp(16.875px, 5.7692307692vw, 24.75px);
  }
}
.footer .contents .info .links-btn {
  display: flex;
  gap: calc(51 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .footer .contents .info .links-btn {
    position: relative;
  }
}
.footer .contents .info .links-btn a {
  color: white;
}
.footer .contents .info .links-btn a.insta {
  margin-top: calc(-10 / 1920 * 100vw);
  width: calc(42 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .footer .contents .info .links-btn a.insta {
    position: absolute;
    right: 0;
    bottom: 0;
    margin-top: calc(-10 / 390 * 100vw);
    width: calc(33 / 390 * 100vw);
  }
}
.footer .contents .info .links-btn a.insta figure img {
  width: calc(42 / 1920 * 100vw);
  height: calc(43 / 1920 * 100vw);
}
@media (max-width: 767px) {
  .footer .contents .info .links-btn a.insta figure img {
    width: calc(33 / 390 * 100vw);
    height: calc(33 / 390 * 100vw);
  }
}
.footer .contents .copyright {
  margin-top: calc(100 / 1920 * 100vw);
  text-align: center;
  color: white;
  font-weight: 500;
  font-size: clamp(20.25px, 1.40625vw, 29.7px);
  line-height: clamp(34.425px, 2.390625vw, 50.49px);
}
@media (max-width: 767px) {
  .footer .contents .copyright {
    margin-top: calc(48 / 390 * 100vw);
    font-weight: 500;
    font-size: clamp(11.25px, 3.8461538462vw, 16.5px);
    line-height: clamp(16.875px, 5.7692307692vw, 24.75px);
  }
}
