@charset "UTF-8";
/*
css設計
大きく
◎header
◎content
◎footer
の3つのブロックからなる。

【headerについて】
独自のクラス名を指定可能、その代わり「#header .クラス名」というように指定しユニークを維持する
#header内でしか利用できないものとする

【footerについて】
独自のクラス名を指定可能、その代わり「#footer .クラス名」というように指定しユニークを維持する
#footer内でしか利用できないものとする

【contentについて】

body.newsなどの指定で、同じクラス名だとしても(例：.photoItem)ページごとに独自の設定が可能
※その他、共通で利用できるものは「ptn-」といったクラス名を初めにつけ、ユニークを維持する

*/
/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■
■■　★★★_ブレイクポイント
■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
*/
/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■
■■　★★★_【SASS】変数
■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
*/
/*■各種サイズ*/
/*■各種カラー*/
/*ベースカラー青*/
/*明るい青*/
/*AI用カラー*/
/*$wrapColor1:#25498D;*/
/*$glay1 : #E7EAEE;*/
/*■その他*/
/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■
■■　★★★_【SASS】@mixin
■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
*/
/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_【SASS】フォントサイズ
*/
/*フォントサイズ指定*/
/* フォントサイズを clamp() で指定するミックスイン */
/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_【SASS】フォントサイズ（パターン化）
*/
/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_【SASS】フォント関連
*/
/*フォント英語指定*/
/*フォント明朝体指定*/
/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_【SASS】ボタン
*/
/*ボタン用デコレーション*/
/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_【SASS】スペース（XL, L, M, S, XS, XXS）
*/
/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_【SASS】gap（S, M, L）
*/
/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_【SASS】アニメーション
*/
/*ア二メーションの基本秒数*/
/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_【SASS】画像色調用(ボーダー処理も含む)
*/
/*イメージの基本的なベース*/
.ptn-photo1 {
  display: block;
  position: relative; }
  .ptn-photo1::before {
    display: block;
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    left: 10px;
    top: 10px;
    z-index: 0;
    border-right: 1px solid #98A3B5;
    border-bottom: 1px solid #98A3B5; }
  .ptn-photo1::after {
    transition: .3s ease;
    display: block;
    content: '';
    width: 100%;
    height: 100%;
    background-color: rgba(58, 117, 187, 0.1);
    position: absolute;
    inset: 0;
    z-index: 120; }
  .ptn-photo1 img {
    width: 100%;
    height: auto;
    vertical-align: top; }
  .ptn-photo1.lightPtn::after {
    background-color: rgba(58, 117, 187, 0.05); }
  .ptn-photo1.toneNonePtn::after {
    background-color: rgba(58, 117, 187, 0); }

.ptn-photo2 {
  display: block;
  position: relative; }
  .ptn-photo2::after {
    transition: .3s ease;
    display: block;
    content: '';
    width: 100%;
    height: 100%;
    background-color: rgba(58, 117, 187, 0.1);
    position: absolute;
    inset: 0;
    z-index: 120; }
  .ptn-photo2 img {
    width: 100%;
    height: auto;
    vertical-align: top; }
  .ptn-photo2.lightPtn::after {
    background-color: rgba(58, 117, 187, 0.05); }
  .ptn-photo2.toneNonePtn::after {
    background-color: rgba(58, 117, 187, 0); }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■
■■　★★★_リセット
■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
*/
* {
  min-width: 0;
  min-height: 0; }

/*マテリアルアイコン縦中央*/
.material-icons {
  display: inline-flex !important;
  vertical-align: middle !important;
  margin-right: 5px; }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_BLUMAデフォルトを参照(一部省略)
*/
html, body, p, ol, ul, li, dl, dt, dd, blockquote, figure, fieldset, legend, textarea, pre, iframe, hr, h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0; }

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal; }

ul {
  list-style: none; }

button, input, select, textarea {
  margin: 0; }

html {
  box-sizing: border-box; }

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

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

iframe {
  border: 0; }

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

td, th {
  padding: 0; }

td:not([align]), th:not([align]) {
  text-align: inherit; }

html {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  min-width: 300px;
  overflow-x: hidden;
  overflow-y: scroll;
  text-rendering: optimizeLegibility;
  text-size-adjust: 100%; }

article, aside, figure, footer, header, hgroup, section {
  display: block; }

/*code, pre {
  -moz-osx-font-smoothing: auto;
  -webkit-font-smoothing: auto;
  font-family: monospace;
}*/
a {
  cursor: pointer;
  text-decoration: none; }

/*code {
  background-color: #f5f5f5;
  color: #da1039;
  font-size: .875em;
  font-weight: normal;
  padding: .25em .5em .25em
}*/
hr {
  background-color: #f5f5f5;
  border: none;
  display: block;
  height: 2px;
  margin: 1.5rem 0; }

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

input[type="checkbox"], input[type="radio"] {
  vertical-align: baseline; }

fieldset {
  border: none; }

/*pre {
  -webkit-overflow-scrolling: touch;
  background-color: #f5f5f5;
  color: #4a4a4a;
  font-size: .875em;
  overflow-x: auto;
  padding: 1.25rem 1.5rem;
  white-space: pre;
  word-wrap: normal;
}
pre code {
  background-color: transparent;
  color: currentColor;
  font-size: 1em;
  padding: 0;
}*/
table td, table th {
  vertical-align: top; }

table td:not([align]), table th:not([align]) {
  text-align: inherit; }

/*max-width対策(小数点処理)*/
@media screen and (max-width: 1023.9px) {
  .is-hidden-touch {
    display: none !important; } }
/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_フォント、テキスト関連、並びに画像装飾
*/
html, body {
  height: 100% !important;
  -webkit-text-size-adjust: 100%;
  font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  font-optical-sizing: auto;
  color: #333333; }

html {
  font-size: 16px; }

body {
  font-size: 1em;
  line-height: 1.8;
  font-weight: 400; }

small {
  font-size: .875em; }

span {
  font-style: inherit;
  font-weight: inherit; }

strong {
  font-weight: 500; }

.txtIndent1 {
  padding-left: 1em !important;
  text-indent: -1em !important; }

.txtPalt {
  font-feature-settings: "palt"; }

.textBorderSym1 {
  background: linear-gradient(transparent 50%, #FFFF99 50%); }

a:link {
  color: #333333;
  text-decoration: none; }

a:visited {
  color: #333333;
  text-decoration: none; }

a:hover {
  color: #333333;
  text-decoration: none; }

a.linkBorder:link {
  color: #3A75BB;
  text-decoration: underline; }

a.linkBorder:visited {
  color: #3A75BB;
  text-decoration: underline; }

a.linkBorder:hover {
  color: #3A75BB;
  text-decoration: none; }

.baseColor1 {
  color: #0D244A; }

.baseColor2 {
  color: #998E73; }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■
■■　★★★_#header
■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
*/
/*header全体*/
#header {
  z-index: 1000;
  width: 100%;
  height: 70px;
  position: absolute;
  /*position: absolute;
  background-color: rgba(#FFF,0.8);*/
  /*box-shadow: 0px 1px 3px rgba(0,0,0,0.1);*/ }
  @media screen and (min-width: 1024px) {
    #header {
      width: 100%;
      overflow: visible;
      height: 140px;
      position: absolute; } }
  #header .headerInner {
    position: relative; }
    @media screen and (min-width: 1024px) {
      #header .headerInner {
        height: 140px; } }

/*ロゴ*/
#header .logoWrap {
  position: absolute;
  z-index: 1300;
  display: flex;
  flex-direction: column;
  gap: 5px;
  top: 15px;
  left: 15px;
  width: calc(100% - 95px);
  pointer-events: none; }
  @media screen and (min-width: 1024px) {
    #header .logoWrap {
      gap: 10px;
      top: 20px;
      left: 1.5vw;
      width: 50%; } }
  #header .logoWrap h1, #header .logoWrap p {
    color: #FFF;
    font-size: clamp(0.75rem, 1.3vw, 0.8125rem);
    line-height: 1.4;
    font-weight: 300;
    order: 2;
    width: 100%; }
    @media screen and (min-width: 1024px) {
      #header .logoWrap h1, #header .logoWrap p {
        order: 1;
        font-size: clamp(0.8125rem, 1.3vw, 0.8125rem); } }
  #header .logoWrap .logo {
    order: 1;
    transition: .3s ease;
    margin: 0px;
    max-width: 380px; }
    #header .logoWrap .logo img {
      width: 100%;
      height: auto;
      vertical-align: top; }
    #header .logoWrap .logo a {
      pointer-events: auto; }
      @media (hover: hover) and (pointer: fine) {
        #header .logoWrap .logo a {
          transition: opacity .3s ease; }
          #header .logoWrap .logo a:hover {
            opacity: 0.8 !important; } }
    @media screen and (min-width: 1024px) {
      #header .logoWrap .logo {
        order: 2;
        width: 380px;
        max-width: none; } }
    @media screen and (min-width: 1216px) {
      #header .logoWrap .logo {
        width: 450px; } }
#header .logoSymbol {
  display: none; }

/*トグル(グローバルメニューの開閉)*/
#header #navToggle {
  z-index: 1600;
  position: fixed;
  right: 0px;
  top: 0px;
  width: 70px;
  height: 70px;
  cursor: pointer;
  border-radius: 0px;
  background-color: #0d244a;
  transition: .3s ease;
  /*div.menuTit{
      color:#FFF;
      margin-top:30px;
      text-align:center;
      @include fontSize(11);
      font-weight:400;
  }*/ }
  #header #navToggle .toggleIcon {
    position: absolute;
    top: 15px;
    left: 22px; }
    #header #navToggle .toggleIcon span {
      display: block;
      position: absolute;
      height: 2px;
      width: 24px;
      background: #FFF;
      border-radius: 1px;
      transition: .3s ease; }
      #header #navToggle .toggleIcon span:nth-child(1) {
        top: 0px; }
      #header #navToggle .toggleIcon span:nth-child(2) {
        top: 8px; }
      #header #navToggle .toggleIcon span:nth-child(3) {
        top: 16px; }
  #header #navToggle div.menuTit {
    transition: .3s ease;
    text-align: center;
    display: block;
    width: 100%;
    position: absolute;
    bottom: 10px;
    color: #FFF;
    font-size: 0.875rem;
    line-height: 1.7;
    line-height: 1.2;
    font-weight: 400;
    opacity: 1;
    font-family: "Noto Serif JP", serif;
    font-weight: 600; }
  @media screen and (min-width: 1024px) {
    #header #navToggle {
      display: none; } }
#header.openMenu #navToggle .toggleIcon span {
  background: #FFF;
  height: 2px; }
  #header.openMenu #navToggle .toggleIcon span:nth-child(1) {
    top: 8px;
    transform: rotate(315deg); }
  #header.openMenu #navToggle .toggleIcon span:nth-child(2) {
    width: 0;
    left: 50%; }
  #header.openMenu #navToggle .toggleIcon span:nth-child(3) {
    top: 8px;
    transform: rotate(-315deg); }

/*オーバーレイ*/
#header #overlay {
  transition: .3s ease;
  visibility: hidden;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1400;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  opacity: 0;
  /*@include mq(desktop) {     
      display:none;
  }*/ }
  @media screen and (min-width: 1024px) {
    #header #overlay {
      opacity: 0;
      visibility: hidden; } }
#header.overlay #overlay {
  opacity: 1;
  visibility: visible; }
  @media screen and (min-width: 1024px) {
    #header.overlay #overlay {
      opacity: 0;
      visibility: hidden; } }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_#gMenu
*/
#gMenu {
  transition: right .3s ease, opacity .3s ease;
  z-index: 1500;
  position: fixed;
  right: -300px;
  width: 300px;
  top: 0px;
  text-align: left;
  padding: 0px;
  opacity: 0;
  overflow-y: scroll;
  height: 100%;
  -webkit-overflow-scrolling: touch;
  font-weight: 450;
  background-color: #EEF0F3; }
  #gMenu::-webkit-scrollbar {
    width: 5px;
    margin: 0 20px; }
  #gMenu::-webkit-scrollbar-thumb {
    background: rgba(119, 119, 119, 0.8);
    border-radius: 10px; }
  #gMenu::-webkit-scrollbar-track {
    border: none;
    border-radius: 5px;
    box-shadow: inset 0 0 2px #777;
    background: rgba(119, 119, 119, 0.2); }
  #gMenu > ul {
    transition: .3s ease;
    list-style: none;
    left: 0;
    bottom: 0;
    width: 290px;
    margin: 70px 0px 0px 0px;
    text-align: left;
    display: block;
    border-bottom: 1px solid #98A3B5; }
    #gMenu > ul > li > a, #gMenu > ul > li > span {
      font-family: "Noto Serif JP", serif;
      font-weight: 600;
      border-top: 1px solid #98A3B5;
      display: block;
      padding: 15px 20px;
      color: #333333;
      font-size: clamp(1rem, 1.6vw, 1rem);
      color: #0D244A; }
      @media (hover: hover) and (pointer: fine) {
        #gMenu > ul > li > a, #gMenu > ul > li > span {
          transition: opacity .3s ease; }
          #gMenu > ul > li > a:hover, #gMenu > ul > li > span:hover {
            opacity: 0.8 !important; } }
  #gMenu .parentMenu > span.parentMenuTit {
    position: relative;
    cursor: pointer;
    display: block; }
    #gMenu .parentMenu > span.parentMenuTit:after {
      transform-origin: center center;
      text-align: center;
      width: 14px;
      height: 14px;
      right: 20px;
      top: 0;
      bottom: 0;
      left: auto;
      position: absolute;
      font-size: 0.875rem;
      line-height: 1;
      margin: auto;
      transition: transform 0.2s ease-in-out;
      color: #0D244A;
      content: "\e5cf";
      font-family: 'Material Symbols Sharp';
      font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0, 'opsz' 40;
      display: block; }
  #gMenu .parentMenu.selected > span.parentMenuTit:after {
    transform: rotate(-180deg); }
  #gMenu .childMenu {
    position: relative;
    width: 100%;
    padding: 0px;
    display: none; }
    #gMenu .childMenu .childMenuInner .childMenuTit {
      display: none; }
    #gMenu .childMenu .childMenuInner ul.childMenuList {
      margin-bottom: 20px; }
      #gMenu .childMenu .childMenuInner ul.childMenuList li {
        margin: 0px 0px; }
        #gMenu .childMenu .childMenuInner ul.childMenuList li a {
          font-family: "Noto Serif JP", serif;
          font-weight: 600;
          font-size: clamp(1rem, 1.6vw, 1rem);
          color: #333333;
          display: block;
          padding: 7px 10px 7px 40px; }
          #gMenu .childMenu .childMenuInner ul.childMenuList li a::before {
            content: none; }
        #gMenu .childMenu .childMenuInner ul.childMenuList li.childMenuList2 {
          padding-left: 1em; }
          #gMenu .childMenu .childMenuInner ul.childMenuList li.childMenuList2 a {
            font-size: clamp(0.9375rem, 1.5vw, 0.9375rem); }
  @media screen and (min-width: 1024px) {
    #gMenu {
      position: absolute;
      right: 1.5vw;
      bottom: 0;
      top: auto;
      text-align: left;
      padding: 0px;
      margin: 0px;
      opacity: 1;
      overflow: visible;
      height: auto;
      -webkit-overflow-scrolling: touch;
      background-color: transparent;
      width: 100%;
      z-index: 1100; }
      #gMenu::-webkit-scrollbar {
        width: 0px;
        margin: 0px; }
      #gMenu > ul {
        margin: 0px auto;
        width: auto;
        display: flex;
        justify-content: flex-end;
        border: none; }
        #gMenu > ul > li > a, #gMenu > ul > li > span {
          padding: 15px 1em 15px 1em;
          color: #FFF;
          display: block;
          font-size: clamp(0.9375rem, 1.5vw, 1.0625rem);
          border: none;
          display: flex;
          align-items: flex-end; }
      #gMenu .childMenuBk {
        /*background-color: #000;
        width: 100vw;
        height:100vh;
        position:absolute;
        z-index: 0;
        opacity: 0.3;
        top:100%;
        left:0;
        display: none;*/ }
      #gMenu .parentMenu {
        overflow: visible;
        position: relative; }
        #gMenu .parentMenu > span.parentMenuTit {
          position: relative;
          height: 100%;
          cursor: default; }
          #gMenu .parentMenu > span.parentMenuTit:after {
            width: 12px;
            height: 12px;
            right: 0em;
            font-size: 0.75rem;
            line-height: 1;
            color: #FFF; }
          #gMenu .parentMenu > span.parentMenuTit:hover {
            opacity: 1 !important; }
        #gMenu .parentMenu.selected > span.parentMenuTit:after {
          transform: rotate(-180deg); }
        #gMenu .parentMenu.selected > span.parentMenuTit:before {
          content: "";
          position: absolute;
          bottom: 0;
          left: 0;
          right: 0;
          margin: auto;
          width: 0;
          height: 0;
          border-left: 10px solid transparent;
          border-right: 10px solid transparent;
          border-bottom: 10px solid #EEF0F3;
          opacity: 1; }
      #gMenu .childMenu {
        box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1), 2px 2px 4px rgba(0, 0, 0, 0.05), -2px 2px 4px rgba(0, 0, 0, 0.05);
        /* 左 */
        width: 260px;
        position: absolute;
        top: 100%;
        /* 親項目の直下に配置 */
        padding: 20px 20px 0px 20px;
        background: #eef0f3;
        display: none;
        left: 50%;
        transform: translateX(-50%); }
        #gMenu .childMenu.childMenuR {
          left: auto;
          transform: none;
          right: 0; }
        #gMenu .childMenu .childMenuInner ul.childMenuList {
          width: 100%;
          display: grid;
          grid-template-columns: repeat(1, 1fr);
          gap: 0px 5px; }
          #gMenu .childMenu .childMenuInner ul.childMenuList li {
            border-bottom: none;
            position: relative; }
            #gMenu .childMenu .childMenuInner ul.childMenuList li a {
              font-family: "Noto Serif JP", serif;
              font-weight: 600;
              font-size: clamp(1rem, 1.6vw, 1rem);
              transition: .3s ease;
              color: #333333;
              display: block;
              border-bottom: none;
              padding: 0.5em;
              position: relative;
              line-height: 1.3; }
              #gMenu .childMenu .childMenuInner ul.childMenuList li a:hover {
                background-color: white; } }
  #gMenu .infoBox {
    padding: 15px;
    margin-bottom: 40px; }
    #gMenu .infoBox .reserveItem {
      margin-top: 20px; }
      #gMenu .infoBox .reserveItem .logoItem img {
        width: 100%;
        height: auto;
        vertical-align: top; }
      #gMenu .infoBox .reserveItem .telWord {
        text-align: center;
        background-color: #FFF;
        font-family: "Amiri", serif;
        font-weight: 400;
        font-style: normal;
        font-size: 1.875rem;
        line-height: 1.7;
        padding: 0.4em 0 0.2em 0;
        color: #0D244A;
        line-height: 0.8;
        margin-top: 15px; }
        #gMenu .infoBox .reserveItem .telWord a {
          color: #0D244A; }
        #gMenu .infoBox .reserveItem .telWord span {
          font-size: 1.375rem;
          line-height: 1.7; }
      #gMenu .infoBox .reserveItem .btnReserve {
        margin-top: 15px;
        font-family: "Noto Serif JP", serif;
        font-weight: 600; }
        #gMenu .infoBox .reserveItem .btnReserve a {
          background-color: #998E73;
          font-size: 1rem;
          line-height: 1.7;
          color: #FFF;
          padding: 0.4em 0.2em;
          width: 100%;
          height: 100%;
          display: block;
          text-align: center;
          position: relative; }
      #gMenu .infoBox .reserveItem .btnKyouseiSite {
        margin-top: 15px;
        font-family: "Noto Serif JP", serif;
        font-weight: 600; }
        #gMenu .infoBox .reserveItem .btnKyouseiSite a {
          background-color: #4E70A5;
          font-size: 1rem;
          line-height: 1.7;
          color: #FFF;
          padding: 0.4em 0.2em;
          width: 100%;
          height: 100%;
          display: block;
          text-align: center;
          position: relative; }
    #gMenu .infoBox .tsItem {
      margin-top: 15px; }
      #gMenu .infoBox .tsItem p {
        margin-top: 0.5em;
        font-size: 0.8125rem;
        line-height: 1.7;
        line-height: 1.4; }
    @media screen and (min-width: 1024px) {
      #gMenu .infoBox {
        display: none; } }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_#sMenu
*/
#sMenu {
  display: none; }
  @media screen and (min-width: 1024px) {
    #sMenu {
      position: absolute;
      right: 1.5vw;
      top: 0px;
      color: #FFF;
      display: flex;
      gap: 0px 20px;
      margin-top: 30px; }
      #sMenu .telItem {
        text-align: right; }
        #sMenu .telItem .telNumber {
          font-family: "Amiri", serif;
          font-weight: 400;
          font-style: normal;
          font-size: 2.25rem;
          line-height: 1.7;
          padding-bottom: 0.3em;
          padding-top: 0;
          line-height: 0.5; }
          #sMenu .telItem .telNumber span {
            font-size: 1.625rem;
            line-height: 1.7;
            line-height: 0.3; }
        #sMenu .telItem p {
          font-family: "Noto Serif JP", serif;
          font-weight: 600;
          font-size: 0.75rem;
          line-height: 1.7;
          font-weight: 400;
          margin: 0px;
          padding: 0px; }
      #sMenu .btnInsta {
        margin-top: 5px; }
        #sMenu .btnInsta a {
          width: 30px;
          height: 30px;
          display: block;
          background: url(/module/img/com/icon-insta.svg) center center/cover no-repeat; }
      #sMenu .btnReserve {
        font-family: "Noto Serif JP", serif;
        font-weight: 600; }
        #sMenu .btnReserve a {
          background-color: #998E73;
          font-size: 1.0625rem;
          line-height: 1.7;
          color: #FFF;
          padding: 0.4em 0.2em;
          width: 140px;
          display: block;
          text-align: center; } }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_#fixMenu
*/
.fixSideBtn {
  display: none; }
  @media screen and (min-width: 1024px) {
    .fixSideBtn {
      position: fixed;
      right: 0;
      top: 220px;
      display: block; } }
  @media screen and (min-width: 1024px) and (hover: hover) and (pointer: fine) {
    .fixSideBtn a {
      transition: opacity .3s ease; }
      .fixSideBtn a:hover {
        opacity: 0.8 !important; } }
  @media screen and (min-width: 1024px) {
      .fixSideBtn .fixBtnKyousei {
        display: block;
        background-color: #4E70A5;
        writing-mode: vertical-rl;
        text-orientation: upright;
        font-family: "Noto Serif JP", serif;
        font-weight: 600;
        font-size: 1.0625rem;
        line-height: 1.7; }
        .fixSideBtn .fixBtnKyousei a {
          display: block;
          color: #FFF;
          background: url(/module/img/com/icon-kyouseisite.svg) center 12px/34px no-repeat;
          padding: 40px 8px 15px 8px;
          width: 45px; }
        .fixSideBtn .fixBtnKyousei span {
          display: block;
          letter-spacing: 0.15em; }
      .fixSideBtn .fixBtnAi {
        display: block;
        background-color: #324C77;
        writing-mode: vertical-rl;
        text-orientation: upright;
        font-family: "Noto Serif JP", serif;
        font-weight: 600;
        font-size: 1.0625rem;
        line-height: 1.7;
        margin-top: 10px; }
        .fixSideBtn .fixBtnAi a {
          display: block;
          color: #FFF;
          background: url(/module/img/com/icon-aisoudan.svg) center 8px/34px no-repeat;
          padding: 50px 10px 15px 10px;
          width: 45px; }
        .fixSideBtn .fixBtnAi span {
          display: block;
          letter-spacing: 0.2em; } }

#fixMenu {
  width: 100%;
  position: fixed;
  bottom: 0;
  left: 0; }
  #fixMenu ul.fixMenuList {
    display: grid;
    grid-template-columns: 4fr 2fr 2fr;
    /*AI相談前　grid-template-columns: 4fr 2fr;*/
    text-align: center;
    color: #FFF; }
    #fixMenu ul.fixMenuList li {
      background-color: #0D244A;
      font-family: "Noto Serif JP", serif;
      font-weight: 600;
      font-size: clamp(0.875rem, 1.8vw, 1.125rem);
      /*★clamp(25px, 3vw, 30px)を25pxに変更*/ }
      #fixMenu ul.fixMenuList li a {
        color: #FFF;
        min-height: clamp(60px, 7vw, 70px);
        display: flex;
        align-items: center;
        justify-content: center; }
      #fixMenu ul.fixMenuList li.btnTel {
        background-color: #0D244A;
        font-size: clamp(1.125rem, 2.2vw, 1.375rem);
        /*AI相談前　@include fontSizeClamp(20,22,22);*/ }
        #fixMenu ul.fixMenuList li.btnTel a span {
          display: inline-block;
          background: url(/module/img/com/icon-tel.svg) left center/25px no-repeat;
          padding: 0px 0px 0px clamp(35px, 4vw, 40px);
          min-height: 28px; }
      #fixMenu ul.fixMenuList li.btnReserve {
        background-color: #998E73; }
        #fixMenu ul.fixMenuList li.btnReserve span {
          display: inline-block;
          background: url(/module/img/com/icon-calendar.svg) center 3px/26px no-repeat;
          padding: 28px 0px 0px 0px;
          min-height: 28px; }
      #fixMenu ul.fixMenuList li.btnKyousei {
        display: none;
        /*background-color:$aiColor;
        span{
            display:inline-block;
            background: url(/module/img/com/icon-kyouseisite.svg) center 1px/25px no-repeat;
            padding:27px 0px 0px 0px;
            min-height:27px;
        }*/ }
      #fixMenu ul.fixMenuList li.btnAiSoudan {
        background-color: #324C77; }
        #fixMenu ul.fixMenuList li.btnAiSoudan button {
          all: unset;
          cursor: pointer;
          width: 100%;
          display: block; }
        #fixMenu ul.fixMenuList li.btnAiSoudan span {
          display: inline-block;
          background: url(/module/img/com/icon-aisoudan.svg) center 3px/32px no-repeat;
          padding: 32px 0px 0px 0px;
          min-height: 28px; }
  @media screen and (min-width: 1024px) {
    #fixMenu {
      position: fixed;
      left: auto;
      right: 0;
      top: 220px;
      display: block;
      width: 45px; } }
  @media screen and (min-width: 1024px) and (hover: hover) and (pointer: fine) {
    #fixMenu a {
      transition: opacity .3s ease; }
      #fixMenu a:hover {
        opacity: 0.8 !important; } }
  @media screen and (min-width: 1024px) {
      #fixMenu ul.fixMenuList {
        display: block; }
        #fixMenu ul.fixMenuList li.btnTel {
          display: none; }
        #fixMenu ul.fixMenuList li.btnReserve {
          display: none; }
        #fixMenu ul.fixMenuList li.btnKyousei {
          display: block;
          background-color: #4E70A5;
          writing-mode: vertical-rl;
          text-orientation: upright;
          font-family: "Noto Serif JP", serif;
          font-weight: 600;
          font-size: 1.0625rem;
          line-height: 1.7; }
          #fixMenu ul.fixMenuList li.btnKyousei a {
            display: block;
            color: #FFF;
            background: url(/module/img/com/icon-kyouseisite.svg) center 12px/34px no-repeat;
            padding: 40px 8px 15px 8px;
            width: 45px; }
          #fixMenu ul.fixMenuList li.btnKyousei span {
            display: block;
            letter-spacing: 0.15em; }
        #fixMenu ul.fixMenuList li.btnAiSoudan {
          display: block;
          background-color: #324C77;
          writing-mode: vertical-rl;
          text-orientation: upright;
          white-space: nowrap;
          font-family: "Noto Serif JP", serif;
          font-weight: 600;
          font-size: 1.0625rem;
          line-height: 1.7;
          width: 45px;
          top: 450px;
          margin-top: 10px; }
          #fixMenu ul.fixMenuList li.btnAiSoudan button {
            display: block;
            color: #FFF;
            background: url(/module/img/com/icon-aisoudan.svg) center 8px/34px no-repeat;
            padding: 45px 0px 15px 0px;
            width: 45px; }
          #fixMenu ul.fixMenuList li.btnAiSoudan span {
            display: block;
            letter-spacing: 0.2em;
            background: none;
            padding: 0px; } }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_body.isScrollingDown(スクロール後の表示)
*/
body.isScrollingDown #header #navToggle {
  width: 60px;
  height: 60px; }
  body.isScrollingDown #header #navToggle .toggleIcon {
    top: 19px;
    left: 18px; }
  body.isScrollingDown #header #navToggle div.menuTit {
    opacity: 0;
    bottom: 0px; }
@media screen and (min-width: 1024px) {
  body.isScrollingDown #header {
    height: 60px;
    background-color: rgba(13, 36, 74, 0.9);
    position: fixed !important;
    top: -60px;
    animation: scrollDown 0.3s ease forwards; }
    body.isScrollingDown #header .logoWrap {
      display: none; }
    body.isScrollingDown #header .logoSymbol {
      display: block;
      position: absolute;
      left: 15px;
      top: 12px;
      width: 35px;
      z-index: 120; }
      body.isScrollingDown #header .logoSymbol img {
        width: 100%;
        height: auto;
        vertical-align: top; }
    body.isScrollingDown #header .headerInner {
      height: 60px; }
    body.isScrollingDown #header #gMenu {
      margin-left: 60px;
      right: auto;
      z-index: 110; }
      body.isScrollingDown #header #gMenu > ul {
        justify-content: flex-start; }
        body.isScrollingDown #header #gMenu > ul > li > a, body.isScrollingDown #header #gMenu > ul > li > span {
          padding: 18px 1em;
          font-size: clamp(0.875rem, 1.4vw, 0.9375rem);
          font-weight: 500; } }
    @media screen and (min-width: 1024px) and (min-width: 1024px) {
      body.isScrollingDown #header #gMenu .btnContact {
        display: block; }
        body.isScrollingDown #header #gMenu .btnContact a {
          width: 160px;
          height: 40px;
          border-radius: 21px;
          font-size: clamp(1rem, 1.6vw, 1rem);
          margin: 14px 1.5vw 0px 1.5em;
          padding: 5px 5px 5px 15px; } }
@media screen and (min-width: 1024px) {
      body.isScrollingDown #header #gMenu .childMenu .childMenuInner ul.childMenuList li a {
        font-size: clamp(0.9375rem, 1.5vw, 0.9375rem); }
    body.isScrollingDown #header #sMenu {
      margin-top: 12px;
      gap: 0px 15px;
      z-index: 120; }
      body.isScrollingDown #header #sMenu .btnInsta {
        display: none; }
      body.isScrollingDown #header #sMenu .telItem .telNumber {
        font-family: "Amiri", serif;
        font-weight: 400;
        font-style: normal;
        font-size: 1.5rem;
        line-height: 1.7;
        font-size: clamp(1.25rem, 2.2vw, 1.5rem);
        line-height: 1.2; }
        body.isScrollingDown #header #sMenu .telItem .telNumber span {
          font-size: clamp(0.875rem, 1.6vw, 1.125rem); }
      body.isScrollingDown #header #sMenu .telItem p {
        display: none; }
      body.isScrollingDown #header #sMenu .btnReserve a {
        font-size: 0.9375rem;
        line-height: 1.7;
        color: #FFF;
        padding: 0.3em 0.2em;
        width: 90px; } }
@media screen and (min-width: 1216px) {
  body.isScrollingDown #header .logoSymbol {
    left: 40px; }
  body.isScrollingDown #header #gMenu {
    margin-left: 85px; }
  body.isScrollingDown > ul > li > a, body.isScrollingDown > ul > li > span {
    padding: 18px 1.5em; } }

@keyframes scrollDown {
  from {
    top: -60px; }
  to {
    top: 0; } }
@keyframes scrollDown2 {
  from {
    right: -80px; }
  to {
    right: 0px; } }
/*コンテンツ*/
/*body{
    &.isScrollingDown{
        #content{
            @include mq(desktop) {
                margin-top:$headerHDesktop2;
            }
        }
    }
}*/
/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_#header.openMenu(メニューオープン時)
*/
#header.openMenu #gMenu {
  right: 0px;
  opacity: 1; }
#header.openMenu #navToggle {
  right: 5px; }

/*body{
    &.isScrollingDown{
        #header{
            &.openMenu{
                #gMenu{
                    > ul {
                        margin:60px 0px 0px 0px;
                    }
                }
            }
        }
    }
}*/
/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■
■■　★★★_#footer
■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
*/
#footer {
  border-top: 1px solid #FFF;
  background-color: #EEF0F3;
  padding-top: clamp(60px, 10vw, 100px);
  padding-bottom: clamp(60px, 10vw, 100px); }
  #footer .footerInner {
    margin: 0 auto;
    max-width: 1310px;
    padding: 0px 15px;
    display: grid;
    gap: clamp(20px, 3vw, 40px) clamp(40px, 7vw, 80px); }
    @media screen and (min-width: 1024px) {
      #footer .footerInner {
        max-width: 1400px;
        padding: 0px 60px; } }
  #footer .infoBox .logoItem {
    text-align: center;
    max-width: 480px;
    margin: 0px auto; }
    #footer .infoBox .logoItem img {
      width: 100%;
      height: auto;
      vertical-align: top; }
  #footer .infoBox .addressItem {
    margin-top: clamp(15px, 2vw, 20px);
    text-align: center;
    line-height: 1.6; }
    #footer .infoBox .addressItem span {
      display: inline-block; }
  #footer .infoBox .reserveItem {
    margin-top: clamp(25px, 4vw, 40px); }
    #footer .infoBox .reserveItem .telWord {
      text-align: center;
      background-color: #FFF;
      font-family: "Amiri", serif;
      font-weight: 400;
      font-style: normal;
      font-size: 2.25rem;
      line-height: 1.7;
      color: #0D244A;
      line-height: 0.8;
      margin-top: clamp(25px, 4vw, 40px); }
      #footer .infoBox .reserveItem .telWord a {
        color: #0D244A;
        padding: 0.4em 0 0.2em 0;
        display: block; }
      #footer .infoBox .reserveItem .telWord span {
        font-size: 1.625rem;
        line-height: 1.7; }
    #footer .infoBox .reserveItem .btnReserve {
      margin-top: clamp(15px, 2vw, 20px);
      font-family: "Noto Serif JP", serif;
      font-weight: 600; }
      #footer .infoBox .reserveItem .btnReserve a {
        background-color: #998E73;
        font-size: 1.375rem;
        line-height: 1.7;
        color: #FFF;
        padding: 0.4em 0.2em;
        width: 100%;
        height: 100%;
        display: block;
        text-align: center;
        position: relative; }
    @media screen and (min-width: 1216px) {
      #footer .infoBox .reserveItem {
        display: grid;
        grid-template-columns: 1fr 200px;
        gap: 15px 0px; }
        #footer .infoBox .reserveItem .telWord {
          margin-top: 0; }
        #footer .infoBox .reserveItem .btnReserve {
          margin-top: 0; }
          #footer .infoBox .reserveItem .btnReserve a {
            font-size: 1.125rem;
            line-height: 1.7; }
            #footer .infoBox .reserveItem .btnReserve a span {
              display: block;
              position: absolute;
              top: 50%;
              left: 50%;
              transform: translate(-50%, -50%);
              width: 100%; } }
  #footer .infoBox .tsItem {
    margin-top: clamp(25px, 4vw, 40px); }
    #footer .infoBox .tsItem p {
      margin-top: 0.8em; }
  #footer .mapBox {
    min-height: 200px;
    position: relative; }
    #footer .mapBox iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
  #footer .calenderBox .calenderTit {
    font-family: "Noto Serif JP", serif;
    font-weight: 600;
    font-size: clamp(0.9375rem, 1.8vw, 1.125rem);
    line-height: 1.8;
    color: #0D244A;
    text-align: center; }
  @media screen and (min-width: 769px) {
    #footer {
      /*.infoBox{
          grid-area: 1 / 1 / 2 / 2; 
      }
      .mapBox{
          grid-area: 1 / 2 / 2 / 3;
      }
      .calenderBox{
          grid-area: 2 / 1 / 3 / 3;
          @include spacing("XS", "top", "padding");
          .calenderTit{
              text-align: left;
          }
      } */ }
      #footer .footerInner {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        /*grid-template-rows: repeat(2, 1fr);*/ } }

#footer .siteMapItem h3 {
  border-top: 1px solid #98A3B5;
  padding: 0.5em 0; }
#footer .siteMapItem > ul {
  margin-bottom: 0.5em;
  margin-left: 1em; }
  #footer .siteMapItem > ul ul {
    margin-left: 1em; }
#footer .siteMapItem a {
  position: relative;
  display: block;
  padding-left: 13px; }
  #footer .siteMapItem a:after {
    transform-origin: center center;
    text-align: center;
    width: 10px;
    height: 10px;
    top: 0;
    bottom: 0;
    left: 0;
    position: absolute;
    font-size: 0.625rem;
    line-height: 1;
    margin: auto;
    transition: transform 0.2s ease-in-out;
    content: "\e15b";
    font-family: 'Material Symbols Sharp';
    font-variation-settings: 'FILL' 0, 'wght' 500, 'GRAD' 0, 'opsz' 40;
    display: block; }
#footer .copyRightItem {
  text-align: center;
  font-size: 0.875rem;
  line-height: 1.7;
  margin-top: 2em;
  grid-column: 1 / -1; }
@media screen and (min-width: 769px) {
  #footer .siteMapItem h3 {
    border-top: none;
    padding: 0 0; } }
@media screen and (min-width: 1024px) {
  #footer .copyRightItem {
    text-align: right;
    margin: 0px auto;
    grid-column: auto;
    position: relative;
    align-self: end; } }
#footer .footerInner2 {
  margin: 0 auto;
  max-width: 1310px;
  padding: 0px 15px;
  margin-top: clamp(40px, 6vw, 60px); }
  @media screen and (min-width: 769px) {
    #footer .footerInner2 {
      display: grid;
      gap: clamp(20px, 3vw, 40px) clamp(30px, 5vw, 60px);
      grid-template-columns: repeat(3, 1fr); } }
  @media screen and (min-width: 1024px) {
    #footer .footerInner2 {
      margin-top: 0;
      grid-template-columns: 2.6fr 2.6fr 2.6fr 2.2fr;
      max-width: 1400px;
      padding: 0px 60px;
      padding-top: clamp(40px, 6vw, 60px); } }

#footer2 {
  width: 100%;
  background: #EEF0F3;
  padding-left: 15px;
  padding-right: 15px; }
  #footer2 #siteMapWrap {
    margin: 0 auto 0px auto;
    max-width: 1310px;
    width: 100%;
    display: grid;
    color: #998E73; }
    #footer2 #siteMapWrap .siteMapColumn {
      width: 100%; }
    @media (hover: hover) and (pointer: fine) {
      #footer2 #siteMapWrap a {
        transition: opacity .3s ease; }
        #footer2 #siteMapWrap a:hover {
          opacity: 0.8 !important; } }
    #footer2 #siteMapWrap ul.childMenuList {
      margin-top: 0em;
      margin-left: 1.5em;
      font-size: 1rem;
      line-height: 1.7; }
      #footer2 #siteMapWrap ul.childMenuList a {
        padding: 0.2em 0 0.2em 1em;
        display: block;
        position: relative; }
        #footer2 #siteMapWrap ul.childMenuList a::after {
          content: '';
          height: 1px;
          width: 0.6em;
          position: absolute;
          left: 0;
          top: 1em; }
      #footer2 #siteMapWrap ul.childMenuList.childMenuList2 {
        margin-top: 0em; }
    #footer2 #siteMapWrap h3 {
      font-weight: 500;
      font-size: clamp(1rem, 1.8vw, 1.125rem);
      display: block;
      border-top: 1px solid #98A3B5;
      padding: 1em 0em 0em 1em;
      margin-top: 2em;
      color: #0D244A; }
      #footer2 #siteMapWrap h3 a {
        padding: 1em 1.5em 1em 1em;
        position: relative;
        display: block; }
        #footer2 #siteMapWrap h3 a::after {
          content: "\e5cc";
          font-family: 'Material Symbols Rounded';
          text-align: center;
          position: absolute;
          right: 10px;
          top: 50%;
          transform: translateY(-50%);
          font-weight: 300; }
  @media screen and (min-width: 769px) {
    #footer2 #siteMapWrap {
      grid-template-columns: repeat(4, 1fr);
      gap: 30px;
      border-top: 1px solid #98A3B5;
      padding-top: 40px;
      border-bottom: none; }
      #footer2 #siteMapWrap ul.childMenuList {
        margin-left: 0; }
        #footer2 #siteMapWrap ul.childMenuList.childMenuList2 {
          margin-top: 1.5em; }
      #footer2 #siteMapWrap h3 {
        border-top: none;
        margin: 0em;
        padding: 0; }
        #footer2 #siteMapWrap h3 span {
          padding: 0 1.5em 0 0; }
        #footer2 #siteMapWrap h3 a {
          padding: 0 1.5em 0 0; }
          #footer2 #siteMapWrap h3 a::after {
            content: ""; } }
  #footer2 p.copyRight {
    font-size: 0.875rem;
    line-height: 1.7;
    text-align: center;
    padding: 3em 0 5em 0; }
    @media screen and (min-width: 1024px) {
      #footer2 p.copyRight {
        padding: 3em 0 2em 0; } }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■
■■　★★★_外部ライブラリ＆プラグイン
■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
*/
/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_PHOTOSWIPE
*/
.pswp__custom-caption {
  background: rgba(0, 0, 0, 0.7);
  color: #cccccc;
  border-radius: 0px;
  bottom: 0px;
  font-size: 14px;
  left: 50%;
  max-width: 100%;
  padding: 5px 8px;
  position: absolute;
  transform: translateX(-50%);
  width: 100%; }
  @media screen and (min-width: 769px) {
    .pswp__custom-caption {
      font-size: 16px; } }
  .pswp__custom-caption a {
    color: #fff;
    text-decoration: underline; }

.hidden-caption-content {
  display: none; }

.pswp--open .pswp__zoom-wrap {
  animation: photoSwaipefadeInAnimation 0.3s ease; }

@keyframes photoSwaipefadeInAnimation {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_SWIPER
*/
:root {
  --easing: cubic-bezier(.2, 1, .2, 1);
  --transition: .8s var(--easing); }

[class*=swiper]:focus {
  outline: none; }

/*枠組みの指定*/
.ptn-slide1 {
  position: relative;
  max-width: 1540px;
  margin: 0px auto;
  padding: 0px;
  /*はみ出ているスライドの透明&ポインター無効*/
  /*前のスライド / 次のスライドがないときに付くクラス名*/ }
  .ptn-slide1 .swiper {
    padding: 0px 40px; }
  .ptn-slide1 .swiperInner {
    transition: var(--transition); }
  .ptn-slide1 .swiper-slide:not(.swiper-slide-visible) .swiperInner {
    pointer-events: none;
    opacity: .3; }
  .ptn-slide1 .swiper-button-disabled {
    pointer-events: none;
    opacity: 0; }
  @media screen and (min-width: 769px) {
    .ptn-slide1 .swiper {
      padding: 0px 40px; } }
  @media screen and (min-width: 1024px) {
    .ptn-slide1 .swiper {
      padding: 0px 80px; } }
  @media screen and (min-width: 1216px) {
    .ptn-slide1 {
      padding: 0px 40px; } }

/*photo関連の指定*/
.ptn-slide1 .photoItem {
  position: relative; }
  .ptn-slide1 .photoItem span {
    display: block;
    position: relative;
    overflow: hidden;
    padding-top: 60%; }
  .ptn-slide1 .photoItem img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--transition); }
  .ptn-slide1 .photoItem::after {
    transition: .3s ease;
    display: block;
    content: '';
    width: 100%;
    height: 100%;
    background-color: rgba(58, 117, 187, 0.1);
    position: absolute;
    inset: 0;
    z-index: 120; }
.ptn-slide1 .swiper-wrapper li.swiper-slide a:hover .photoItem::after {
  background-color: rgba(153, 142, 115, 0); }

/*word関連の指定*/
.ptn-slide1 .slideTitle {
  margin: 0.8em 0px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  padding: 0px 0%;
  color: #FFF;
  font-size: clamp(0.75rem, 1.4vw, 0.875rem);
  text-align: left; }

/*ナビゲーション関連の指定1*/
.ptn-slide1 .swiper-button-prev, .ptn-slide1 .swiper-button-next {
  display: none; }
@media screen and (min-width: 1024px) {
  .ptn-slide1 {
    /*初回のピクつきを制御*/ }
    .ptn-slide1 .swiper-button-prev, .ptn-slide1 .swiper-button-next {
      display: grid;
      place-content: center;
      width: 50px;
      height: 50px;
      cursor: pointer;
      transition: var(--transition); }
    .ptn-slide1 .swiper-button-prev.no-transition {
      transition: none !important; }
    .ptn-slide1 .swiper-button-prev::before, .ptn-slide1 .swiper-button-next::before {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      content: "";
      border-radius: 50%;
      background-color: rgba(238, 240, 243, 0.6);
      transition: .3s ease; }
    .ptn-slide1 .swiper-button-prev:hover::before, .ptn-slide1 .swiper-button-next:hover::before {
      background-color: rgba(238, 240, 243, 0.9); }
    .ptn-slide1 .swiper-button-prev, .ptn-slide1 .swiper-button-next {
      position: absolute;
      z-index: 1;
      top: 25%;
      margin: auto; }
    .ptn-slide1 .swiper-button-prev {
      left: 5px; }
    .ptn-slide1 .swiper-button-next {
      right: 5px; }
    .ptn-slide1 .swiper-button-prev::after {
      width: 20x;
      height: 20px;
      content: "\e2ea";
      font-family: 'Material Symbols Sharp';
      display: block;
      text-align: center;
      position: absolute;
      top: 50%;
      left: 45%;
      transform: translateY(-50%) translateX(-45%);
      -webkit-transform: translateY(-50%) translateX(-50%);
      font-size: 1.25rem;
      line-height: 1; } }
    @media screen and (min-width: 1024px) and (min-width: 769px) {
      .ptn-slide1 .swiper-button-prev::after {
        width: 20x;
        height: 20px;
        font-size: 1.25rem;
        line-height: 1; } }
@media screen and (min-width: 1024px) {
    .ptn-slide1 .swiper-button-next::after {
      width: 20x;
      height: 20px;
      content: "\e5e1";
      font-family: 'Material Symbols Sharp';
      display: block;
      text-align: center;
      position: absolute;
      top: 50%;
      left: 55%;
      transform: translateY(-50%) translateX(-55%);
      -webkit-transform: translateY(-50%) translateX(-50%);
      font-size: 1.25rem;
      line-height: 1; } }
    @media screen and (min-width: 1024px) and (min-width: 769px) {
      .ptn-slide1 .swiper-button-next::after {
        width: 20x;
        height: 20px;
        font-size: 1.25rem;
        line-height: 1; } }

/*.sbi_photo{
    &::after {
        @include photoTone1;
    }
}*/
/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_xo-event-calendar
*/
.xo-event-calendar table.xo-month .month-header .calendar-caption {
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  color: #0D244A;
  font-size: 1.25rem;
  line-height: 1.7; }

.xo-event-calendar table.xo-month thead tr th {
  padding-top: 0.5em !important;
  padding-bottom: 0.5em !important;
  font-size: 1em;
  color: #0D244A;
  background-color: #EEF0F3;
  font-weight: 400; }
  .xo-event-calendar table.xo-month thead tr th.sunday, .xo-event-calendar table.xo-month thead tr th.saturday {
    color: #0D244A !important; }

.xo-event-calendar table.xo-month .month-dayname td div,
.xo-event-calendar table.xo-month .month-week {
  padding-top: 0.8em;
  color: #0D244A; }

.xo-event-calendar table.xo-month .month-dayname td div {
  text-align: center;
  font-size: 1em; }

/*.xo-event-calendar table.xo-month thead tr th{
    background-color: $glay1 !important;
}

.xo-event-calendar table.xo-month tbody tr td {
    background-color: $glay1 !important;
}*/
/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■
■■　★★★_PTN(パターン)化パーツ
■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
*/
/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_COlOR
*/
.ptn-colorBlue {
  color: #0D244A; }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_WRAP
*/
.ptn-bkWrapWhite {
  background-color: #FFF; }

.ptn-bkWrapGlay {
  background-color: #EEF0F3; }

.ptn-bkWrapGlay2 {
  background-color: rgba(238, 240, 243, 0.5); }

.ptn-bkWrapBlue {
  background-color: rgba(13, 36, 74, 0.9);
  position: relative; }
  .ptn-bkWrapBlue.bk1Ptn {
    background: #0D244A url(/module/img/tit/normal.jpg) center center/cover no-repeat; }
    .ptn-bkWrapBlue.bk1Ptn::after {
      display: block;
      content: '';
      width: 100%;
      height: 100%;
      background-color: rgba(13, 36, 74, 0.85);
      position: absolute;
      left: 0;
      top: 0; }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_COLUMN
*/
.ptn-column1 {
  margin: 0 auto;
  max-width: 1310px;
  padding-left: 15px;
  padding-right: 15px;
  padding-top: clamp(60px, 10vw, 100px);
  position: relative;
  z-index: 100; }
  .ptn-column1 > .columnAlpha {
    padding-bottom: clamp(50px, 8vw, 80px); }
  .ptn-column1 > .columnBeta {
    padding-bottom: clamp(60px, 10vw, 100px); }
  @media screen and (min-width: 1024px) {
    .ptn-column1 {
      max-width: 1400px;
      padding-left: 60px;
      padding-right: 60px;
      display: grid;
      grid-template-columns: 200px 1fr;
      grid-template-rows: auto; } }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_TITLE
*/
#titBox {
  text-align: center;
  position: relative;
  height: 200px;
  background: #FFF url(/module/img/tit/normal.jpg) center center/cover no-repeat; }
  #titBox::after {
    display: block;
    content: '';
    width: 100%;
    height: 100%;
    background-color: rgba(58, 117, 187, 0.5);
    position: absolute;
    left: 0;
    top: 0;
    z-index: 100; }
  #titBox .titBoxInner {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 40px;
    width: 100%;
    margin: 0px auto;
    z-index: 200; }
    #titBox .titBoxInner h1 {
      font-family: "Noto Serif JP", serif;
      font-weight: 600;
      text-align: center;
      font-size: clamp(1.625rem, 4vw, 2.5rem);
      line-height: 1.4;
      color: #FFF; }
  @media screen and (min-width: 1024px) {
    #titBox {
      height: 360px; }
      #titBox .titBoxInner {
        bottom: 80px; } }

body.hospital #titBox {
  background: #FFF url(/module/img/tit/hospital.jpg) center center/cover no-repeat; }

body.reservation #titBox {
  background: #FFF url(/module/img/tit/reservation.jpg) center center/cover no-repeat; }

.ptn-tit1 {
  text-align: center;
  position: relative;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  color: #0D244A;
  font-size: clamp(2rem, 4vw, 2.5rem);
  line-height: 1.5;
  letter-spacing: 0.1em;
  padding-top: clamp(30px, 4vw, 40px);
  z-index: 100; }
  .ptn-tit1::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url(/module/img/com/symbol-blue.svg) center top/clamp(30px, 4vw, 40px) no-repeat;
    opacity: 0.5;
    pointer-events: none; }
  .ptn-tit1.whitePtn {
    color: #FFF;
    z-index: 300; }
    .ptn-tit1.whitePtn::before {
      background-image: url(/module/img/com/symbol-white.svg); }
  @media screen and (min-width: 769px) {
    .ptn-tit1.leftPtn {
      padding-top: 0;
      text-align: left;
      padding-left: clamp(43px, 5.3vw, 53px); }
      .ptn-tit1.leftPtn::before {
        background-position: left center; } }
  @media screen and (min-width: 1024px) {
    .ptn-tit1.vertPtn {
      writing-mode: vertical-rl;
      padding-top: clamp(40px, 6vw, 60px);
      padding-bottom: 160px;
      position: relative;
      left: 30%;
      transform: translateX(-50%); }
      .ptn-tit1.vertPtn::after {
        content: "";
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        bottom: 0;
        width: 1px;
        height: 140px;
        background-color: #0D244A;
        opacity: 0.5; }
    .ptn-tit1.whitePtn.vertPtn::after {
      background-color: #FFF; } }

.ptn-tit1S {
  text-align: center;
  position: relative;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  color: #0D244A;
  font-size: clamp(1.5rem, 3vw, 1.875rem);
  line-height: 1.5;
  letter-spacing: 0.1em;
  padding-top: clamp(35px, 4.5vw, 45px);
  z-index: 100; }
  .ptn-tit1S::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url(/module/img/com/symbol-blue.svg) center top/clamp(30px, 4vw, 40px) no-repeat;
    opacity: 0.5;
    pointer-events: none; }
  @media screen and (min-width: 769px) {
    .ptn-tit1S.leftPtn {
      padding-top: 0;
      text-align: left;
      padding-left: clamp(43px, 5.3vw, 53px); }
      .ptn-tit1S.leftPtn::before {
        background-position: left center; } }

/*英語装飾表記など*/
.ptn-titWrap .ptn-decoWord1 {
  font-family: "Amiri", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 7.75rem;
  line-height: 1.7;
  font-size: clamp(5rem, 12.4vw, 7.75rem);
  color: #EEF0F3;
  line-height: 1.2;
  opacity: 0.5;
  z-index: 10;
  position: absolute;
  top: clamp(80px, 15vw, 150px);
  left: -10px;
  white-space: nowrap; }
  @media screen and (min-width: 1024px) {
    .ptn-titWrap .ptn-decoWord1 {
      left: -10px; } }
  .ptn-titWrap .ptn-decoWord1.whitePtn {
    color: #FFF; }
  .ptn-titWrap .ptn-decoWord1.white2Ptn {
    color: #FFF;
    opacity: 0.1; }
  .ptn-titWrap .ptn-decoWord1.topPtn {
    top: clamp(20px, 3vw, 30px); }

.ptn-tit2 {
  text-align: left;
  position: relative;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  color: #0D244A;
  font-size: clamp(1.5rem, 3vw, 1.875rem);
  line-height: 1.5;
  letter-spacing: 0.1em;
  z-index: 100;
  padding-left: 1.2em; }
  .ptn-tit2:before {
    width: 0.8em;
    height: 2px;
    display: block;
    position: absolute;
    left: 0;
    top: 0.8em;
    content: "";
    background: rgba(13, 36, 74, 0.3); }
  .ptn-tit2.sizeSPtn {
    font-size: clamp(1.125rem, 2.2vw, 1.375rem);
    line-height: 1.7; }

.ptn-tit3 {
  text-align: left;
  position: relative;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  color: #0D244A;
  font-size: clamp(1.25rem, 2.6vw, 1.625rem);
  line-height: 1.6;
  letter-spacing: 0.1em;
  z-index: 100;
  padding: 0.3em 0.5em 0.3em 1.2em;
  border-top: 1px solid #98A3B5;
  border-bottom: 1px solid #98A3B5; }
  .ptn-tit3:before {
    width: 0.8em;
    height: 2px;
    display: block;
    position: absolute;
    left: 0;
    top: 1.1em;
    content: "";
    background: rgba(13, 36, 74, 0.3); }
  .ptn-tit3.sizeSPtn {
    font-size: clamp(1.125rem, 2.2vw, 1.375rem);
    line-height: 1.7; }

/*原因1＆原因2*/
.ptn-tit4 {
  display: flex;
  align-items: flex-start;
  font-family: "Noto Serif JP", serif;
  font-weight: 600; }
  .ptn-tit4 .iconPtn {
    color: #fff;
    background: #0D244A;
    padding: 5px 10px;
    white-space: nowrap;
    margin-right: 0.5em;
    flex-shrink: 0;
    font-size: clamp(0.9375rem, 1.8vw, 1.125rem);
    line-height: 1.8; }
  .ptn-tit4 .wordPtn {
    min-width: 0;
    font-size: clamp(1.125rem, 2.2vw, 1.375rem);
    line-height: 1.7; }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_BTN
*/
.ptn-btn1 {
  margin: 2em 0; }
  .ptn-btn1 a, .ptn-btn1 span {
    max-width: 300px;
    width: 100%;
    display: block;
    padding: 0.3em 30px;
    position: relative;
    color: #0D244A;
    margin: 0px auto;
    border: 1px solid #0D244A;
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-weight: 600;
    font-size: clamp(1rem, 1.8vw, 1.125rem);
    background: url(/module/img/com/arrow-blue.svg) right 10px center/20px no-repeat; }
    @media (hover: hover) and (pointer: fine) {
      .ptn-btn1 a, .ptn-btn1 span {
        transition: opacity .3s ease; }
        .ptn-btn1 a:hover, .ptn-btn1 span:hover {
          opacity: 0.8 !important; } }
  .ptn-btn1.whitePtn a, .ptn-btn1.whitePtn span {
    color: #FFF;
    border: 1px solid #FFF;
    background: url(/module/img/com/arrow-white.svg) right 10px center/20px no-repeat; }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_section
*/
.ptn-section1 {
  margin-top: clamp(60px, 10vw, 100px);
  margin-bottom: clamp(60px, 10vw, 100px); }
  .ptn-section1 p {
    margin: 1em 0; }

.ptn-section2 {
  margin-top: clamp(40px, 6vw, 60px);
  margin-bottom: clamp(40px, 6vw, 60px); }
  .ptn-section2 p {
    margin: 1em 0; }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_LEAD
*/
/*文章のみシンプル*/
.ptn-lead1 {
  padding-bottom: 30px; }
  .ptn-lead1 h2 {
    font-family: "Noto Serif JP", serif;
    font-weight: 600;
    font-size: clamp(1.25rem, 2.6vw, 1.625rem);
    line-height: 1.6;
    color: #0D244A; }
  .ptn-lead1 p {
    margin: 1em 0; }

/*写真と文章セット*/
.ptn-lead2 {
  display: grid;
  gap: clamp(20px, 3vw, 40px) clamp(40px, 7vw, 80px); }
  .ptn-lead2 > .wordItem {
    order: 2; }
    .ptn-lead2 > .wordItem h2 {
      font-family: "Noto Serif JP", serif;
      font-weight: 600;
      font-size: clamp(1.25rem, 2.6vw, 1.625rem);
      line-height: 1.6;
      color: #0D244A; }
    .ptn-lead2 > .wordItem p {
      margin: 1em 0; }
  .ptn-lead2 > .photoItem {
    order: 1;
    max-width: 640px;
    margin: 0px auto; }
  @media screen and (min-width: 1024px) {
    .ptn-lead2 {
      grid-template-columns: 6fr 4fr; }
      .ptn-lead2 > .wordItem {
        order: 1; }
      .ptn-lead2 > .photoItem {
        order: 2; } }
  .ptn-lead2.padTopPtn {
    padding-top: clamp(25px, 4vw, 40px); }
    @media screen and (min-width: 1024px) {
      .ptn-lead2.padTopPtn > .wordItem {
        margin-top: -1em; } }

/*写真とタイトルと文章、3分類*/
.ptn-lead3 {
  display: grid;
  gap: clamp(20px, 3vw, 40px) clamp(40px, 7vw, 80px); }
  .ptn-lead3 > .titItem h2 {
    font-family: "Noto Serif JP", serif;
    font-weight: 600;
    font-size: clamp(1.25rem, 2.6vw, 1.625rem);
    line-height: 1.6;
    color: #0D244A; }
  .ptn-lead3 > .wordItem p {
    margin: 1em 0; }
  .ptn-lead3 > .photoItem {
    max-width: 640px;
    margin: 0px auto; }
  @media screen and (min-width: 1024px) {
    .ptn-lead3 {
      grid-template-columns: 6fr 4fr;
      grid-template-rows: auto 1fr;
      gap: clamp(0px, 0vw, 0px) clamp(40px, 7vw, 80px); }
      .ptn-lead3 > .titItem {
        grid-area: 1 / 1 / 2 / 2; }
      .ptn-lead3 > .wordItem {
        grid-area: 2 / 1 / 3 / 2; }
      .ptn-lead3 > .photoItem {
        grid-area: 1 / 2 / 3 / 3;
        align-self: stretch; } }
  .ptn-lead3.padTopPtn {
    padding-top: clamp(50px, 8vw, 80px); }

/*pタグ用*/
.ptn-pLead1 {
  margin: 1em 0;
  font-size: clamp(0.9375rem, 1.8vw, 1.125rem);
  line-height: 1.8; }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_LIST
*/
.ptn-pointList1 {
  font-size: clamp(1rem, 1.8vw, 1.125rem);
  border-top: 1px dashed #98A3B5;
  border-bottom: 1px dashed #98A3B5;
  font-weight: 500;
  padding: 10px; }
  .ptn-pointList1 li {
    position: relative;
    padding: 0.3em 0.3em 0.3em 1.5em;
    color: #0D244A; }
    .ptn-pointList1 li:before {
      content: "\e5ca";
      font-family: 'Material Symbols Sharp';
      left: 0;
      position: absolute;
      top: 0.5em;
      color: #1F3F7C; }
    .ptn-pointList1 li a:link {
      color: #333333;
      text-decoration: underline; }
    .ptn-pointList1 li a:visited {
      color: #333333;
      text-decoration: underline; }
    .ptn-pointList1 li a:hover {
      color: #333333;
      text-decoration: none; }

.ptn-pointList2 {
  border-top: 1px dashed #98A3B5;
  border-bottom: 1px dashed #98A3B5;
  font-weight: 500;
  padding: 10px; }
  .ptn-pointList2 li {
    position: relative;
    padding: 0.3em 0.3em 0.3em 1.5em; }
    .ptn-pointList2 li h3 {
      font-size: clamp(1rem, 1.8vw, 1.125rem);
      margin-top: 0;
      font-weight: 500;
      color: #0D244A; }
    .ptn-pointList2 li p {
      font-size: clamp(0.875rem, 1.4vw, 0.875rem);
      margin-top: 0;
      font-weight: 400; }
    .ptn-pointList2 li:before {
      content: "\e5ca";
      font-family: 'Material Symbols Sharp';
      left: 0;
      position: absolute;
      top: 0.5em;
      color: #1F3F7C; }

.ptn-numberList1 {
  font-size: clamp(1rem, 1.8vw, 1.125rem);
  border-top: 1px dashed #98A3B5;
  border-bottom: 1px dashed #98A3B5;
  font-weight: 500;
  padding: 10px;
  counter-reset: numberList; }
  .ptn-numberList1 li {
    position: relative;
    padding: 0.3em 0.3em 0.3em 2em;
    color: #0D244A;
    counter-increment: numberList; }
    .ptn-numberList1 li::before {
      content: counter(numberList);
      position: absolute;
      left: 0;
      top: 0.6em;
      width: 1.6em;
      height: 1.6em;
      line-height: 1.6em;
      background-color: #1F3F7C;
      color: #fff;
      text-align: center;
      border-radius: 50%;
      font-size: 0.8em;
      display: inline-block; }
  .ptn-numberList1.borderNonePtn {
    padding: 2em 0px;
    border-top: none;
    border-bottom: none; }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_FLOW
*/
.ptn-flowList1 {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: 10px;
  width: 100%; }
  .ptn-flowList1 > ul {
    position: relative;
    padding: 0;
    width: 100%; }
    .ptn-flowList1 > ul > li {
      list-style-type: none;
      position: relative; }
      .ptn-flowList1 > ul > li:not(:last-child) {
        margin-bottom: 60px; }
    .ptn-flowList1 > ul dl {
      padding-left: 30px;
      position: relative; }
      .ptn-flowList1 > ul dl::before, .ptn-flowList1 > ul dl::after {
        content: "";
        display: block;
        position: absolute;
        top: 15px; }
      .ptn-flowList1 > ul dl::before {
        width: 7px;
        height: 7px;
        margin-top: -3px;
        background: #0D244A;
        border-radius: 50%;
        left: -4px; }
      .ptn-flowList1 > ul dl::after {
        width: 20px;
        border-bottom: 1px dashed #999;
        position: absolute;
        left: 5px; }
      .ptn-flowList1 > ul dl dt {
        font-size: 1.3em;
        font-weight: 600;
        color: #0D244A;
        margin-bottom: 0.5em;
        display: flex;
        align-items: center;
        font-family: "Noto Serif JP", serif;
        font-weight: 600; }
        .ptn-flowList1 > ul dl dt span {
          font-size: 0.8em;
          width: 2em;
          height: 2em;
          line-height: 2;
          text-align: center;
          font-weight: bold;
          border-radius: 100vh;
          color: #fff;
          background: #0D244A;
          display: inline-block;
          margin-right: 0.3em; }
      .ptn-flowList1 > ul dl dd {
        margin-left: 0; }
        .ptn-flowList1 > ul dl dd > .photoItem {
          margin: 0px auto;
          padding: 10px 10px 0px 0px;
          text-align: center;
          max-width: 200px; }
          .ptn-flowList1 > ul dl dd > .photoItem img {
            width: 100%;
            height: auto;
            vertical-align: top; }
    .ptn-flowList1 > ul::before {
      content: "";
      width: 15px;
      height: 100%;
      background: #eee;
      margin-left: -129px;
      display: block;
      position: absolute;
      top: 0;
      left: 120px;
      border-radius: 20px; }
  @media screen and (min-width: 769px) {
    .ptn-flowList1 > ul dl {
      padding-left: 50px; }
      .ptn-flowList1 > ul dl::after {
        width: 30px; }
      .ptn-flowList1 > ul dl dd.photoPtn1 {
        display: grid;
        grid-template-columns: 150px 1fr;
        align-items: center; } }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_TABLE
*/
.ptn-table1 {
  width: 100%;
  border-left: 1px solid #98A3B5;
  border-right: 1px solid #98A3B5;
  border-bottom: 1px solid #98A3B5;
  /*thead{
      th{
          padding: 1em;
          border-top:1px solid $borderColor1;
          border-right: 1px solid $borderColor1;
          text-align:left;
          color:$baseColor1;
          font-weight: 500;
          background-color:rgba($glay1, 0.5);
      }
      td{
          padding: 1em;
          border-top:1px solid $borderColor1;
          text-align:left;
      }
  }*/ }
  .ptn-table1 tbody th, .ptn-table1 tbody td {
    display: block;
    width: 100%; }
  .ptn-table1 tbody th {
    padding: 0.5em 0.5em 0 0.5em;
    text-align: left;
    border-top: 1px solid #98A3B5;
    color: #0D244A;
    font-weight: 400;
    background-color: rgba(238, 240, 243, 0.5); }
  .ptn-table1 tbody td {
    padding: 0.2em 0.5em 0.5em 0.5em;
    vertical-align: middle; }
  @media screen and (min-width: 769px) {
    .ptn-table1 {
      border-bottom: 1px solid #98A3B5; }
      .ptn-table1 tbody th, .ptn-table1 tbody td {
        padding: 1em;
        display: table-cell;
        border-top: 1px solid #98A3B5; }
      .ptn-table1 tbody th {
        width: 30%;
        padding-right: 1em; }
      .ptn-table1 tbody td {
        padding-left: 1em; } }

 /*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_ACCORDION
*/
.accNaviPtn {
  background-color: #EEF0F3;
  position: relative;
  padding: 5px 40px 5px 20px;
  cursor: pointer;
  display: inline-block;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  color: #0D244A; }
  .accNaviPtn:after {
    transform-origin: center center;
    text-align: center;
    width: 16px;
    height: 16px;
    content: "\e5cf";
    font-family: 'Material Symbols Sharp';
    display: block;
    right: 10px;
    top: 0;
    bottom: 0;
    left: auto;
    position: absolute;
    margin: auto;
    transition: transform 0.2s ease-in-out;
    color: #000;
    font-size: 1rem;
    line-height: 1;
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 40;
    display: block; }
  .accNaviPtn.selected:after {
    transform: rotate(-180deg); }
  @media screen and (min-width: 1024px) {
    .accNaviPtn {
      display: none; } }

 /*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_ページ送り
*/
.pageNaviBox {
  display: flex;
  justify-content: center;
  align-items: center; }
  .pageNaviBox .btnPrev {
    width: 35px;
    height: 35px; }
    @media screen and (min-width: 480px) {
      .pageNaviBox .btnPrev {
        width: 50px;
        height: 50px; } }
    .pageNaviBox .btnPrev a {
      /*★ボタンの枠*/
      /*background-color:rgba($glay1,1);*/
      width: 35px;
      height: 35px;
      position: relative;
      display: block; }
      .pageNaviBox .btnPrev a::after {
        width: 20x;
        height: 20px;
        content: "\e2ea";
        font-family: 'Material Symbols Sharp';
        display: block;
        text-align: center;
        position: absolute;
        top: 50%;
        left: 45%;
        transform: translateY(-50%) translateX(-45%);
        -webkit-transform: translateY(-50%) translateX(-50%);
        font-size: 1.25rem;
        line-height: 1;
        color: #0D244A; }
      @media screen and (min-width: 480px) {
        .pageNaviBox .btnPrev a {
          width: 50px;
          height: 50px; }
          .pageNaviBox .btnPrev a::after {
            width: 20x;
            height: 20px;
            font-size: 1.25rem;
            line-height: 1; } }
      @media (hover: hover) and (pointer: fine) {
        .pageNaviBox .btnPrev a {
          transition: opacity .3s ease; }
          .pageNaviBox .btnPrev a:hover {
            opacity: 0.8 !important; } }
  .pageNaviBox .btnNext {
    width: 35px;
    height: 35px; }
    @media screen and (min-width: 480px) {
      .pageNaviBox .btnNext {
        width: 50px;
        height: 50px; } }
    .pageNaviBox .btnNext a {
      /*★ボタンの枠*/
      /*background-color:rgba($glay1,1);*/
      width: 35px;
      height: 35px;
      position: relative;
      display: block; }
      .pageNaviBox .btnNext a::after {
        width: 20x;
        height: 20px;
        content: "\e5e1";
        font-family: 'Material Symbols Sharp';
        display: block;
        text-align: center;
        position: absolute;
        top: 50%;
        left: 55%;
        transform: translateY(-50%) translateX(-45%);
        -webkit-transform: translateY(-50%) translateX(-50%);
        font-size: 1.25rem;
        line-height: 1;
        color: #0D244A; }
      @media screen and (min-width: 480px) {
        .pageNaviBox .btnNext a {
          width: 50px;
          height: 50px; }
          .pageNaviBox .btnNext a::after {
            width: 20x;
            height: 20px;
            font-size: 1.25rem;
            line-height: 1; } }
      @media (hover: hover) and (pointer: fine) {
        .pageNaviBox .btnNext a {
          transition: opacity .3s ease; }
          .pageNaviBox .btnNext a:hover {
            opacity: 0.8 !important; } }
  .pageNaviBox .btnNumber {
    font-size: 1.25rem;
    line-height: 1.7;
    display: flex;
    align-items: center;
    gap: 0px 5px; }
    .pageNaviBox .btnNumber a.page-numbers, .pageNaviBox .btnNumber .current {
      width: 35px;
      height: 35px;
      position: relative;
      display: block;
      display: flex;
      align-items: center;
      justify-content: center; }
    .pageNaviBox .btnNumber a.page-numbers:hover {
      background-color: rgba(13, 36, 74, 0.2); }
    .pageNaviBox .btnNumber .current {
      background: rgba(13, 36, 74, 0.2);
      border-color: rgba(13, 36, 74, 0.2); }
  @media screen and (min-width: 480px) {
    .pageNaviBox .btnNumber {
      gap: 0px 10px;
      font-size: 1.25rem;
      line-height: 1.7; }
      .pageNaviBox .btnNumber a.page-numbers, .pageNaviBox .btnNumber .current {
        width: 35px;
        height: 35px; } }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_初めての方へ(共通)
*/
.ptn-guideBox {
  padding-top: clamp(50px, 8vw, 80px);
  background: #FFF url(/module/img/home/bk-akashicity2.jpg) center center/cover no-repeat;
  position: relative;
  color: #FFF; }
  .ptn-guideBox::after {
    display: block;
    content: '';
    width: 100%;
    height: 100%;
    background-color: rgba(13, 36, 74, 0.8);
    position: absolute;
    left: 0;
    top: 0;
    z-index: 100; }
  .ptn-guideBox .guideBoxInner {
    margin: 0px auto;
    padding-inline: 15px;
    padding-bottom: clamp(40px, 6vw, 60px);
    max-width: 1310px;
    display: grid;
    align-items: center;
    grid-template-columns: 4.5fr 5.5fr;
    gap: clamp(10px, 1vw, 20px) clamp(10px, 1vw, 20px); }
    .ptn-guideBox .guideBoxInner > .wordItem {
      position: relative;
      z-index: 110;
      grid-area: 1 / 1 / 2 / 3; }
      .ptn-guideBox .guideBoxInner > .wordItem h1 {
        font-size: clamp(1rem, 1.8vw, 1.125rem);
        font-weight: 300;
        margin-top: 1em; }
    .ptn-guideBox .guideBoxInner > .photoItem {
      position: relative;
      z-index: 110;
      grid-area: 2 / 1 / 3 / 2;
      max-width: 320px;
      margin: 0px auto; }
      .ptn-guideBox .guideBoxInner > .photoItem img {
        width: 100%;
        height: auto;
        vertical-align: top; }
    .ptn-guideBox .guideBoxInner > .btnItem {
      position: relative;
      z-index: 110;
      grid-area: 2 / 2 / 3 / 3; }
      .ptn-guideBox .guideBoxInner > .btnItem ul {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        gap: clamp(20px, 3vw, 40px);
        font-family: "Noto Serif JP", serif;
        font-weight: 600;
        font-size: clamp(1rem, 1.6vw, 1.0625rem); }
        .ptn-guideBox .guideBoxInner > .btnItem ul li a {
          border: 1px solid #B5BCC7;
          width: 100%;
          color: #FFF;
          display: block;
          text-align: center;
          padding: 0.3em;
          background: url(/module/img/com/arrow-white.svg) right 10px center/20px no-repeat; }
  @media screen and (min-width: 769px) {
    .ptn-guideBox .guideBoxInner {
      grid-template-columns: 7.7fr 2.3fr;
      grid-template-rows: auto 1fr;
      align-items: end;
      gap: clamp(20px, 3vw, 40px) clamp(20px, 3vw, 40px); }
      .ptn-guideBox .guideBoxInner > .wordItem {
        grid-area: 1 / 1 / 2 / 2; }
      .ptn-guideBox .guideBoxInner > .photoItem {
        grid-area: 1 / 2 / 3 / 3; }
      .ptn-guideBox .guideBoxInner > .btnItem {
        height: 100%;
        grid-area: 2 / 1 / 3 / 2; }
        .ptn-guideBox .guideBoxInner > .btnItem ul {
          grid-template-columns: repeat(3, 1fr);
          gap: clamp(10px, 1vw, 20px); } }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_ピックアップリスト(共通)
*/
.ptn-pickupList {
  position: relative;
  z-index: 110;
  margin: 0px auto;
  padding-inline: 15px;
  padding-bottom: clamp(50px, 8vw, 80px);
  max-width: 1310px;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: clamp(20px, 3vw, 40px) clamp(10px, 1vw, 20px); }
  .ptn-pickupList li {
    background-color: rgba(26, 51, 91, 0.8); }
    .ptn-pickupList li a {
      display: grid;
      grid-template-columns: 120px 1fr;
      grid-template-rows: auto;
      align-items: start;
      color: #FFF;
      padding: 10px 40px 10px 10px;
      gap: 15px;
      background: url(/module/img/com/arrow-white.svg) right 10px center/20px no-repeat; }
      .ptn-pickupList li a .pickupPhoto {
        display: block;
        width: 120px;
        position: relative; }
        .ptn-pickupList li a .pickupPhoto::before {
          content: "";
          display: block;
          padding-top: 100%; }
        .ptn-pickupList li a .pickupPhoto::after {
          transition: .3s ease;
          display: block;
          content: '';
          width: 100%;
          height: 100%;
          background-color: rgba(58, 117, 187, 0.1);
          position: absolute;
          inset: 0;
          z-index: 120; }
        .ptn-pickupList li a .pickupPhoto.pickupPhoto1 {
          background: #FFF url(/module/img/com/pickup-d1.jpg) bottom center/cover no-repeat; }
        .ptn-pickupList li a .pickupPhoto.pickupPhoto2 {
          background: #FFF url(/module/img/com/pickup-d2-2.jpg) bottom center/cover no-repeat; }
      .ptn-pickupList li a .pickupWord {
        display: block; }
        .ptn-pickupList li a .pickupWord h3 {
          color: #FFF;
          font-family: "Noto Serif JP", serif;
          font-weight: 600;
          font-size: clamp(1rem, 3vw, 1.875rem);
          font-weight: 700;
          line-height: 1.4;
          padding: 0.5em 0;
          border-bottom: 1px solid rgba(255, 255, 255, 0.2); }
        .ptn-pickupList li a .pickupWord p {
          color: #FFF;
          font-size: clamp(0.75rem, 2vw, 1.25rem);
          line-height: 1.4;
          padding-top: 0.8em; }
        @media screen and (min-width: 769px) {
          .ptn-pickupList li a .pickupWord h3 {
            font-size: clamp(1rem, 1.8vw, 1.25rem); }
          .ptn-pickupList li a .pickupWord p {
            font-size: clamp(0.75rem, 1.4vw, 0.875rem); } }
  @media screen and (min-width: 769px) {
    .ptn-pickupList {
      grid-template-columns: repeat(2, 1fr); } }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_特徴(共通)
*/
ul.ptn-featureList {
  display: grid;
  gap: clamp(50px, 9vw, 100px); }
  ul.ptn-featureList > li {
    gap: clamp(40px, 7vw, 80px); }
    ul.ptn-featureList > li > .photoItem {
      position: relative;
      max-width: 640px;
      margin: 0px auto; }
      ul.ptn-featureList > li > .photoItem img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover; }
      ul.ptn-featureList > li > .photoItem::before {
        content: "";
        display: block;
        padding-top: 68%; }
      ul.ptn-featureList > li > .photoItem::after {
        transition: .3s ease;
        display: block;
        content: '';
        width: 100%;
        height: 100%;
        background-color: rgba(58, 117, 187, 0.1);
        position: absolute;
        inset: 0;
        z-index: 120; }
      ul.ptn-featureList > li > .photoItem .photoItemInner {
        display: block; }
        ul.ptn-featureList > li > .photoItem .photoItemInner::before {
          display: block;
          content: '';
          width: 100%;
          height: 100%;
          position: absolute;
          left: 10px;
          top: 10px;
          z-index: 0;
          border-right: 1px solid #98A3B5;
          border-bottom: 1px solid #98A3B5; }
    ul.ptn-featureList > li > .wordItem {
      position: relative;
      margin-top: clamp(60px, 10vw, 100px); }
      ul.ptn-featureList > li > .wordItem::before {
        content: "";
        position: absolute;
        top: -30px;
        left: -10px;
        background: url(/module/img/com/deco1-blue.svg) center center/cover no-repeat;
        opacity: 0.1;
        height: 90px;
        width: 90px; }
      ul.ptn-featureList > li > .wordItem > h2 {
        position: relative;
        font-family: "Noto Serif JP", serif;
        font-weight: 600;
        color: #0D244A;
        font-size: clamp(1.5rem, 3vw, 1.875rem);
        line-height: 1.5; }
      ul.ptn-featureList > li > .wordItem > p {
        margin-top: 1em; }
  @media screen and (min-width: 769px) {
    ul.ptn-featureList > li {
      display: grid;
      align-items: start;
      grid-template-columns: 5fr 5fr; }
      ul.ptn-featureList > li > .photoItem {
        margin: initial; }
      ul.ptn-featureList > li > .wordItem {
        margin-top: 0; }
        ul.ptn-featureList > li > .wordItem::before {
          top: -40px;
          left: -15px;
          height: 120px;
          width: 120px; }
      ul.ptn-featureList > li:nth-child(odd) .photoItem {
        order: 1; }
      ul.ptn-featureList > li:nth-child(odd) .wordItem {
        order: 2; }
      ul.ptn-featureList > li:nth-child(even) .photoItem {
        order: 2; }
      ul.ptn-featureList > li:nth-child(even) .wordItem {
        order: 1; }
    ul.ptn-featureList.ptn-featureListEven > li:nth-child(odd) .photoItem {
      order: 2; }
    ul.ptn-featureList.ptn-featureListEven > li:nth-child(odd) .wordItem {
      order: 1; }
    ul.ptn-featureList.ptn-featureListEven > li:nth-child(even) .photoItem {
      order: 1; }
    ul.ptn-featureList.ptn-featureListEven > li:nth-child(even) .wordItem {
      order: 2; } }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_診療案内(共通)
*/
ul.ptn-medicalList {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(30px, 5vw, 60px) clamp(30px, 5vw, 60px); }
  @media screen and (min-width: 769px) {
    ul.ptn-medicalList {
      grid-template-columns: repeat(2, 1fr);
      gap: clamp(30px, 5vw, 60px) clamp(30px, 5vw, 60px); } }
  ul.ptn-medicalList > li > a {
    display: block;
    color: #FFF;
    position: relative;
    min-height: 120px;
    padding-left: 140px; }
    ul.ptn-medicalList > li > a::before {
      content: "";
      position: absolute;
      opacity: 1;
      height: 120px;
      width: 120px;
      left: 0;
      top: 0;
      background: #346299;
      background: linear-gradient(140deg, #346299 0%, #1a314d 100%);
      clip-path: circle(60px at center); }
    ul.ptn-medicalList > li > a::after {
      content: "";
      position: absolute;
      height: 120px;
      width: 120px;
      left: 0;
      top: 0; }
    ul.ptn-medicalList > li > a h2 {
      font-family: "Noto Serif JP", serif;
      font-weight: 600;
      font-size: clamp(1.25rem, 2.6vw, 1.625rem);
      line-height: 1.6; }
    @media (hover: hover) and (pointer: fine) {
      ul.ptn-medicalList > li > a {
        transition: opacity .3s ease; }
        ul.ptn-medicalList > li > a:hover {
          opacity: 0.8 !important; } }
  ul.ptn-medicalList > li.medMushiba > a::after {
    background: url(/module/img/com/icon-mushiba.svg) center center/40% no-repeat; }
  ul.ptn-medicalList > li.medShisyubyo > a::after {
    background: url(/module/img/com/icon-shisyubyo.svg) center center/50% no-repeat; }
  ul.ptn-medicalList > li.medKyousei > a::after {
    background: url(/module/img/com/icon-kyousei.svg) center center/58% no-repeat; }
  ul.ptn-medicalList > li.medImplant > a::after {
    background: url(/module/img/com/icon-implant.svg) center center/40% no-repeat; }
  ul.ptn-medicalList > li.medShinbi > a::after {
    background: url(/module/img/com/icon-shinbi.svg) center 40%/50% no-repeat; }
  ul.ptn-medicalList > li.medKougousaikousei > a::after {
    background: url(/module/img/com/icon-kougousaikousei.svg) center center/50% no-repeat; }
  ul.ptn-medicalList > li.medYoboushika > a::after {
    background: url(/module/img/com/icon-yoboushika.svg) center center/50% no-repeat; }
  ul.ptn-medicalList > li.medSaiseiiryo > a::after {
    background: url(/module/img/com/icon-saiseiiryo.svg) center center/55% no-repeat; }
  ul.ptn-medicalList > li.medWhitening > a::after {
    background: url(/module/img/com/icon-whitening.svg) center 40%/50% no-repeat; }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_年齢別・矯正の特徴(共通)
*/
.ptn-ageBox {
  width: 100%;
  margin: 0 auto;
  max-width: 640px;
  padding: 0px 15px;
  padding-top: clamp(60px, 10vw, 100px);
  padding-bottom: clamp(60px, 10vw, 100px); }
  @media screen and (min-width: 1024px) {
    .ptn-ageBox {
      max-width: 1400px;
      padding-left: 60px;
      padding-right: 60px; } }
  .ptn-ageBox .bannerInvisalign {
    margin-top: clamp(50px, 8vw, 80px); }
    .ptn-ageBox .bannerInvisalign img {
      width: 100%;
      height: auto;
      vertical-align: top; }
    @media (hover: hover) and (pointer: fine) {
      .ptn-ageBox .bannerInvisalign a {
        transition: opacity .3s ease; }
        .ptn-ageBox .bannerInvisalign a:hover {
          opacity: 0.8 !important; } }

ul.ptn-ageList {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(30px, 5vw, 60px) clamp(30px, 5vw, 60px);
  margin-top: clamp(40px, 6vw, 60px); }
  @media screen and (min-width: 1024px) {
    ul.ptn-ageList {
      grid-template-columns: repeat(3, 1fr);
      gap: clamp(20px, 3vw, 40px) clamp(20px, 3vw, 40px); } }
  ul.ptn-ageList > li > a {
    display: block;
    position: relative;
    text-align: center; }
    @media (hover: hover) and (pointer: fine) {
      ul.ptn-ageList > li > a {
        transition: opacity .3s ease; }
        ul.ptn-ageList > li > a:hover {
          opacity: 0.8 !important; } }
    ul.ptn-ageList > li > a div.photoItem {
      display: block;
      position: relative; }
      ul.ptn-ageList > li > a div.photoItem::after {
        transition: .3s ease;
        display: block;
        content: '';
        width: 100%;
        height: 100%;
        background-color: rgba(58, 117, 187, 0.1);
        position: absolute;
        inset: 0;
        z-index: 120; }
      ul.ptn-ageList > li > a div.photoItem .photoItemInner {
        display: block;
        position: relative; }
        ul.ptn-ageList > li > a div.photoItem .photoItemInner::before {
          display: block;
          content: '';
          width: 100%;
          height: 100%;
          position: absolute;
          left: 10px;
          top: 10px;
          z-index: 0;
          border-right: 1px solid #98A3B5;
          border-bottom: 1px solid #98A3B5; }
    ul.ptn-ageList > li > a div.wordItem {
      background: url(/module/img/com/arrow-blue.svg) right 0px center/20px no-repeat;
      display: block;
      padding: 0px 25px; }
      ul.ptn-ageList > li > a div.wordItem h2 {
        font-family: "Noto Serif JP", serif;
        font-weight: 600;
        font-size: clamp(1.25rem, 2.6vw, 1.625rem);
        line-height: 1.6;
        color: #0D244A;
        margin-top: 1em; }
      ul.ptn-ageList > li > a div.wordItem p {
        margin-top: 0.5em; }

.ptn-kyouseiSiteBox {
  width: 100%;
  margin: 0 auto;
  max-width: 640px;
  padding: 0px 15px;
  padding-bottom: clamp(60px, 10vw, 100px); }
  .ptn-kyouseiSiteBox h2 {
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-weight: 600;
    color: #0D244A;
    font-size: clamp(1.125rem, 2.2vw, 1.375rem);
    line-height: 1.7;
    padding-bottom: 20px; }
  @media screen and (min-width: 1024px) {
    .ptn-kyouseiSiteBox {
      max-width: 1400px;
      padding-left: 60px;
      padding-right: 60px; } }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_活動報告(共通)
*/
.ptn-activityBox {
  width: 100%;
  margin: 0 auto;
  padding: 0px 0;
  padding-top: clamp(60px, 10vw, 100px);
  padding-bottom: clamp(60px, 10vw, 100px); }
  .ptn-activityBox .ptn-slide1 {
    padding-top: clamp(25px, 4vw, 40px);
    padding-bottom: clamp(40px, 6vw, 60px); }

.ptn-instaList {
  margin: 0 auto;
  max-width: 1310px;
  padding: 0px 15px;
  padding-top: clamp(25px, 4vw, 40px); }
  @media screen and (min-width: 1024px) {
    .ptn-instaList {
      max-width: 1400px;
      padding: 0px 60px;
      padding-top: clamp(25px, 4vw, 40px); } }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_フローリスト(主に、初めての方へ)
*/
.ptn-flowList {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(20px, 3vw, 40px) clamp(50px, 9vw, 100px);
  margin-top: clamp(50px, 8vw, 80px);
  padding-bottom: clamp(50px, 8vw, 80px); }
  .ptn-flowList li {
    display: grid;
    position: relative;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    gap: clamp(40px, 7vw, 80px) clamp(20px, 3vw, 40px);
    padding-bottom: clamp(50px, 8vw, 80px); }
    .ptn-flowList li .wordItem {
      order: 2; }
      .ptn-flowList li .wordItem h3 {
        font-family: "Noto Serif JP", serif;
        font-weight: 600;
        color: #0D244A;
        font-size: clamp(1.5rem, 3vw, 1.875rem);
        line-height: 1.5; }
        .ptn-flowList li .wordItem h3 span {
          font-family: "Amiri", serif;
          font-weight: 400;
          font-style: normal;
          font-size: clamp(0.9375rem, 1.8vw, 1.125rem);
          line-height: 1.8;
          border: 1px solid #0D244A;
          padding: 0 0.3em;
          margin-right: 0.5em;
          line-height: 1 !important;
          vertical-align: middle; }
      .ptn-flowList li .wordItem p {
        margin-top: 1em;
        margin-bottom: 1em; }
    .ptn-flowList li .photoItem {
      order: 1; }
    .ptn-flowList li:after {
      content: "";
      position: absolute;
      bottom: 10px;
      /* 三角形を要素の下に配置 */
      left: 50%;
      transform: translateX(-50%);
      width: 60px;
      height: 20px;
      background-color: #D0D6DF;
      clip-path: polygon(50% 100%, 0% 0%, 100% 0%); }
    .ptn-flowList li:last-child:after {
      content: none; }
  @media screen and (min-width: 769px) {
    .ptn-flowList li {
      /*grid-template-columns: repeat(2, 1fr);*/
      grid-template-columns: 6fr 4fr;
      /*grid-auto-rows: min-content;*/
      gap: clamp(10px, 1vw, 20px) clamp(30px, 5vw, 60px); }
      .ptn-flowList li .wordItem {
        order: 1; }
      .ptn-flowList li .photoItem {
        order: 2; } }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_ご予約について(共通)
*/
.ptn-reserveBox {
  padding-top: clamp(50px, 8vw, 80px);
  padding-bottom: clamp(60px, 10vw, 100px);
  color: #FFF;
  position: relative;
  z-index: 100;
  max-width: 960px;
  margin: 0px auto; }
  .ptn-reserveBox .leadWord {
    text-align: center;
    font-size: clamp(1rem, 1.8vw, 1.25rem); }
    .ptn-reserveBox .leadWord span {
      display: inline-block; }
  .ptn-reserveBox .reserveBtnList {
    margin-top: clamp(50px, 8vw, 80px);
    display: grid;
    gap: clamp(30px, 5vw, 60px) clamp(30px, 5vw, 60px);
    text-align: center; }
    .ptn-reserveBox .reserveBtnList li a {
      border: 1px solid #FFF;
      display: block;
      color: #FFF;
      min-height: 50px; }
    .ptn-reserveBox .reserveBtnList li.btnTel a {
      font-family: "Amiri", serif;
      font-weight: 400;
      font-style: normal;
      font-size: 1.875rem;
      line-height: 1.7;
      padding: 0.5em 0 0.5em 0;
      line-height: 0.8; }
      @media (hover: hover) and (pointer: fine) {
        .ptn-reserveBox .reserveBtnList li.btnTel a {
          transition: opacity .3s ease; }
          .ptn-reserveBox .reserveBtnList li.btnTel a:hover {
            opacity: 0.8 !important; } }
      .ptn-reserveBox .reserveBtnList li.btnTel a span {
        font-size: 1.375rem;
        line-height: 1.7;
        line-height: 0.8; }
    .ptn-reserveBox .reserveBtnList li.btnWebR a {
      font-family: "Noto Serif JP", serif;
      font-weight: 600;
      font-size: clamp(1.125rem, 1.8vw, 1.125rem);
      background: url(/module/img/com/arrow-white.svg) right 10px center/20px no-repeat;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #FFF;
      background-color: #998E73;
      border-color: #998E73; }
      @media (hover: hover) and (pointer: fine) {
        .ptn-reserveBox .reserveBtnList li.btnWebR a {
          transition: opacity .3s ease; }
          .ptn-reserveBox .reserveBtnList li.btnWebR a:hover {
            opacity: 0.8 !important; } }
    .ptn-reserveBox .reserveBtnList li p {
      margin-top: 0.5em;
      font-size: 0.875rem;
      line-height: 1.7; }
  .ptn-reserveBox ul.cautionList {
    margin-top: clamp(50px, 8vw, 80px); }
    .ptn-reserveBox ul.cautionList li {
      padding-left: 1.2em !important;
      text-indent: -1.2em !important;
      font-size: 0.875rem;
      line-height: 1.7; }
      .ptn-reserveBox ul.cautionList li::before {
        content: '※ '; }
  @media screen and (min-width: 769px) {
    .ptn-reserveBox .reserveBtnList {
      margin-top: clamp(25px, 4vw, 40px);
      gap: clamp(20px, 3vw, 40px) clamp(30px, 5vw, 60px);
      grid-template-columns: repeat(2, 1fr); }
    .ptn-reserveBox ul.cautionList {
      margin-top: clamp(25px, 4vw, 40px); } }

.ptn-reserveBox2 {
  padding-bottom: clamp(80px, 12vw, 120px);
  position: relative;
  z-index: 100;
  max-width: 960px;
  margin: 0px auto; }
  .ptn-reserveBox2 .leadWord {
    text-align: center;
    font-size: clamp(1rem, 1.8vw, 1.25rem); }
    .ptn-reserveBox2 .leadWord span {
      display: inline-block; }
  .ptn-reserveBox2 .reserveBtnList {
    margin-top: clamp(50px, 8vw, 80px);
    display: grid;
    gap: clamp(30px, 5vw, 60px) clamp(30px, 5vw, 60px);
    text-align: center; }
    .ptn-reserveBox2 .reserveBtnList li a {
      border: 1px solid #0D244A;
      display: block;
      color: #0D244A;
      min-height: 50px; }
    .ptn-reserveBox2 .reserveBtnList li.btnTel a {
      font-family: "Amiri", serif;
      font-weight: 400;
      font-style: normal;
      font-size: 1.875rem;
      line-height: 1.7;
      padding: 0.5em 0 0.5em 0;
      line-height: 0.8; }
      @media (hover: hover) and (pointer: fine) {
        .ptn-reserveBox2 .reserveBtnList li.btnTel a {
          transition: opacity .3s ease; }
          .ptn-reserveBox2 .reserveBtnList li.btnTel a:hover {
            opacity: 0.8 !important; } }
      .ptn-reserveBox2 .reserveBtnList li.btnTel a span {
        font-size: 1.375rem;
        line-height: 1.7;
        line-height: 0.8; }
    .ptn-reserveBox2 .reserveBtnList li.btnWebR a {
      font-family: "Noto Serif JP", serif;
      font-weight: 600;
      font-size: clamp(1.125rem, 1.8vw, 1.125rem);
      background: url(/module/img/com/arrow-white.svg) right 10px center/30px no-repeat;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #FFF;
      background-color: #998E73;
      border-color: #998E73; }
      @media (hover: hover) and (pointer: fine) {
        .ptn-reserveBox2 .reserveBtnList li.btnWebR a {
          transition: opacity .3s ease; }
          .ptn-reserveBox2 .reserveBtnList li.btnWebR a:hover {
            opacity: 0.8 !important; } }
    .ptn-reserveBox2 .reserveBtnList li p {
      margin-top: 0.5em;
      font-size: 0.875rem;
      line-height: 1.7; }
  .ptn-reserveBox2 ul.cautionList {
    margin-top: clamp(50px, 8vw, 80px); }
    .ptn-reserveBox2 ul.cautionList li {
      padding-left: 1.2em !important;
      text-indent: -1.2em !important;
      font-size: 0.875rem;
      line-height: 1.7; }
      .ptn-reserveBox2 ul.cautionList li::before {
        content: '※ '; }
  @media screen and (min-width: 769px) {
    .ptn-reserveBox2 .reserveBtnList {
      margin-top: clamp(25px, 4vw, 40px);
      gap: clamp(20px, 3vw, 40px) clamp(30px, 5vw, 60px);
      grid-template-columns: repeat(2, 1fr); }
    .ptn-reserveBox2 ul.cautionList {
      margin-top: clamp(25px, 4vw, 40px); } }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_よくあるご質問
*/
.faqBoxWrap {
  padding-bottom: 80px; }
  .faqBoxWrap .faqBox {
    border-bottom: 1px solid #98A3B5; }
    .faqBoxWrap .faqBox strong {
      font-weight: 700 !important; }
    .faqBoxWrap .faqBox .faqQItem {
      border-top: 1px solid #98A3B5;
      padding: 15px 50px;
      width: 100%;
      cursor: pointer;
      position: relative;
      font-size: 16px;
      font-weight: bold !important; }
      .faqBoxWrap .faqBox .faqQItem:after {
        opacity: 1;
        content: "";
        display: block;
        width: 8px;
        height: 8px;
        border-top: #1F3F7C 2px solid;
        border-right: #1F3F7C 2px solid;
        position: absolute;
        right: 20px;
        top: 45%;
        transform: translateY(-50%);
        transform: rotate(135deg); }
      .faqBoxWrap .faqBox .faqQItem.active:after {
        transform: rotate(-45deg); }
      .faqBoxWrap .faqBox .faqQItem:first-child {
        border-top: none; }
      .faqBoxWrap .faqBox .faqQItem span.iconQ {
        background-color: #1F3F7C;
        font-size: 20px;
        font-weight: 400;
        position: absolute;
        left: 10px;
        top: 15px;
        border-radius: 3px;
        color: #FFF;
        width: 30px;
        height: 30px;
        display: flex;
        justify-content: center;
        line-height: 0 !important;
        padding-top: 0.7em; }
    .faqBoxWrap .faqBox .faqAItem {
      margin: 0px 10px 30px 10px;
      background-color: #EEF0F3;
      position: relative; }
      .faqBoxWrap .faqBox .faqAItem .faqAItemInner {
        padding: 15px 15px 15px 40px;
        position: relative; }
        .faqBoxWrap .faqBox .faqAItem .faqAItemInner:before {
          content: "";
          position: absolute;
          top: -20px;
          left: 50px;
          border: 10px solid transparent;
          border-bottom: 10px solid #EEF0F3; }
      .faqBoxWrap .faqBox .faqAItem p {
        margin: 0px;
        padding: 0px; }
      .faqBoxWrap .faqBox .faqAItem ul.relationList {
        margin-top: 10px; }
        .faqBoxWrap .faqBox .faqAItem ul.relationList li {
          padding-bottom: 5px;
          padding-left: 0.5em;
          text-indent: -0.5em; }
          .faqBoxWrap .faqBox .faqAItem ul.relationList li a:link {
            text-decoration: underline; }
          .faqBoxWrap .faqBox .faqAItem ul.relationList li a:visited {
            text-decoration: underline; }
          .faqBoxWrap .faqBox .faqAItem ul.relationList li a:hover {
            opacity: 0.6;
            text-decoration: none; }
          .faqBoxWrap .faqBox .faqAItem ul.relationList li a:before {
            content: "\e5cc";
            font-family: Material Icons;
            margin-right: .25em;
            display: inline-block;
            text-decoration: none; }
    .faqBoxWrap .faqBox span.iconA {
      font-family: 'Cabin', sans-serif;
      font-weight: 400;
      color: #1F3F7C;
      font-size: 20px;
      font-weight: 500;
      position: absolute;
      left: 10px;
      top: 0.5em; }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■
■■　★★★_#content
■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
*/
#content {
  width: 100%;
  overflow: hidden;
  position: relative; }
  #content::before {
    display: block;
    content: '';
    width: 100%;
    height: 120px;
    background: linear-gradient(#253653, rgba(37, 54, 83, 0));
    position: absolute;
    left: 0;
    top: 0;
    z-index: 110; }
  @media screen and (min-width: 1024px) {
    #content::before {
      height: 240px; } }

#content .anchorLink {
  display: block;
  position: relative;
  top: 0px; }
  @media screen and (min-width: 1024px) {
    #content .anchorLink {
      top: -60px; } }

#content .contentInner {
  margin: 0 auto;
  max-width: 1310px;
  padding: 0px 15px;
  position: relative; }
  @media screen and (min-width: 1024px) {
    #content .contentInner {
      max-width: 1400px;
      padding: 0px 60px; } }
  #content .contentInner.padTopPtn {
    padding-top: clamp(60px, 10vw, 100px); }
  #content .contentInner.padBotPtn {
    padding-bottom: clamp(60px, 10vw, 100px); }

#content .contentInner2 {
  margin: 0 auto;
  max-width: 1150px;
  padding: 0px 15px;
  position: relative; }
  @media screen and (min-width: 1024px) {
    #content .contentInner2 {
      max-width: 1240px;
      padding: 0px 60px; } }
  #content .contentInner2.padTopPtn {
    padding-top: clamp(60px, 10vw, 100px); }
  #content .contentInner2.padBotPtn {
    padding-bottom: clamp(60px, 10vw, 100px); }

#content .contentInner3 {
  margin: 0 auto;
  max-width: 990px;
  padding: 0px 15px; }
  @media screen and (min-width: 1024px) {
    #content .contentInner3 {
      max-width: 1080px;
      padding: 0px 60px; } }

.box404Wrap {
  text-align: center;
  padding-top: clamp(60px, 10vw, 100px);
  padding-bottom: clamp(60px, 10vw, 100px); }
  .box404Wrap p {
    font-size: clamp(1rem, 1.6vw, 1rem);
    font-weight: 400;
    line-height: 1.6; }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_body.home #content
*/
body.home #content #mainSlide {
  position: relative; }
  body.home #content #mainSlide::after {
    display: block;
    content: '';
    width: 100%;
    height: 100%;
    background-color: rgba(58, 117, 187, 0.2);
    position: absolute;
    left: 0;
    top: 0;
    z-index: 100; }
  body.home #content #mainSlide .wordWrap {
    z-index: 200;
    position: static; }
  body.home #content #mainSlide .catchItemWrap {
    padding: 0px 15px;
    z-index: 200;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%); }
    body.home #content #mainSlide .catchItemWrap p.catchItem {
      letter-spacing: 0.1em;
      color: #FFF;
      text-shadow: #1A335B 5px 0 10px;
      text-align: center;
      line-height: 1.2;
      font-size: clamp(1.625rem, 4vw, 2.5rem);
      font-family: "Noto Serif JP", serif;
      font-weight: 600; }
      body.home #content #mainSlide .catchItemWrap p.catchItem span {
        display: inline-block;
        font-size: clamp(1.375rem, 3vw, 2.25rem);
        padding: 0.4em 0px 0.3em 0px; }
        body.home #content #mainSlide .catchItemWrap p.catchItem span.txtBorder {
          border-bottom: 2px solid #FFF;
          font-size: clamp(1.75rem, 3.8vw, 2.875rem);
          padding: 0.2em 0px 0.3em 0px; }
      @media screen and (min-width: 769px) {
        body.home #content #mainSlide .catchItemWrap p.catchItem span {
          font-size: clamp(2rem, 3.2vw, 2.25rem); }
          body.home #content #mainSlide .catchItemWrap p.catchItem span.txtBorder {
            font-size: clamp(2.5rem, 4vw, 2.875rem); } }
    body.home #content #mainSlide .catchItemWrap p.leadItem {
      color: #FFF;
      text-align: center;
      margin: 1.5em 0 0 0;
      font-size: clamp(0.875rem, 1.4vw, 1rem);
      text-shadow: #3A75BB 5px 0 10px;
      letter-spacing: 0.1em; }
      body.home #content #mainSlide .catchItemWrap p.leadItem span {
        display: inline-block; }
      @media screen and (min-width: 769px) {
        body.home #content #mainSlide .catchItemWrap p.leadItem {
          margin: 2em 0 0 0; } }
  body.home #content #mainSlide .newsBox {
    z-index: 200;
    background-color: rgba(255, 255, 255, 0.8);
    position: absolute;
    left: 0;
    bottom: 0;
    font-size: 0.9375rem;
    line-height: 1.7; }
    body.home #content #mainSlide .newsBox .dayWord {
      font-size: 0.875rem;
      line-height: 1.7; }
    body.home #content #mainSlide .newsBox a {
      display: grid;
      grid-template-columns: 85px 1fr;
      padding: 8px 30px 8px 15px;
      grid-template-rows: auto;
      background: url(/module/img/com/arrow-blue.svg) right 10px center/15px no-repeat;
      line-height: 1.5; }
    @media screen and (min-width: 769px) {
      body.home #content #mainSlide .newsBox {
        left: auto;
        right: 0;
        bottom: 0; } }
  body.home #content #mainSlide .swiper-fade {
    /* フェードモード時 共通調整 */ }
    body.home #content #mainSlide .swiper-fade .swiper-slide {
      transition-property: opacity, transform !important;
      pointer-events: none; }
    body.home #content #mainSlide .swiper-fade .swiper-slide-active {
      pointer-events: auto; }
  body.home #content #mainSlide .swiper-slide[class*=-active] .slideMedia img {
    transition-delay: 0s;
    transform: scale(1.1); }
  body.home #content #mainSlide .swiperSlideInner .slideMedia {
    position: relative;
    width: 100%;
    margin: 0px auto;
    overflow: hidden;
    line-height: 0; }
    body.home #content #mainSlide .swiperSlideInner .slideMedia::before {
      content: "";
      display: block;
      padding-top: calc(100vh - clamp(60px, 7vw, 70px));
      padding-top: calc(100svh - clamp(60px, 7vw, 70px)); }
    body.home #content #mainSlide .swiperSlideInner .slideMedia img {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
      object-fit: cover;
      transition: 8s 1s ease-out; }
  @media screen and (min-width: 1024px) {
    body.home #content #mainSlide .swiperSlideInner .slideMedia {
      position: relative;
      width: 100%;
      margin: 0px auto;
      overflow: hidden;
      line-height: 0; }
      body.home #content #mainSlide .swiperSlideInner .slideMedia::before {
        padding-top: 100vh;
        padding-top: 100svh; } }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_body.guide #content
*/
body.guide #content .policyBox {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(40px, 7vw, 80px);
  padding-top: clamp(50px, 8vw, 80px);
  padding-bottom: clamp(60px, 10vw, 100px); }
  body.guide #content .policyBox .wordItem {
    order: 2; }
    body.guide #content .policyBox .wordItem h3 {
      font-family: "Noto Serif JP", serif;
      font-weight: 600;
      color: #0D244A;
      font-size: clamp(1.5rem, 3vw, 1.875rem);
      line-height: 1.5; }
    body.guide #content .policyBox .wordItem p {
      margin-top: 1em; }
  body.guide #content .policyBox .photoItem {
    order: 1;
    position: relative;
    max-width: 640px;
    margin: 0px auto; }
  @media screen and (min-width: 769px) {
    body.guide #content .policyBox {
      grid-template-columns: 6fr 4fr;
      gap: clamp(30px, 5vw, 60px); }
      body.guide #content .policyBox .wordItem {
        order: 1; }
      body.guide #content .policyBox .photoItem {
        order: 2; } }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_body.hospital #content
*/
body.hospital #content .leadItem {
  padding-top: clamp(50px, 8vw, 80px); }
  body.hospital #content .leadItem p {
    font-size: clamp(1.125rem, 2.2vw, 1.375rem);
    line-height: 1.7;
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-weight: 600;
    color: #0D244A; }
body.hospital #content ul.tourList {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: clamp(30px, 5vw, 60px);
  margin-top: clamp(40px, 6vw, 60px);
  padding-bottom: clamp(80px, 12vw, 120px); }
  body.hospital #content ul.tourList li .wordItem {
    padding-top: 25px; }
    body.hospital #content ul.tourList li .wordItem h3 {
      text-align: center;
      font-family: "Noto Serif JP", serif;
      font-weight: 600;
      color: #0D244A;
      font-size: clamp(1.25rem, 2.6vw, 1.625rem);
      line-height: 1.6; }
    body.hospital #content ul.tourList li .wordItem p {
      font-size: clamp(0.875rem, 1.6vw, 1rem);
      margin-top: 0.5em; }
  @media screen and (min-width: 560px) {
    body.hospital #content ul.tourList {
      grid-template-columns: repeat(2, 1fr); } }
  @media screen and (min-width: 769px) {
    body.hospital #content ul.tourList {
      gap: clamp(30px, 5vw, 60px) clamp(40px, 7vw, 80px); } }
body.hospital #content ul.eqpList {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(30px, 5vw, 60px);
  margin-top: clamp(80px, 12vw, 120px);
  padding-bottom: clamp(80px, 12vw, 120px); }
  body.hospital #content ul.eqpList li .wordItem {
    padding-top: 25px; }
    body.hospital #content ul.eqpList li .wordItem h3 {
      text-align: center;
      font-family: "Noto Serif JP", serif;
      font-weight: 600;
      color: #0D244A;
      font-size: clamp(1.25rem, 2.6vw, 1.625rem);
      line-height: 1.6; }
    body.hospital #content ul.eqpList li .wordItem p {
      font-size: clamp(0.875rem, 1.6vw, 1rem);
      margin-top: 0.5em; }
  @media screen and (min-width: 560px) {
    body.hospital #content ul.eqpList {
      grid-template-columns: repeat(2, 1fr); } }
  @media screen and (min-width: 769px) {
    body.hospital #content ul.eqpList {
      grid-template-columns: repeat(3, 1fr);
      gap: clamp(30px, 5vw, 60px) clamp(40px, 7vw, 80px); } }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_body.director #content
*/
/*院長からのメッセージ*/
body.director #content .messageBox {
  padding-top: clamp(60px, 10vw, 100px);
  padding-bottom: clamp(50px, 8vw, 80px); }
  body.director #content .messageBox .messageBoxInner {
    padding-top: clamp(40px, 6vw, 60px);
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(50px, 9vw, 100px); }
  body.director #content .messageBox .wordItem {
    order: 2; }
    body.director #content .messageBox .wordItem h3 {
      font-family: "Noto Serif JP", serif;
      font-weight: 600;
      color: #0D244A;
      font-size: clamp(1.25rem, 2.6vw, 1.625rem);
      line-height: 1.6; }
    body.director #content .messageBox .wordItem p {
      margin: 1em 0; }
  body.director #content .messageBox .photoItem {
    order: 1;
    position: relative;
    max-width: 640px;
    margin: 0px auto; }
    body.director #content .messageBox .photoItem .nameWord {
      text-align: center;
      font-family: "Noto Serif JP", serif;
      font-weight: 600;
      color: #0D244A;
      padding-top: clamp(25px, 4vw, 40px); }
      body.director #content .messageBox .photoItem .nameWord .jpName {
        font-weight: 600;
        font-size: clamp(1.75rem, 3vw, 1.875rem); }
        body.director #content .messageBox .photoItem .nameWord .jpName span {
          font-size: clamp(1.375rem, 2.4vw, 1.5rem); }
  @media screen and (min-width: 769px) {
    body.director #content .messageBox .messageBoxInner {
      grid-template-columns: 6fr 4fr;
      gap: clamp(30px, 5vw, 60px); }
    body.director #content .messageBox .wordItem {
      order: 1; }
    body.director #content .messageBox .photoItem {
      order: 2; }
      body.director #content .messageBox .photoItem .nameWord {
        padding-top: 30px; } }

/*院長プロフィール*/
body.director #content .dProfileWrap {
  padding-top: 1px;
  padding-bottom: clamp(60px, 10vw, 100px); }
  body.director #content .dProfileWrap .ptn-tit2 {
    margin-top: clamp(50px, 8vw, 80px); }
  body.director #content .dProfileWrap .dProfileBox {
    display: grid; }
    body.director #content .dProfileWrap .dProfileBox .dProfileItem h3 {
      font-family: "Noto Serif JP", serif;
      font-weight: 600;
      color: #0D244A;
      font-size: clamp(1.125rem, 2.2vw, 1.375rem);
      line-height: 1.7;
      margin-top: 1em;
      position: relative;
      margin-top: clamp(40px, 6vw, 60px); }
      body.director #content .dProfileWrap .dProfileBox .dProfileItem h3::before {
        content: "";
        position: absolute;
        top: -30px;
        left: -10px;
        background: url(/module/img/com/deco1-blue.svg) center center/cover no-repeat;
        opacity: 0.1;
        height: 80px;
        width: 80px; }
    body.director #content .dProfileWrap .dProfileBox .dProfileItem dl {
      display: flex;
      flex-wrap: wrap;
      width: 100%;
      margin-top: 10px; }
      body.director #content .dProfileWrap .dProfileBox .dProfileItem dl dt {
        width: 4em;
        padding-bottom: 5px; }
      body.director #content .dProfileWrap .dProfileBox .dProfileItem dl dd {
        width: calc(100% - 5em);
        padding-bottom: 5px; }
    body.director #content .dProfileWrap .dProfileBox .dProfileItem ul {
      margin-top: 10px; }
body.director #content .activityLead {
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  color: #0D244A;
  margin-top: 1em; }
body.director #content ul.activityList {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(30px, 5vw, 60px) clamp(30px, 5vw, 60px);
  margin-top: clamp(25px, 4vw, 40px); }
  body.director #content ul.activityList li {
    text-align: center; }
    body.director #content ul.activityList li .ptn-photo1 span {
      width: 100%;
      height: 100px; }
      body.director #content ul.activityList li .ptn-photo1 span::before {
        content: "";
        display: block;
        padding-top: 62%; }
      body.director #content ul.activityList li .ptn-photo1 span img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        z-index: 100; }
    body.director #content ul.activityList li p {
      text-align: left;
      font-size: 0.875rem;
      line-height: 1.7; }
    body.director #content ul.activityList li span.dateWord {
      color: #696969;
      text-align: left;
      font-size: 0.875rem;
      line-height: 1.7;
      display: block;
      margin-top: 20px; }
body.director #content ul.bookList {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(30px, 5vw, 60px) clamp(40px, 7vw, 80px);
  margin-top: clamp(25px, 4vw, 40px); }
  body.director #content ul.bookList li {
    text-align: center; }
    body.director #content ul.bookList li img {
      margin-bottom: 10px; }
    body.director #content ul.bookList li p {
      text-align: left;
      font-size: 0.875rem;
      line-height: 1.7; }
      body.director #content ul.bookList li p.dateWord {
        color: #696969; }
@media screen and (min-width: 560px) {
  body.director #content ul.bookList {
    grid-template-columns: repeat(3, 1fr); } }
@media screen and (min-width: 769px) {
  body.director #content ul.bookList {
    grid-template-columns: repeat(4, 1fr); } }
@media screen and (min-width: 1024px) {
  body.director #content .dProfileWrap .dProfileBox {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(30px, 5vw, 60px); }
  body.director #content ul.bookList {
    grid-template-columns: repeat(5, 1fr); }
  body.director #content ul.activityList {
    grid-template-columns: repeat(4, 1fr); } }

/*スタッフプロフィール*/
body.director #content .staffBox {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(30px, 5vw, 60px);
  margin-top: clamp(50px, 8vw, 80px);
  padding-bottom: clamp(60px, 10vw, 100px); }
  body.director #content .staffBox .wordItem {
    order: 2; }
    body.director #content .staffBox .wordItem .nameWord {
      font-family: "Noto Serif JP", serif;
      font-weight: 600;
      color: #0D244A;
      border-bottom: 1px solid #98A3B5;
      padding-bottom: 10px;
      margin-top: 20px; }
      body.director #content .staffBox .wordItem .nameWord .jobTitle {
        font-size: 1rem;
        line-height: 1.7; }
      body.director #content .staffBox .wordItem .nameWord h3 {
        font-weight: 600;
        font-size: clamp(1.75rem, 3vw, 1.875rem); }
        body.director #content .staffBox .wordItem .nameWord h3 span {
          font-size: 1rem;
          line-height: 1.7;
          padding-left: 1em;
          font-weight: 400; }
    body.director #content .staffBox .wordItem .messageWord {
      font-family: "Noto Serif JP", serif;
      font-weight: 600;
      color: #0D244A;
      font-size: clamp(1.125rem, 2.2vw, 1.375rem);
      line-height: 1.7;
      margin-top: 1.2em; }
    body.director #content .staffBox .wordItem h4 {
      margin-top: 1.5em;
      font-family: "Noto Serif JP", serif;
      font-weight: 600;
      color: #0D244A;
      font-size: clamp(0.9375rem, 1.8vw, 1.125rem);
      line-height: 1.8; }
    body.director #content .staffBox .wordItem dl {
      display: flex;
      flex-wrap: wrap;
      width: 100%;
      margin-top: 10px; }
      body.director #content .staffBox .wordItem dl dt {
        width: 4em;
        padding-bottom: 5px; }
      body.director #content .staffBox .wordItem dl dd {
        width: calc(100% - 5em);
        padding-bottom: 5px; }
    body.director #content .staffBox .wordItem ul {
      list-style: none;
      padding-left: 0; }
      body.director #content .staffBox .wordItem ul li {
        position: relative;
        padding-left: 1.3em; }
        body.director #content .staffBox .wordItem ul li::before {
          content: "・";
          position: absolute;
          left: 0;
          top: 0;
          font-size: 1.2em; }
  body.director #content .staffBox .photoItem {
    order: 1;
    position: relative;
    max-width: 640px;
    margin: 0px auto; }
  @media screen and (min-width: 769px) {
    body.director #content .staffBox {
      grid-template-columns: 6fr 4fr; }
      body.director #content .staffBox .wordItem {
        order: 1; }
      body.director #content .staffBox .photoItem {
        order: 2; } }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_body.activity-report　(基本、旧サイトのCSSを引継ぎ)
*/
/*共通*/
body.activity-report #content .activityItem {
  margin-top: clamp(25px, 4vw, 40px); }

/*ナビゲーション*/
body.activity-report #content .actNaviBox {
  width: 100%;
  text-align: left;
  margin-top: clamp(50px, 8vw, 80px);
  margin-bottom: clamp(40px, 6vw, 60px); }
  @media screen and (min-width: 1024px) {
    body.activity-report #content .actNaviBox {
      margin-bottom: 0px; } }
body.activity-report #content .actNavi {
  display: none; }
  body.activity-report #content .actNavi li {
    font-family: "Noto Serif JP", serif;
    font-weight: 600;
    border-top: 1px solid #98A3B5; }
    body.activity-report #content .actNavi li:last-child {
      border-bottom: 1px solid #98A3B5; }
    body.activity-report #content .actNavi li a {
      padding: 0.8em 0.3em;
      display: block; }
  @media screen and (min-width: 1024px) {
    body.activity-report #content .actNavi {
      display: flex !important;
      gap: 10px;
      flex-wrap: wrap;
      justify-content: flex-end; }
      body.activity-report #content .actNavi li {
        border: none !important; }
        body.activity-report #content .actNavi li a {
          background-color: #FFF;
          width: 100%;
          text-align: center;
          font-size: clamp(1rem, 1.7vw, 1.0625rem);
          padding: 0.2em 1em; }
          body.activity-report #content .actNavi li a:hover {
            background-color: #eef0f3;
            color: #0D244A !important;
            opacity: 1 !important; }
        body.activity-report #content .actNavi li.catOpen a {
          background-color: #eef0f3;
          color: #0D244A !important; } }

/*講演・セミナー活動*/
body.activity-report #content .activityItem ul.activityList {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(30px, 5vw, 60px) clamp(30px, 5vw, 60px);
  margin-top: clamp(25px, 4vw, 40px); }
  body.activity-report #content .activityItem ul.activityList li {
    text-align: center; }
    body.activity-report #content .activityItem ul.activityList li .ptn-photo1 span {
      width: 100%;
      height: 100px; }
      body.activity-report #content .activityItem ul.activityList li .ptn-photo1 span::before {
        content: "";
        display: block;
        padding-top: 62%; }
      body.activity-report #content .activityItem ul.activityList li .ptn-photo1 span img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        z-index: 100; }
    body.activity-report #content .activityItem ul.activityList li p {
      text-align: left;
      font-size: 0.875rem;
      line-height: 1.7;
      overflow: hidden;
      display: -webkit-box;
      text-overflow: ellipsis;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 3; }
    body.activity-report #content .activityItem ul.activityList li span.dateWord {
      color: #696969;
      text-align: left;
      font-size: 0.875rem;
      line-height: 1.7;
      display: block;
      margin-top: 20px; }
@media screen and (min-width: 769px) {
  body.activity-report #content .activityItem ul.activityList {
    grid-template-columns: repeat(3, 1fr); } }
@media screen and (min-width: 1024px) {
  body.activity-report #content .activityItem ul.activityList {
    grid-template-columns: repeat(4, 1fr); } }

/*執筆活動*/
body.activity-report #content ul.bookList {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(30px, 5vw, 60px) clamp(40px, 7vw, 80px);
  margin-top: clamp(25px, 4vw, 40px);
  margin-bottom: clamp(60px, 10vw, 100px); }
  body.activity-report #content ul.bookList li {
    text-align: center; }
    body.activity-report #content ul.bookList li img {
      margin-bottom: 10px; }
    body.activity-report #content ul.bookList li p {
      text-align: left;
      font-size: 0.875rem;
      line-height: 1.7; }
      body.activity-report #content ul.bookList li p.dateWord {
        color: #696969; }
@media screen and (min-width: 560px) {
  body.activity-report #content ul.bookList {
    grid-template-columns: repeat(3, 1fr); } }
@media screen and (min-width: 769px) {
  body.activity-report #content ul.bookList {
    grid-template-columns: repeat(4, 1fr); } }
@media screen and (min-width: 1024px) {
  body.activity-report #content ul.bookList {
    gap: clamp(30px, 5vw, 60px) clamp(20px, 3vw, 40px);
    grid-template-columns: repeat(6, 1fr); } }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_body.news　(基本、旧サイトのCSSを引継ぎ)
*/
body.news #content .newsBox {
  display: flex;
  justify-content: center;
  background-color: #FFF;
  flex-flow: column;
  margin: 0px auto;
  position: relative;
  padding-top: clamp(40px, 6vw, 60px);
  padding-bottom: clamp(50px, 8vw, 80px); }
  body.news #content .newsBox dl.newsList {
    flex: 1;
    width: 100%;
    float: none;
    margin-left: 0px;
    padding: 10px 0px; }
    body.news #content .newsBox dl.newsList dt {
      float: none;
      padding: 0px;
      margni: 0px;
      text-align: left;
      width: 100%; }
      body.news #content .newsBox dl.newsList dt span.day {
        display: inline-block;
        padding-right: 10px;
        color: #7D7D7D; }
    body.news #content .newsBox dl.newsList dd {
      padding: 0px 0px;
      margin: 0px;
      width: 100%;
      text-align: left; }
    body.news #content .newsBox dl.newsList a {
      position: relative;
      display: block;
      padding: 10px 30px 10px 5px;
      text-decoration: none;
      border-bottom: 1px solid #98A3B5; }
      body.news #content .newsBox dl.newsList a:first-child {
        border-top: 1px solid #98A3B5; }
      body.news #content .newsBox dl.newsList a:before {
        content: "\e5e1";
        font-family: 'Material Symbols Sharp';
        right: 0.5rem;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        color: #0D244A !important; }
  @media screen and (min-width: 1024px) {
    body.news #content .newsBox dl.newsList {
      width: 100%;
      box-sizing: border-box;
      position: relative; }
      body.news #content .newsBox dl.newsList a {
        display: block;
        border-bottom: 1px solid #98A3B5; }
        body.news #content .newsBox dl.newsList a:hover dd {
          opacity: 0.8; }
      body.news #content .newsBox dl.newsList dt {
        float: left;
        padding: 10px 0;
        width: 8em;
        text-align: left; }
      body.news #content .newsBox dl.newsList dd {
        padding: 10px 0 10px 8em;
        text-align: left; }
      body.news #content .newsBox dl.newsList a {
        padding-right: 50px; } }

body.news #content .newsSingleWrap,
body.activity-report #content .newsSingleWrap {
  margin: 0 auto;
  max-width: 1150px;
  padding-left: 15px;
  padding-right: 15px;
  padding-top: clamp(40px, 6vw, 60px);
  padding-bottom: clamp(50px, 8vw, 80px); }
  @media screen and (min-width: 1024px) {
    body.news #content .newsSingleWrap,
    body.activity-report #content .newsSingleWrap {
      max-width: 1240px;
      padding-left: 60px;
      padding-right: 60px; } }
body.news #content .newsSingleTit,
body.activity-report #content .newsSingleTit {
  font-size: clamp(1.25rem, 2.6vw, 1.625rem);
  line-height: 1.6;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  padding: 15px 0px;
  width: 100%;
  position: relative;
  border-bottom: 2px solid #98A3B5;
  color: #0D244A; }
body.news #content .newsSingleTit span,
body.activity-report #content .newsSingleTit span {
  display: block;
  padding: 0px 10px; }
body.news #content .postDay,
body.activity-report #content .postDay {
  text-align: right;
  padding-top: 10px; }
body.news #content .titSym4,
body.activity-report #content .titSym4 {
  margin-top: 40px; }

body.news #content #reportBox,
body.activity-report #content #reportBox {
  width: 100%;
  margin: 0px auto;
  padding: 20px 0px 40px 0px; }
  body.news #content #reportBox .photoSpace,
  body.activity-report #content #reportBox .photoSpace {
    width: 100%;
    max-width: 800px;
    padding: 15px 0px;
    margin: 0px auto; }
    body.news #content #reportBox .photoSpace img,
    body.activity-report #content #reportBox .photoSpace img {
      width: 100%;
      height: auto;
      vertical-align: top; }
  body.news #content #reportBox .freeSpace p,
  body.activity-report #content #reportBox .freeSpace p {
    margin: 1em 0 1em 0; }
  body.news #content #reportBox .freeSpace ul,
  body.activity-report #content #reportBox .freeSpace ul {
    border-top: 1px solid #CCC;
    margin: 1em 0; }
    body.news #content #reportBox .freeSpace ul li,
    body.activity-report #content #reportBox .freeSpace ul li {
      border-bottom: 1px solid #CCC;
      padding: 0.5em 0px 0.5em 20px;
      margin: 0px;
      position: relative; }
      body.news #content #reportBox .freeSpace ul li::before,
      body.activity-report #content #reportBox .freeSpace ul li::before {
        content: "";
        background-color: #4E70A5;
        position: absolute;
        left: 0;
        top: 1.2em;
        width: 8px;
        height: 8px;
        border-radius: 50%; }
    body.news #content #reportBox .freeSpace ul.pa2 li::before,
    body.activity-report #content #reportBox .freeSpace ul.pa2 li::before {
      color: #A7DCEA; }
  body.news #content #reportBox .freeSpace ol,
  body.activity-report #content #reportBox .freeSpace ol {
    margin: 1em 0;
    padding-left: 30px; }
  body.news #content #reportBox .freeSpace blockquote,
  body.activity-report #content #reportBox .freeSpace blockquote {
    background-color: #f3f3f3;
    padding: 5px 10px;
    margin: 10px; }
  body.news #content #reportBox .freeSpace a:link,
  body.activity-report #content #reportBox .freeSpace a:link {
    color: #0D244A;
    text-decoration: underline; }
  body.news #content #reportBox .freeSpace a:visited,
  body.activity-report #content #reportBox .freeSpace a:visited {
    color: #0D244A;
    text-decoration: underline; }
  body.news #content #reportBox .freeSpace a:hover,
  body.activity-report #content #reportBox .freeSpace a:hover {
    color: #0D244A;
    text-decoration: none; }
  body.news #content #reportBox .freeSpace hr,
  body.activity-report #content #reportBox .freeSpace hr {
    height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    margin: 30px 0px;
    border-top: 1px dotted #CCC;
    background-color: #fff; }
  body.news #content #reportBox .freeSpace h1,
  body.activity-report #content #reportBox .freeSpace h1 {
    font-size: clamp(1.5rem, 3vw, 1.875rem);
    line-height: 1.5; }
  body.news #content #reportBox .freeSpace h2,
  body.activity-report #content #reportBox .freeSpace h2 {
    font-size: clamp(1.25rem, 2.6vw, 1.625rem);
    line-height: 1.6; }
  body.news #content #reportBox .freeSpace h3,
  body.activity-report #content #reportBox .freeSpace h3 {
    font-size: clamp(1.125rem, 2.2vw, 1.375rem);
    line-height: 1.7; }
  body.news #content #reportBox .freeSpace h4,
  body.activity-report #content #reportBox .freeSpace h4 {
    font-size: clamp(1.125rem, 2.2vw, 1.375rem);
    line-height: 1.7; }
  body.news #content #reportBox .freeSpace h5,
  body.activity-report #content #reportBox .freeSpace h5 {
    font-size: clamp(1.125rem, 2.2vw, 1.375rem);
    line-height: 1.7; }
  body.news #content #reportBox .freeSpace h6,
  body.activity-report #content #reportBox .freeSpace h6 {
    font-size: clamp(1.125rem, 2.2vw, 1.375rem);
    line-height: 1.7; }
  body.news #content #reportBox .freeSpace .youtube,
  body.activity-report #content #reportBox .freeSpace .youtube {
    margin: 30px auto;
    width: 100%;
    max-width: 800px;
    aspect-ratio: 16 / 9; }
    body.news #content #reportBox .freeSpace .youtube iframe,
    body.activity-report #content #reportBox .freeSpace .youtube iframe {
      width: 100%;
      height: 100%; }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_body.access
*/
body.access #content .introBox {
  position: relative;
  z-index: 100;
  display: grid; }
  body.access #content .introBox .leadItem {
    order: 2;
    text-align: left;
    align-self: center; }
    body.access #content .introBox .leadItem h2 {
      font-family: "Noto Serif JP", serif;
      font-weight: 600;
      font-size: clamp(1.25rem, 2.6vw, 1.625rem);
      line-height: 1.6;
      color: #0D244A; }
      body.access #content .introBox .leadItem h2 span {
        font-weight: 700; }
    body.access #content .introBox .leadItem p {
      margin-top: 0.5em;
      font-size: clamp(1rem, 1.8vw, 1.125rem); }
      body.access #content .introBox .leadItem p span {
        display: inline-block; }
  body.access #content .introBox .photoItem {
    margin: 0px auto;
    order: 1;
    padding-bottom: 20px; }
  @media screen and (min-width: 769px) {
    body.access #content .introBox {
      grid-template-columns: 1fr 300px; }
      body.access #content .introBox .leadItem {
        order: 1; }
      body.access #content .introBox .photoItem {
        order: 2;
        padding-bottom: 0px; } }

body.access #content .accessBox {
  margin-top: clamp(25px, 4vw, 40px);
  padding-bottom: clamp(60px, 10vw, 100px); }
  body.access #content .accessBox .meansItem {
    margin-top: clamp(25px, 4vw, 40px); }
  body.access #content .accessBox .parkingItem {
    margin-top: clamp(25px, 4vw, 40px);
    border: 1px solid #98A3B5; }
    body.access #content .accessBox .parkingItem .parkingTit {
      font-size: clamp(1.125rem, 2.2vw, 1.375rem);
      line-height: 1.7;
      color: #0D244A;
      padding: 5px 15px;
      background-color: #EEF0F3; }
    body.access #content .accessBox .parkingItem ul.parkingSup {
      margin: 15px; }
      body.access #content .accessBox .parkingItem ul.parkingSup li {
        padding-left: 1.2em !important;
        text-indent: -1.2em !important; }
        body.access #content .accessBox .parkingItem ul.parkingSup li::before {
          content: '※ '; }
    body.access #content .accessBox .parkingItem .parkingMap {
      padding: 15px;
      max-width: 640px;
      margin: 0px auto; }
  body.access #content .accessBox .ptn-table1 {
    margin-top: 10px; }
body.access #content .gMap {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%; }
  body.access #content .gMap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
@media screen and (min-width: 769px) {
  body.access #content .gMap {
    padding-top: 40%; } }

body.access #content .scheduleBox {
  padding-bottom: clamp(60px, 10vw, 100px); }
  body.access #content .scheduleBox .scheduleTable {
    margin-top: clamp(40px, 6vw, 60px);
    position: relative;
    z-index: 100;
    width: 100%; }
    body.access #content .scheduleBox .scheduleTable th:first-child {
      width: 11%; }
    body.access #content .scheduleBox .scheduleTable th, body.access #content .scheduleBox .scheduleTable td {
      text-align: center;
      border: 1px solid #ccc;
      padding: 5px;
      font-weight: 400 !important;
      font-size: 1rem;
      line-height: 1.7;
      white-space: nowrap; }
    body.access #content .scheduleBox .scheduleTable thead th {
      background-color: #EEF0F3; }
  body.access #content .scheduleBox .scheduleSup {
    margin-top: 10px; }
  body.access #content .scheduleBox .calenderItem {
    margin-top: clamp(40px, 6vw, 60px); }
  @media screen and (min-width: 769px) {
    body.access #content .scheduleBox .scheduleTable {
      table-layout: fixed;
      border-collapse: collapse; }
      body.access #content .scheduleBox .scheduleTable th:first-child {
        width: 200px; }
      body.access #content .scheduleBox .scheduleTable th, body.access #content .scheduleBox .scheduleTable td {
        padding: 10px; } }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■
■■　★★★_#旧サイトのCSSを継承
■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
*/
/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_body.case　(基本、旧サイトのCSSを引継ぎ)
*/
/*症例集のパターン化*/
.ptn-caseBox {
  margin: 0px 0px; }
  .ptn-caseBox .resultCount {
    text-align: right;
    padding-top: 10px;
    padding-bottom: 10px;
    font-size: 0.875rem;
    line-height: 1.7; }
  .ptn-caseBox .relationLink {
    text-align: right; }
  .ptn-caseBox .caseItem {
    border: 1px solid #98A3B5;
    margin-bottom: 40px;
    padding: 10px; }
    .ptn-caseBox .caseItem div img {
      width: 100%;
      height: auto;
      vertical-align: top; }
    .ptn-caseBox .caseItem .caseTit {
      font-size: clamp(1.25rem, 2.6vw, 1.625rem);
      line-height: 1.6;
      color: #0D244A;
      font-family: "Noto Serif JP", serif;
      font-weight: 600;
      padding: 10px 0px; }
    .ptn-caseBox .caseItem .caseLead {
      padding-bottom: 20px;
      margin: 0px; }
    .ptn-caseBox .caseItem .caseList {
      display: flex; }
      .ptn-caseBox .caseItem .caseList .beforeItem {
        flex: 1;
        background-color: #EEF0F3;
        padding: 10px; }
        .ptn-caseBox .caseItem .caseList .beforeItem .statusWord {
          color: #898989;
          font-weight: 500;
          font-size: 1.25rem;
          line-height: 1.7;
          text-align: center;
          display: block; }
      .ptn-caseBox .caseItem .caseList .afterItem {
        flex: 1;
        background-color: #EEF0F3;
        padding: 10px; }
        .ptn-caseBox .caseItem .caseList .afterItem .statusWord {
          color: #5BA0F0;
          font-weight: 500;
          font-size: 1.25rem;
          line-height: 1.7;
          text-align: center;
          display: block; }
      .ptn-caseBox .caseItem .caseList .arrowItem {
        width: 40px;
        position: relative; }
        .ptn-caseBox .caseItem .caseList .arrowItem:after {
          content: "";
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          width: 15px;
          height: 30px;
          background-color: #D0D6DF;
          clip-path: polygon(0% 0%, 100% 50%, 0% 100%); }
    .ptn-caseBox .caseItem .casePointBox {
      display: flex;
      margin-top: 20px; }
      .ptn-caseBox .caseItem .casePointBox .photoItem {
        padding: 5px 5px 5px 0px;
        width: 25%; }
      .ptn-caseBox .caseItem .casePointBox .wordItem {
        flex: 1;
        padding: 0px 0px 20px 10px; }
        .ptn-caseBox .caseItem .casePointBox .wordItem .hosokuTit {
          color: #0D244A;
          font-weight: 500; }
        .ptn-caseBox .caseItem .casePointBox .wordItem p {
          margin-top: 10px; }
    .ptn-caseBox .caseItem .tableCaseDetail {
      width: 100%;
      margin-top: 10px;
      margin: 30px 0px 30px 0px; }
      .ptn-caseBox .caseItem .tableCaseDetail th, .ptn-caseBox .caseItem .tableCaseDetail td {
        padding: 10px 0px;
        width: 100%;
        display: block;
        border-top: none; }
      .ptn-caseBox .caseItem .tableCaseDetail tr th {
        border-top: 1px dashed #98A3B5;
        border-bottom: 1px dashed #98A3B5; }
        .ptn-caseBox .caseItem .tableCaseDetail tr th:last-of-type {
          border-bottom: none; }
      .ptn-caseBox .caseItem .tableCaseDetail th {
        font-weight: 500;
        text-align: left; }
      .ptn-caseBox .caseItem .tableCaseDetail td {
        padding-top: 0px;
        padding-bottom: 20px; }
      .ptn-caseBox .caseItem .tableCaseDetail a:link {
        text-decoration: underline; }
      .ptn-caseBox .caseItem .tableCaseDetail a:visited {
        text-decoration: underline; }
      .ptn-caseBox .caseItem .tableCaseDetail a:hover {
        text-decoration: none; }
      .ptn-caseBox .caseItem .tableCaseDetail ul.riskListLink li, .ptn-caseBox .caseItem .tableCaseDetail ul.priceListLink li {
        padding: 0px 0px 5px 0px;
        margin: 0px; }
    @media screen and (min-width: 769px) {
      .ptn-caseBox .caseItem {
        padding: 10px 40px 20px 40px; }
        .ptn-caseBox .caseItem .caseList {
          max-width: 1000px;
          margin-left: auto;
          margin-right: auto; }
          .ptn-caseBox .caseItem .caseList .beforeItem {
            padding: 10px; }
          .ptn-caseBox .caseItem .caseList .afterItem {
            padding: 10px; }
          .ptn-caseBox .caseItem .caseList .arrowItem {
            width: 80px;
            position: relative; }
            .ptn-caseBox .caseItem .caseList .arrowItem:after {
              content: "";
              position: absolute;
              top: 50%;
              left: 50%;
              transform: translate(-50%, -50%);
              width: 20px;
              height: 40px; }
        .ptn-caseBox .caseItem .souchiList {
          margin-top: 20px; }
          .ptn-caseBox .caseItem .souchiList .photoItem {
            padding: 10px 10px 10px 0px;
            width: 25%; }
          .ptn-caseBox .caseItem .souchiList .wordItem {
            padding: 20px 20px 20px 10px; }
        .ptn-caseBox .caseItem .tableCaseDetail th, .ptn-caseBox .caseItem .tableCaseDetail td {
          display: table-cell;
          padding: 20px;
          border-top: 1px dashed #98A3B5;
          border-bottom: 1px dashed #98A3B5; }
          .ptn-caseBox .caseItem .tableCaseDetail th:last-of-type, .ptn-caseBox .caseItem .tableCaseDetail td:last-of-type {
            border-bottom: none; }
        .ptn-caseBox .caseItem .tableCaseDetail th {
          width: 30%;
          text-align: left; }
        .ptn-caseBox .caseItem .tableCaseDetail td {
          vertical-align: middle; } }

/*各診療案内の症例用のラップ*/
.ptn-caseBoxWrap {
  padding-bottom: clamp(80px, 12vw, 120px); }
  .ptn-caseBoxWrap .ptn-caseBox {
    margin-top: clamp(25px, 4vw, 40px); }
  .ptn-caseBoxWrap .caseItem {
    border: none;
    border-bottom: 1px solid #98A3B5;
    padding: 0px; }
    @media screen and (min-width: 769px) {
      .ptn-caseBoxWrap .caseItem {
        padding: 0px; } }

/* ★_2カラム用の設定 */
body.case #content .contentInner.multipleRow {
  display: grid;
  gap: clamp(20px, 3vw, 40px) clamp(30px, 5vw, 60px);
  margin-top: clamp(40px, 6vw, 60px);
  padding-bottom: clamp(60px, 10vw, 100px); }
body.case #content .contentInner #beta {
  width: 100%; }
body.case #content .contentInner #alpha {
  width: 100%; }
@media screen and (min-width: 1024px) {
  body.case #content .contentInner.multipleRow {
    grid-template-columns: 250px 1fr; } }

/* ★_betaの内容 */
body.case #content #beta .catInfoBox1 {
  display: flex;
  flex-flow: column-reverse nowrap;
  align-items: center;
  padding: 30px 0px;
  border-top: 1px solid #98A3B5;
  margin-top: 20px; }
  body.case #content #beta .catInfoBox1 .wordItem {
    padding-top: 20px; }
  body.case #content #beta .catInfoBox1 .photoItem {
    max-width: 480px;
    width: 100%; }
    body.case #content #beta .catInfoBox1 .photoItem::before {
      content: "";
      display: block;
      padding-top: 74.3%;
      /* 比率を指定 */ }
  body.case #content #beta .catInfoBox1.cat-shoni-kyosei-sousei .photoItem {
    background: #EEF0F3 url(/module/img/kyousei/case-sousei.png) center center/85% auto no-repeat; }
  body.case #content #beta .catInfoBox1.cat-shoni-kyosei-deppa .photoItem {
    background: #EEF0F3 url(/module/img/kyousei/case-deppa.png) center center/85% auto no-repeat; }
  body.case #content #beta .catInfoBox1.cat-shoni-kyosei-hantaikougou .photoItem {
    background: #EEF0F3 url(/module/img/kyousei/case-hantaikogo.png) center center/85% auto no-repeat; }
  body.case #content #beta .catInfoBox1.cat-shoni-kyosei-kaikou .photoItem {
    background: #EEF0F3 url(/module/img/kyousei/case-kaikou.png) center center/85% auto no-repeat; }
  body.case #content #beta .catInfoBox1.cat-shoni-kyosei-kousakougou .photoItem {
    background: #EEF0F3 url(/module/img/kyousei/case-kosakogo.png) center center/85% auto no-repeat; }
  body.case #content #beta .catInfoBox1.cat-shoni-kyosei-housyutsuchien .photoItem {
    background: #EEF0F3 url(/module/img/kyousei/case-housyutsuchien.png) center center/85% auto no-repeat; }
  body.case #content #beta .catInfoBox1.cat-seijin-kyousei-sousei .photoItem {
    background: #EEF0F3 url(/module/img/kyousei/case-sousei.png) center center/85% auto no-repeat; }
  body.case #content #beta .catInfoBox1.cat-seijin-kyousei-deppa .photoItem {
    background: #EEF0F3 url(/module/img/kyousei/case-deppa.png) center center/85% auto no-repeat; }
  body.case #content #beta .catInfoBox1.cat-seijin-kyousei-kaikou .photoItem {
    background: #EEF0F3 url(/module/img/kyousei/case-kaikou.png) center center/85% auto no-repeat; }
  body.case #content #beta .catInfoBox1.cat-seijin-kyousei-hantaikougou .photoItem {
    background: #EEF0F3 url(/module/img/kyousei/case-hantaikogo.png) center center/85% auto no-repeat; }
  @media screen and (min-width: 1024px) {
    body.case #content #beta .catInfoBox1 {
      flex-flow: row nowrap;
      align-items: flex-start; }
      body.case #content #beta .catInfoBox1 .photoItem {
        width: 300px; }
      body.case #content #beta .catInfoBox1 .wordItem {
        flex: 1;
        padding-top: 0px;
        padding-right: 30px; } }

body.case #content .caseIndexBox {
  position: relative;
  z-index: 100;
  padding-top: clamp(80px, 12vw, 120px);
  padding-bottom: clamp(80px, 12vw, 120px); }
  body.case #content .caseIndexBox .caseIndexLead {
    font-family: "Noto Serif JP", serif;
    font-weight: 600;
    font-size: clamp(1.125rem, 2.2vw, 1.375rem);
    line-height: 1.7;
    color: #0D244A; }
  body.case #content .caseIndexBox ul.caseIndexList {
    display: grid;
    gap: clamp(20px, 3vw, 40px) clamp(30px, 5vw, 60px);
    margin-top: 30px; }
  body.case #content .caseIndexBox ul.caseIndexList > li > a {
    min-height: 50px;
    display: block;
    padding: 10px 10px 10px 45px;
    position: relative;
    font-family: "Noto Serif JP", serif;
    font-weight: 600;
    font-size: 1.125rem;
    line-height: 1.7;
    border-top: 1px solid #98A3B5;
    background-color: #EEF0F3; }
    body.case #content .caseIndexBox ul.caseIndexList > li > a:before {
      content: "";
      background: url(/module/img/com/arrow-blue.svg) center center/20px 50px no-repeat;
      right: 10px;
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      height: 20px;
      width: 20px; }
  body.case #content .caseIndexBox ul.caseIndexList > li.cat-item-9 > a {
    background: #FFF url(/module/img/com/icon-kyousei_g.svg) 5px center/35px 35px no-repeat; }
  body.case #content .caseIndexBox ul.caseIndexList > li.cat-item-10 > a {
    background: #FFF url(/module/img/com/icon-kyousei_g.svg) 5px center/35px 35px no-repeat; }
  body.case #content .caseIndexBox ul.caseIndexList > li.cat-item-11 > a {
    background: #FFF url(/module/img/com/icon-kyousei_g.svg) 5px center/35px 35px no-repeat; }
  body.case #content .caseIndexBox ul.caseIndexList > li.cat-item-3 > a {
    background: #FFF url(/module/img/com/icon-implant_g.svg) 8px center/30px 25px no-repeat; }
  body.case #content .caseIndexBox ul.caseIndexList > li.cat-item-4 > a {
    background: #FFF url(/module/img/com/icon-shinbi_g.svg) 5px center/30px 30px no-repeat; }
  body.case #content .caseIndexBox ul.caseIndexList > li.cat-item-8 > a {
    background: #FFF url(/module/img/com/icon-kougousaikousei_g.svg) 5px center/30px 30px no-repeat; }
  body.case #content .caseIndexBox ul.caseIndexList > li.cat-item-7 > a {
    background: #FFF url(/module/img/com/icon-shisyubyo_g.svg) 5px center/30px 30px no-repeat; }
  body.case #content .caseIndexBox ul.caseIndexList > li.cat-item-5 > a {
    background: #FFF url(/module/img/com/icon-saiseiiryo_g.svg) 5px center/30px 30px no-repeat; }
  body.case #content .caseIndexBox ul.caseIndexList > li.cat-item-6 > a {
    background: #FFF url(/module/img/com/icon-whitening_g.svg) 5px center/30px 30px no-repeat; }
  body.case #content .caseIndexBox ul.caseIndexList > li > ul {
    margin-top: 10px; }
  body.case #content .caseIndexBox ul.caseIndexList > li > ul > li {
    padding: 0px;
    margin: 0px; }
    body.case #content .caseIndexBox ul.caseIndexList > li > ul > li::before {
      content: "・";
      color: #98A3B5; }
@media screen and (min-width: 769px) {
  body.case #content .caseIndexBox ul.caseIndexList {
    grid-template-columns: repeat(2, 1fr); }
  body.case #content .caseIndexBox ul.caseIndexList > li > a {
    border-bottom: 1px solid #98A3B5; } }
@media screen and (min-width: 1024px) {
  body.case #content .caseIndexBox ul.caseIndexList {
    grid-template-columns: repeat(3, 1fr); } }

body.case #content #alpha {
  padding: 0px 0px 20px 0px; }
  body.case #content #alpha .subMenu a:hover {
    text-decoration: underline; }
  body.case #content #alpha .subMenu .titCaseMenu {
    display: none; }
  body.case #content #alpha .subMenu ul.caseList {
    display: none; }
  body.case #content #alpha .subMenu ul.caseList > li {
    width: 100%;
    padding: 0px; }
    body.case #content #alpha .subMenu ul.caseList > li > a {
      min-height: 50px;
      display: block;
      padding: 10px 10px 10px 38px;
      position: relative;
      border-top: 1px solid #98A3B5;
      /*&:before {
          content: "\e5e1"; 
          font-family: Material Icons;
          right: 10px;
          position:absolute;
          top:50%;
          transform:translateY(-50%);
          color:#CCC;
      }*/ }
    body.case #content #alpha .subMenu ul.caseList > li.cat-item-9 > a {
      background: #FFF url(/module/img/com/icon-kyousei_g.svg) 5px center/30px 30px no-repeat; }
    body.case #content #alpha .subMenu ul.caseList > li.cat-item-10 > a {
      background: #FFF url(/module/img/com/icon-kyousei_g.svg) 5px center/30px 30px no-repeat; }
    body.case #content #alpha .subMenu ul.caseList > li.cat-item-11 > a {
      background: #FFF url(/module/img/com/icon-kyousei_g.svg) 5px center/30px 30px no-repeat; }
    body.case #content #alpha .subMenu ul.caseList > li.cat-item-3 > a {
      background: #FFF url(/module/img/com/icon-implant_g.svg) 8px center/25px 25px no-repeat; }
    body.case #content #alpha .subMenu ul.caseList > li.cat-item-4 > a {
      background: #FFF url(/module/img/com/icon-shinbi_g.svg) 5px center/30px 30px no-repeat; }
    body.case #content #alpha .subMenu ul.caseList > li.cat-item-8 > a {
      background: #FFF url(/module/img/com/icon-kougousaikousei_g.svg) 5px center/30px 30px no-repeat; }
    body.case #content #alpha .subMenu ul.caseList > li.cat-item-7 > a {
      background: #FFF url(/module/img/com/icon-shisyubyo_g.svg) 5px center/30px 30px no-repeat; }
    body.case #content #alpha .subMenu ul.caseList > li.cat-item-5 > a {
      background: #FFF url(/module/img/com/icon-saiseiiryo_g.svg) 5px center/30px 30px no-repeat; }
    body.case #content #alpha .subMenu ul.caseList > li.cat-item-6 > a {
      background: #FFF url(/module/img/com/icon-whitening_g.svg) 5px center/30px 30px no-repeat; }
    body.case #content #alpha .subMenu ul.caseList > li > ul {
      margin-bottom: 20px; }
    body.case #content #alpha .subMenu ul.caseList > li > ul > li {
      padding: 0px 0px 5px 0px;
      margin: 0px; }
      body.case #content #alpha .subMenu ul.caseList > li > ul > li::before {
        content: "・";
        color: #CCC; }
  @media screen and (min-width: 1024px) {
    body.case #content #alpha {
      padding: 0px 10px 50px 0px; }
      body.case #content #alpha .subMenu .titCaseMenu {
        display: block;
        color: #0D244A;
        padding: 3px 5px;
        font-weight: 500; }
      body.case #content #alpha .subMenu ul.caseList {
        display: block; } }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_body.mushiba
*/
body.mushiba #content .illustItem {
  padding: 0px 0px 20px 0px; }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_body.shisyubyo
*/
body.shisyubyo #content .causeBox {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(20px, 3vw, 40px) clamp(30px, 5vw, 60px);
  margin-top: clamp(25px, 4vw, 40px); }
  body.shisyubyo #content .causeBox .causeItem {
    border: 1px solid #98A3B5;
    padding: 20px; }
    body.shisyubyo #content .causeBox .causeItem > .photoItem1 {
      margin: 0px auto;
      text-align: center;
      margin-top: 10px;
      border: 1px solid rgba(152, 163, 181, 0.3);
      max-width: 480px; }
      body.shisyubyo #content .causeBox .causeItem > .photoItem1 img {
        width: 100%;
        height: auto;
        vertical-align: top; }
    body.shisyubyo #content .causeBox .causeItem > .photoItem2 {
      margin: 0px auto;
      text-align: center;
      margin-top: 10px;
      max-width: 280px; }
      body.shisyubyo #content .causeBox .causeItem > .photoItem2 img {
        width: 100%;
        height: auto;
        vertical-align: top; }
  body.shisyubyo #content .causeBox .plaqueBox {
    display: grid;
    grid-template-columns: 1fr;
    margin-top: clamp(25px, 4vw, 40px);
    gap: 15px; }
    body.shisyubyo #content .causeBox .plaqueBox > .wordItem h3 {
      font-size: 1.125rem;
      line-height: 1.7;
      font-family: "Noto Serif JP", serif;
      font-weight: 600;
      color: #0D244A; }
    body.shisyubyo #content .causeBox .plaqueBox > .wordItem p {
      font-size: 0.875rem;
      line-height: 1.7; }
      body.shisyubyo #content .causeBox .plaqueBox > .wordItem p img {
        float: right;
        width: 40%;
        margin-left: 10px;
        margin-bottom: 10px; }
  @media screen and (min-width: 769px) {
    body.shisyubyo #content .causeBox {
      grid-template-columns: 1fr 1fr; } }
body.shisyubyo #content .ptn-flowList1 {
  margin-top: clamp(25px, 4vw, 40px); }
body.shisyubyo #content .charBox .photoItem {
  margin: 0px auto;
  max-width: 1000px; }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_body.shinbi
*/
body.shinbi #content .illItem {
  padding-top: clamp(25px, 4vw, 40px);
  padding-bottom: clamp(25px, 4vw, 40px);
  max-width: 1100px;
  margin: 0px auto; }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_body.yoboushika
*/
body.yoboushika #content .glafItem {
  max-width: 780px;
  margin: 50px auto; }
  body.yoboushika #content .glafItem img {
    width: 100%;
    height: auto;
    vertical-align: top; }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_body.implant
*/
body.implant #content .normalItem {
  padding: clamp(10px, 3vw, 30px);
  background-color: #F5F5F5; }
  body.implant #content .normalItem h3 {
    font-size: clamp(1.25rem, 2.6vw, 1.625rem);
    line-height: 1.6;
    margin-bottom: 15px;
    border-left: 5px solid #959595;
    padding-left: 10px; }
body.implant #content .earlyItem {
  padding: clamp(10px, 3vw, 30px);
  margin-top: 30px;
  background-color: rgba(206, 239, 255, 0.5); }
  body.implant #content .earlyItem h3 {
    font-size: clamp(1.25rem, 2.6vw, 1.625rem);
    line-height: 1.6;
    margin-bottom: 15px;
    border-left: 5px solid #009DE6;
    padding-left: 10px; }
  body.implant #content .earlyItem p {
    margin-top: 20px; }

body.implant #content .priceBox p {
  margin: 0px; }
body.implant #content .priceBox .priceTableWrap {
  margin-top: 30px;
  margin-bottom: 10px;
  overflow: auto;
  widows: 100%; }
  @media screen and (min-width: 769px) {
    body.implant #content .priceBox .priceTableWrap {
      overflow: visible; } }
body.implant #content .priceBox .priceTable1 {
  width: 500px;
  border-left: 1px solid #98A3B5;
  border-bottom: 1px solid #98A3B5; }
  body.implant #content .priceBox .priceTable1 thead th.titPricePtn1 {
    padding: 10px;
    text-align: left;
    font-weight: 500;
    color: #FFF;
    border-top: 1px solid #98A3B5;
    border-right: 1px solid #98A3B5;
    background-color: rgba(13, 36, 74, 0.5); }
  body.implant #content .priceBox .priceTable1 thead td {
    padding: 10px;
    text-align: left;
    font-weight: 500; }
  body.implant #content .priceBox .priceTable1 tbody {
    /*tr:nth-child(odd){
        td{
            background-color:rgba($baseColor1, 0.1);
        }
    }*/ }
    body.implant #content .priceBox .priceTable1 tbody th {
      width: 36%;
      padding: 10px;
      background-color: rgba(238, 240, 243, 0.5);
      border-top: 1px solid #98A3B5;
      border-right: 1px solid #98A3B5;
      vertical-align: top;
      text-align: left;
      font-weight: 500; }
    body.implant #content .priceBox .priceTable1 tbody td {
      padding: 10px;
      border-top: 1px solid #98A3B5;
      border-right: 1px solid #98A3B5;
      vertical-align: top;
      width: 32%;
      text-align: left; }
  @media screen and (min-width: 480px) {
    body.implant #content .priceBox .priceTable1 {
      width: 100%; } }

body.implant #content .oldTypeBox .oldTypeBoxInner {
  display: flex;
  flex-flow: column nowrap;
  padding-top: clamp(25px, 4vw, 40px); }
body.implant #content .oldTypeBox .oldTypeItem {
  padding: 20px 0px;
  flex: 1; }
  body.implant #content .oldTypeBox .oldTypeItem .photoItem::before {
    content: "";
    display: block;
    padding-top: 54%;
    /* 比率を指定 */ }
  body.implant #content .oldTypeBox .oldTypeItem .photoItem.photo-bridge {
    background: url(/module/img/implant/bridge.jpg) center center/cover no-repeat; }
  body.implant #content .oldTypeBox .oldTypeItem .photoItem.photo-denture {
    background: url(/module/img/implant/denture.jpg) center center/cover no-repeat; }
  body.implant #content .oldTypeBox .oldTypeItem h3 {
    font-size: clamp(1.125rem, 2.2vw, 1.375rem);
    line-height: 1.7;
    color: #0D244A;
    font-weight: 500;
    padding-top: 10px; }
  body.implant #content .oldTypeBox .oldTypeItem p {
    margin-top: 0; }
  body.implant #content .oldTypeBox .oldTypeItem .problemItem {
    position: relative;
    color: black;
    background-color: rgba(31, 63, 124, 0.1);
    padding: 0.25em 0.5em;
    margin: 2.5em 0 0.5em;
    /*border-radius: 0 5px 5px 5px;*/ }
    body.implant #content .oldTypeBox .oldTypeItem .problemItem ul {
      margin: 0.5em 0;
      padding-left: 20px;
      list-style-type: disc; }
    body.implant #content .oldTypeBox .oldTypeItem .problemItem:after {
      position: absolute;
      content: "問題点";
      background: #1F3F7C;
      color: #fff;
      left: 0px;
      bottom: 100%;
      /*border-radius: 5px 5px 0 0;*/
      padding: 3px 7px 3px;
      line-height: 1;
      letter-spacing: 0.05em; }
@media screen and (min-width: 769px) {
  body.implant #content .oldTypeBox .oldTypeBoxInner {
    flex-flow: row nowrap; }
  body.implant #content .oldTypeBox .oldTypeItem {
    padding: 0px; }
    body.implant #content .oldTypeBox .oldTypeItem:nth-child(odd) {
      padding-right: 20px; }
    body.implant #content .oldTypeBox .oldTypeItem:nth-child(even) {
      padding-left: 20px; } }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★★_body.kyousei
*/
body.kyousei #content .leadBox {
  text-align: left; }
  body.kyousei #content .leadBox h2 {
    font-family: "Noto Serif JP", serif;
    font-weight: 600;
    font-size: clamp(1.5rem, 3vw, 1.875rem);
    line-height: 1.5;
    color: #0D244A; }
  body.kyousei #content .leadBox p {
    margin: 1em 0;
    font-size: clamp(0.9375rem, 1.8vw, 1.125rem);
    line-height: 1.8; }
  @media screen and (min-width: 769px) {
    body.kyousei #content .leadBox {
      text-align: center; } }
body.kyousei #content .pointImg {
  max-width: 1200px;
  margin: 60px auto; }
body.kyousei #content .ptn-featureList {
  margin-top: clamp(40px, 6vw, 60px); }

body.kyousei #content .agePanel {
  background: #E5F5FD url(/module/img/kyousei/panel-kids-gra.jpg) right center/auto 100% no-repeat;
  position: relative; }
  body.kyousei #content .agePanel.panel-otona {
    background: #E5F5FD url(/module/img/kyousei/panel-adult-gra.jpg) right center/auto 100% no-repeat; }
  body.kyousei #content .agePanel.panel-tyuukounen {
    background: #E5F5FD url(/module/img/kyousei/panel-mature-gra.jpg) right center/auto 100% no-repeat; }
  body.kyousei #content .agePanel .wordItem {
    position: absolute;
    top: 50%;
    left: 10px;
    transform: translateY(-50%) translateX(0); }
    body.kyousei #content .agePanel .wordItem h1 {
      font-family: "Noto Serif JP", serif;
      font-weight: 600;
      color: #0D244A;
      font-size: clamp(2rem, 4vw, 2.5rem);
      line-height: 1.5; }
    body.kyousei #content .agePanel .wordItem p {
      color: #0D244A; }
  body.kyousei #content .agePanel::before {
    content: "";
    display: block;
    padding-top: 23%;
    /* 比率を指定 */ }
  @media screen and (min-width: 480px) {
    body.kyousei #content .agePanel .wordItem {
      left: 20px; } }
  @media screen and (min-width: 769px) {
    body.kyousei #content .agePanel .wordItem {
      left: 50px; }
      body.kyousei #content .agePanel .wordItem h1 {
        font-weight: 500; }
      body.kyousei #content .agePanel .wordItem p {
        color: #0D244A; } }

body.kyousei #content .ageLeadBox {
  margin: 30px 0px; }
  body.kyousei #content .ageLeadBox .ageLeadTit {
    color: #0D244A;
    padding-bottom: 10px;
    font-weight: 500; }

body.kyousei #content .listSeason .photoItem::before {
  content: "";
  display: block;
  padding-top: 66.6%;
  /* 比率を指定 */ }
body.kyousei #content .listSeason .photoItem.photo-sousei {
  background: #EEF0F3 url(/module/img/kyousei/kodomo-sousei.jpg) center center/cover no-repeat; }
body.kyousei #content .listSeason .photoItem.photo-deppa {
  background: #EEF0F3 url(/module/img/kyousei/kodomo-deppa.jpg) center center/cover no-repeat; }
body.kyousei #content .listSeason .photoItem.photo-hantaikogo {
  background: #EEF0F3 url(/module/img/kyousei/kodomo-hantaikogo.jpg) center center/cover no-repeat; }
body.kyousei #content .listSeason .photoItem.photo-kaikou {
  background: #EEF0F3 url(/module/img/kyousei/kodomo-kaikou.jpg) center center/cover no-repeat; }
body.kyousei #content .listSeason .photoItem.photo-kosakogo {
  background: #EEF0F3 url(/module/img/kyousei/kodomo-kosakogo.jpg) center center/cover no-repeat; }
body.kyousei #content .listSeason ul {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: clamp(30px, 5vw, 60px) clamp(20px, 3vw, 40px);
  margin-top: clamp(25px, 4vw, 40px); }
  body.kyousei #content .listSeason ul li h3 {
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-weight: 600;
    font-size: clamp(0.9375rem, 1.8vw, 1.125rem);
    line-height: 1.8;
    line-height: 1.2;
    color: #0D244A;
    margin: 10px 0px 0px 0px; }
    body.kyousei #content .listSeason ul li h3 span {
      font-weight: 400;
      font-size: 0.9375rem;
      line-height: 1.7; }
  body.kyousei #content .listSeason ul li p {
    text-align: center;
    color: #1F3F7C;
    margin: 0px;
    font-weight: 500;
    line-height: 1.4;
    margin-top: 5px; }
@media screen and (min-width: 480px) {
  body.kyousei #content .listSeason ul {
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(20px, 3vw, 40px) clamp(20px, 3vw, 40px); } }
@media screen and (min-width: 769px) {
  body.kyousei #content .listSeason ul {
    grid-template-columns: repeat(3, 1fr); } }

body.kyousei #content .caseNaviKyousei .photoItem::before {
  content: "";
  display: block;
  padding-top: 74.3%;
  /* 比率を指定 */ }
body.kyousei #content .caseNaviKyousei .photoItem.ill-sousei {
  background: #EEF0F3 url(/module/img/kyousei/case-sousei.png) center center/85% auto no-repeat; }
body.kyousei #content .caseNaviKyousei .photoItem.ill-deppa {
  background: #EEF0F3 url(/module/img/kyousei/case-deppa.png) center center/85% auto no-repeat; }
body.kyousei #content .caseNaviKyousei .photoItem.ill-hantaikogo {
  background: #EEF0F3 url(/module/img/kyousei/case-hantaikogo.png) center center/85% auto no-repeat; }
body.kyousei #content .caseNaviKyousei .photoItem.ill-kaikou {
  background: #EEF0F3 url(/module/img/kyousei/case-kaikou.png) center center/85% auto no-repeat; }
body.kyousei #content .caseNaviKyousei .photoItem.ill-kosakogo {
  background: #EEF0F3 url(/module/img/kyousei/case-kosakogo.png) center center/85% auto no-repeat; }
body.kyousei #content .caseNaviKyousei .photoItem.ill-housyutsuchien {
  background: #EEF0F3 url(/module/img/kyousei/case-housyutsuchien.png) center center/cover no-repeat; }
body.kyousei #content .caseNaviKyousei ul {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: clamp(30px, 5vw, 60px) clamp(20px, 3vw, 40px);
  margin-top: clamp(25px, 4vw, 40px); }
  body.kyousei #content .caseNaviKyousei ul li h3 {
    font-family: "Noto Serif JP", serif;
    font-weight: 600;
    text-align: center;
    font-size: clamp(0.9375rem, 1.8vw, 1.125rem);
    line-height: 1.8;
    color: #0D244A;
    margin: 10px 0px 0px 0px;
    font-weight: 600; }
  body.kyousei #content .caseNaviKyousei ul li p {
    text-align: left;
    margin-top: 10px;
    font-size: 0.875rem;
    line-height: 1.7; }
@media screen and (min-width: 480px) {
  body.kyousei #content .caseNaviKyousei ul {
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(20px, 3vw, 40px) clamp(20px, 3vw, 40px); } }
@media screen and (min-width: 769px) {
  body.kyousei #content .caseNaviKyousei ul {
    grid-template-columns: repeat(3, 1fr); } }

body.kyousei #content {
  /*ul.deviceList01{
      li{
          padding:10px;
          h2{
              color:$blue1;
              @include fontSizeBulma(5);
          }
           img {
              width:100%;
              height:auto;
          }
      }
  }*/ }
  body.kyousei #content .deviceBoxWrap {
    margin-top: clamp(60px, 10vw, 100px);
    margin-bottom: clamp(60px, 10vw, 100px); }
  body.kyousei #content ul.deviceList2 {
    margin-top: 30px; }
    body.kyousei #content ul.deviceList2 li {
      padding: 10px;
      text-align: center; }
      body.kyousei #content ul.deviceList2 li h2 {
        color: #0D244A; }
      body.kyousei #content ul.deviceList2 li img {
        width: 100%;
        height: auto;
        max-width: 240px; }
    @media screen and (min-width: 769px) {
      body.kyousei #content ul.deviceList2 {
        display: flex; }
        body.kyousei #content ul.deviceList2 li {
          width: 33%; } }
  body.kyousei #content .titSym04 {
    margin-top: 50px; }
  body.kyousei #content .deviceBox {
    border: 2px solid #EEF0F3;
    border-radius: 3px;
    margin-top: 20px;
    padding: 10px; }
    @media screen and (min-width: 769px) {
      body.kyousei #content .deviceBox {
        padding: 20px; } }
    @media screen and (min-width: 1216px) {
      body.kyousei #content .deviceBox {
        padding: 30px; } }
    body.kyousei #content .deviceBox .deviceTit {
      font-size: clamp(1.125rem, 2.2vw, 1.375rem);
      line-height: 1.7;
      margin-bottom: 15px;
      border-left: 5px solid #959595;
      padding-left: 10px;
      color: #0D244A;
      font-family: "Noto Serif JP", serif;
      font-weight: 600; }
    body.kyousei #content .deviceBox .pointTit {
      color: #0D244A;
      border-top: 2px solid #E5E5E5;
      font-size: clamp(0.9375rem, 1.8vw, 1.125rem);
      line-height: 1.8;
      color: #0D244A;
      font-family: "Noto Serif JP", serif;
      font-weight: 600;
      margin-top: 30px;
      padding-top: 20px;
      padding-bottom: 10px; }
    body.kyousei #content .deviceBox .deviceItem .wordItem {
      padding: clamp(15px, 2vw, 30px); }
    body.kyousei #content .deviceBox .deviceItem .wordItem2 {
      padding: clamp(15px, 2vw, 30px); }
    body.kyousei #content .deviceBox .deviceItem .photoItem {
      padding: clamp(15px, 2vw, 20px);
      text-align: center; }
      body.kyousei #content .deviceBox .deviceItem .photoItem img {
        width: 100%;
        height: auto;
        vertical-align: top;
        max-width: 280px; }
    @media screen and (min-width: 769px) {
      body.kyousei #content .deviceBox .deviceItem {
        display: flex;
        margin-top: clamp(15px, 2vw, 20px); }
        body.kyousei #content .deviceBox .deviceItem .wordItem {
          width: 70%; }
        body.kyousei #content .deviceBox .deviceItem .photoItem {
          padding-right: clamp(15px, 2vw, 20px);
          width: 30%; } }
    body.kyousei #content .deviceBox .meritBox .meritItem {
      background-color: rgba(156, 129, 68, 0.05);
      padding: 10px;
      margin-top: 20px; }
      body.kyousei #content .deviceBox .meritBox .meritItem .meritTit {
        color: #9C8144;
        font-weight: 500; }
      body.kyousei #content .deviceBox .meritBox .meritItem ul {
        padding: 0.5em 1em 0.5em 1.3em;
        position: relative; }
        body.kyousei #content .deviceBox .meritBox .meritItem ul li {
          line-height: 1.5;
          padding: 0.5em 0;
          list-style-type: none !important; }
          body.kyousei #content .deviceBox .meritBox .meritItem ul li:before {
            content: "\e5ca";
            font-family: 'Material Symbols Sharp';
            position: absolute;
            left: 0em;
            color: #9C8144; }
    body.kyousei #content .deviceBox .meritBox .demeritItem {
      background-color: rgba(31, 63, 124, 0.05);
      padding: 10px;
      margin-top: 20px; }
      body.kyousei #content .deviceBox .meritBox .demeritItem .demeritTit {
        color: #1F3F7C;
        font-weight: 500; }
      body.kyousei #content .deviceBox .meritBox .demeritItem ul {
        padding: 0.5em 1em 0.5em 1.3em;
        position: relative; }
        body.kyousei #content .deviceBox .meritBox .demeritItem ul li {
          line-height: 1.5;
          padding: 0.5em 0;
          list-style-type: none !important; }
          body.kyousei #content .deviceBox .meritBox .demeritItem ul li:before {
            content: "\e5ca";
            font-family: 'Material Symbols Sharp';
            position: absolute;
            left: 0em;
            color: #1F3F7C; }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■
■■　body.whitening
■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
*/
body.whitening #content .whiteIll {
  max-width: 420px; }
body.whitening #content .ptn-table1 {
  margin-top: 30px; }
body.whitening #content .ptn-bkWrapGlay2 {
  padding-top: clamp(60px, 10vw, 100px); }
body.whitening #content .whiteningTitBox {
  margin-top: 50px; }
  body.whitening #content .whiteningTitBox h2 {
    background-color: #0D244A;
    border-radius: 10px;
    color: #FFF;
    padding: 10px;
    font-weight: 500;
    padding: 10px; }
  body.whitening #content .whiteningTitBox .titBoxInner {
    display: flex;
    flex-flow: column-reverse nowrap;
    align-items: center;
    padding: 30px 0px; }
  body.whitening #content .whiteningTitBox .wordItem {
    padding-top: 20px; }
  body.whitening #content .whiteningTitBox .photoItem {
    border-radius: 20px;
    max-width: 480px;
    width: 100%; }
    body.whitening #content .whiteningTitBox .photoItem::before {
      content: "";
      display: block;
      padding-top: 74.3%;
      /* 比率を指定 */ }
  body.whitening #content .whiteningTitBox.homeWhiteningTit .photoItem {
    background: url(/img/whitening/homewhitening.png) center center/85% auto no-repeat; }
  body.whitening #content .whiteningTitBox.walkingbleachTit .photoItem {
    background: url(/img/whitening/walkingbleach.png) center center/85% auto no-repeat; }
  @media screen and (min-width: 1024px) {
    body.whitening #content .whiteningTitBox .titBoxInner {
      flex-flow: row nowrap;
      align-items: flex-start; }
    body.whitening #content .whiteningTitBox .photoItem {
      width: 300px; }
    body.whitening #content .whiteningTitBox .wordItem {
      flex: 1;
      padding-top: 0px;
      padding-right: 30px; } }

body.whitening #content .attItem {
  padding: 15px;
  background-color: rgba(156, 129, 68, 0.05); }
  body.whitening #content .attItem h4 {
    color: #9C8144; }
  body.whitening #content .attItem ol {
    counter-reset: number;
    list-style: none;
    padding-left: 0;
    margin-top: 10px; }
  body.whitening #content .attItem ol li {
    position: relative;
    margin-bottom: 1em;
    line-height: 1.6;
    color: #333;
    padding-left: 1.5em; }
  body.whitening #content .attItem ol li::before {
    counter-increment: number;
    content: counter(number) ".";
    position: absolute;
    left: 0;
    top: 0em;
    text-align: center;
    line-height: 1.6;
    color: #9C8144; }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■
■■　リスクページ
■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
*/
body.kyousei #content .riskBoxCom,
body.implant #content .riskBoxCom {
  padding-top: clamp(40px, 6vw, 60px);
  padding-bottom: clamp(80px, 12vw, 120px); }
  body.kyousei #content .riskBoxCom .ptn-tit3,
  body.implant #content .riskBoxCom .ptn-tit3 {
    margin-top: clamp(40px, 6vw, 60px); }
  body.kyousei #content .riskBoxCom p,
  body.implant #content .riskBoxCom p {
    margin: 1em 0; }
  body.kyousei #content .riskBoxCom ul,
  body.implant #content .riskBoxCom ul {
    list-style-type: disc;
    padding-left: 20px;
    margin-top: 1em;
    margin-bottom: 1em; }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■
■■　body.policy
■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
*/
body.policy #content .privacyBox {
  padding-top: clamp(40px, 6vw, 60px);
  padding-bottom: clamp(80px, 12vw, 120px); }
  body.policy #content .privacyBox .privacyItem {
    padding-bottom: 20px; }
    body.policy #content .privacyBox .privacyItem h2 {
      background-color: #EEF0F3;
      padding: 5px 10px;
      color: #0D244A;
      font-size: clamp(1.125rem, 2.2vw, 1.375rem);
      line-height: 1.7; }
    body.policy #content .privacyBox .privacyItem p {
      margin: 1em 0; }
    body.policy #content .privacyBox .privacyItem ul {
      margin: 1em 0;
      padding-left: 0px;
      list-style-type: disc; }
      body.policy #content .privacyBox .privacyItem ul li {
        margin: 0px 30px; }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■
■■　body.facility-standards
■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
*/
body.facility-standards #content .fStandardsBox {
  padding-top: clamp(40px, 6vw, 60px);
  padding-bottom: clamp(80px, 12vw, 120px); }
  body.facility-standards #content .fStandardsBox .fStandardsItem {
    padding-bottom: 20px; }
    body.facility-standards #content .fStandardsBox .fStandardsItem h2 {
      background-color: #EEF0F3;
      padding: 5px 10px;
      color: #0D244A;
      font-size: clamp(1.125rem, 2.2vw, 1.375rem);
      line-height: 1.7; }
    body.facility-standards #content .fStandardsBox .fStandardsItem p {
      margin: 1em 0; }
    body.facility-standards #content .fStandardsBox .fStandardsItem ul {
      margin: 1em 0;
      padding-left: 0px;
      list-style-type: disc; }
      body.facility-standards #content .fStandardsBox .fStandardsItem ul li {
        margin: 0px 30px; }
      body.facility-standards #content .fStandardsBox .fStandardsItem ul > ul {
        margin: 0;
        list-style-type: circle;
        margin-left: 20px; }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■
■■　body.ct
■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
*/
body.ct #content .ctBox {
  padding-top: clamp(40px, 6vw, 60px);
  padding-bottom: clamp(80px, 12vw, 120px); }
  body.ct #content .ctBox .ctPhoto img {
    width: 100%;
    height: auto;
    vertical-align: top; }
  body.ct #content .ctBox p {
    margin: 1em 0; }

/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■
■■　body.faq
■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
*/
body.faq #content .contentInner {
  padding-top: clamp(40px, 6vw, 60px);
  padding-bottom: clamp(80px, 12vw, 120px); }
body.faq #content .faqNavi {
  margin: 10px 0px 50px 0px;
  background-color: rgba(238, 240, 243, 0.5);
  padding: 15px; }
  body.faq #content .faqNavi ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 30px; }
    body.faq #content .faqNavi ul li a:link {
      color: #333333;
      text-decoration: underline; }
    body.faq #content .faqNavi ul li a:visited {
      color: #333333;
      text-decoration: underline; }
    body.faq #content .faqNavi ul li a:hover {
      color: #333333;
      text-decoration: none; }
