@charset "UTF-8";

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

  カカリンク
  病院のコンテンツページ CSS
  20240326
  20240731 更新

------------------------------------------------*/
/*--------------------------------
  css variables
--------------------------------*/
:root {
  --color-txt: #22244E;
  --color-link: #0061FF;
  --color-gray1: #9091A6;
  --color-bg-gray1: #F6F9FB;
  --color-border-gray1: #D6D7DF;
  --color-border-gray2: #ADAFBC;
  --color-blue1: #0061FF;
  --color-blue1-hover: #2374F8;
  --color-blue2: #42A8EE;
  --color-bg-blue1: #E9F6FF;
  --color-blue3: #3660AC;
  --color-bg-blue3: #3660AC;
  --color-green1: #02B7AE;
  --color-bg-green1: #D6F9F6;
  --color-green2: #0F8F55;
  --color-bg-green2: #0F8F55;
  --color-light_green: #80C535;
  --color-bg-light_green: #CAE8AA;
  --color-pink: #FF8484;
  --color-bg-pink: #FFDDDD;
  --color-red1: #FF5858;
  --color-yellow1: #FFEA84;
  --color-yellow2: #FFD400;
  --color-purple: #D37AE2;
  --color-bg-purple: #F0D3F5;
  --color-purple2: #712573;
  --color-bg-purple2: #712573;
  --color-cream: #E9BF27;
  --color-bg-cream: #FFFFCC;

  /* カラーバリエーション */
  --style-bg-red1: #FF9085;
  --style-bg-red2: #FFDBD3;
  --style-red1: #FF5858; /* --color-red1 と同じ */

  --style-bg-blue1: #92D3FF;
  --style-bg-blue2: #CBEAFF;
  --style-blue1: #42A8EE; /* --color-blue2 と同じ */

  --style-bg-blue3: #3660AC;
  --style-blue3: #3660AC; /* --color-blue3 と同じ */

  --style-bg-yellow1: #FFEA84;
  --style-bg-yellow2: #FFD400;
  --style-yellow1: #FFEA84; /* --color-yellow1 と同じ */

  --style-bg-green1: #D6F9F6;
  --style-green1: #02B7AE; /* --color-green1 と同じ */

  --style-bg-green2: #0F8F55;
  --style-green2: #0F8F55; /* --color-green2 と同じ */

  --style-bg-purple: #F0D3F5;
  --style-purple: #D37AE2; /* --color-purple と同じ */

  --style-bg-purple2: #712573;
  --style-purple2: #712573; /* --color-purple2 と同じ */

  --style-bg-light_green: #CAE8AA;
  --style-light_green: #80C535; /* --color-light_green と同じ */

  --style-bg-pink: #FFDDDD;
  --style-pink: #FF8484; /* --color-pink と同じ */

  --style-bg-cream: #FFFFCC;
  --style-cream: #E9BF27; /* --color-pink と同じ */
}

/*--------------------------------
  reset
--------------------------------*/
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 {
  margin: 0;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  background: transparent;
  -webkit-appearance: none;
  appearance: none;
  font-family: inherit;
  
: inherit;
  box-shadow: none;
}

button {
  cursor: pointer;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
  -moz-appearance: textfield;
}

html {
  box-sizing: border-box
}

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

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

iframe {
  border: 0
}

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

td,
th {
  padding: 0
}

header,
footer,
main {
  display: block;
}

/*--------------------------------
  base
--------------------------------*/
body {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.7;
  color: var(--color-txt);
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo UI", "Yu Gothic UI", "MS PGothic", sans-serif;
  word-break: break-word;
  overflow-x: hidden;
  background: #fff;
}

@media print,
screen and (min-width: 737px) {
  body {
    font-size: 18px;
  }
}

a {
  color: var(--color-link);
  text-decoration: underline;
}

::placeholder {
  color: #ADAFBC;
}

/*--------------------------------
  common parts
--------------------------------*/
/* レスポンシブ出し分け */
@media print,
screen and (min-width: 737px) {
  .is-only-sp {
    display: none !important;
  }
}

@media screen and (max-width: 736px) {
  .is-only-pc {
    display: none !important;
  }
}

.material-icon {
  font-family: 'Material Symbols Rounded';
  font-weight: normal;
  font-style: normal;
  font-size: 1em;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
}

/*--------------------------------
  wrapper
--------------------------------*/
.page-wrapper {}

/*--------------------------------
  header
--------------------------------*/
.page-header {
  background: var(--style-bg-green1);
  padding: 24px 16px;
  text-align: center;
  line-height: 1.4;
}

.page-header h1 {
  font-size: 20px;
  font-weight: bold;
}

.page-header__author {
  margin-top: 1em;
  font-size: 16px;
}

.page-header__date {
  margin-top: .5em;
  font-size: 12px;
}f

@media print,
screen and (min-width: 737px) {
  .page-header {
    padding: 40px;
  }

  .page-header h1 {
    font-size: 32px;
  }

  .page-header__author {
    font-size: 20px;
  }

  .page-header__date {
    font-size: 14px;
  }
}

/* カラーバリエーション */
.page-header.-red {
  background: var(--style-bg-red1);
}
.page-header.-blue {
  background: var(--style-bg-blue1);
}
.page-header.-yellow1 {
  background: var(--style-bg-yellow1);
}
.page-header.-blue3 {
  background: var(--style-bg-blue3);
}
.page-header.-purple {
  background: var(--style-bg-purple);
}
.page-header.-purple2 {
  background: var(--style-bg-purple2);
}
.page-header.-green2 {
  background: var(--style-bg-green2);
}
.page-header.-light_green {
  background: var(--style-bg-light_green);
}
.page-header.-pink {
  background: var(--style-bg-pink);
}
.page-header.-cream {
  background: var(--style-bg-cream);
}

/*--------------------------------
  footer
--------------------------------*/
.page-footer {
  padding: 24px 16px;
  text-align: center;
}

.page-footer__logo {
  width: 120px;
  margin: auto;
}

@media print,
screen and (min-width: 737px) {
  .page-footer {
    padding: 40px;
  }

  .page-footer__logo {
    width: 240px;
  }
}

/*--------------------------------
  float-menu
--------------------------------*/
.float-menu {
  position: fixed;
  bottom: 80px;
  right: 0;
  z-index: 9;
  width: 48px;
  display: flex;
  flex-direction: column;
}

.float-menu .btn-index {
  background: #fff;
  border-radius: 4px 0 0 4px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 64px;
  box-shadow: 0 1px 10px 0 rgba(0, 0, 0, .16);
}

.float-menu .btn-index .material-icon {
  font-size: 28px;
}

.float-menu .btn-index__txt {
  font-size: 10px;
}

.float-menu .btn-pagetop {
  margin-top: 16px;
  background: #fff;
  border-radius: 4px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  box-shadow: 0 1px 10px 0 rgba(0, 0, 0, .16);
}

.float-menu .btn-pagetop .material-icon {
  font-size: 28px;
}

@media print,
screen and (min-width: 737px) {
  .float-menu {
    width: 80px;
  }

  .float-menu .btn-index {
    width: 80px;
    height: auto;
    padding: 16px 0;
    box-shadow: 0 4px 10px 0 rgba(0, 0, 0, .16);
    border-radius: 8px 0 0 8px;
  }

  .float-menu .btn-index .material-icon {
    font-size: 40px;
  }

  .float-menu .btn-index__txt {
    font-size: 14px;
  }

  .float-menu .btn-pagetop {
    margin-top: 24px;
    width: 48px;
    height: 48px;
    box-shadow: 0 4px 10px 0 rgba(0, 0, 0, .16);
  }

  .float-menu .btn-pagetop .material-icon {
    font-size: 36px;
  }
}

/*--------------------------------
  index panel
--------------------------------*/
.index-panel {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 10;
  width: 80vw;
  height: 100dvh;
  display: flex;
  justify-content: flex-end;
  transition: all .4s;
}

.index-panel__overlay {
  width: 100vw;
  height: 100dvh;
  background: rgba(34, 36, 78, .2);
  position: fixed;
  top: 0;
  left: 0;
  transition: all .2s;
}

.index-panel__content {
  background: #fff;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 11;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, .16);
  display: flex;
  flex-direction: column;
  font-size: 14px;
  line-height: 1.5;
}

.index-panel[aria-hidden="true"] {
  right: -100vw;
}

.index-panel[aria-hidden="true"] .index-panel__overlay {
  pointer-events: none;
  opacity: 0;
  z-index: -1;
}

.index-panel[aria-hidden="false"] {
  right: 0;
}

.index-panel[aria-hidden="false"] .index-panel__overlay {
  opacity: 1;
  z-index: 10;
}

.index-panel__head {
  position: relative;
  padding: 24px;
  border-bottom: 1px solid var(--color-border-gray1);
}

.index-panel__head-ttl {
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
}

.index-panel__head .btn-close {
  position: absolute;
  top: 50%;
  right: 16px;
  font-size: 24px;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
}

.index-panel__body {
  flex: 1;
  overflow: hidden;
}

.index-panel__scroll {
  height: 100%;
  overflow-y: auto;
  overscroll-behavior: contain;
}

@media print,
screen and (min-width: 737px) {
  .index-panel {
    width: 480px;
  }

  .index-panel__head-ttl {
    font-size: 16px;
  }

  .index-panel__head .btn-close {
    font-size: 36px;
    width: 48px;
    height: 48px;
  }

  .index-panel__content {
    font-size: 16px;
  }

  /*  .index-panel__scroll::-webkit-scrollbar {
    width: 10px;
    border-radius: 5px;
    background: #efefef;
  }

  .index-panel__scroll::-webkit-scrollbar-thumb {
    background-color: #666;
    border-radius: 5px;
  }

  .index-panel__scroll::-webkit-scrollbar-thumb:hover {
    background-color: #444;
  }*/
}

/* ページ内の目次リストと同じスタイルを使用するためデザイン調整 */
.index-panel .page-index__list>li {
  padding: 16px 24px;
  border-bottom: 1px solid var(--color-border-gray1);
  margin-bottom: 0;
}

.index-panel .page-index__list>li:last-child {
  border-bottom: none;
}

.index-panel .page-index__list>li ul {
  margin: 1em 0 .5em 1em;
}

.index-panel .page-index__list>li ul>li {
  margin-bottom: .8em;
}

.index-panel .page-index__list>li ul>li:last-child {
  margin-bottom: 0;
}

/*--------------------------------
  body
--------------------------------*/
.page-body {
  padding: 24px 16px;
}

.page-body .contents p {
  margin-bottom: 1.5em;
}

.page-body .contents h2 {
  background: var(--color-bg-green1);
  padding: 16px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.4;
  border-radius: 4px;
  margin-top: 2em;
  margin-bottom: 1.5em;
}

/* カラーバリエーション */
.page-body .contents h2.-red {
  background: var(--style-bg-red2);
}
.page-body .contents h2.-blue {
  background: var(--style-bg-blue2);
}
.page-body .contents h2.-yellow {
  background: var(--style-bg-yellow1);
}
.page-body .contents h2.-green2 {
  background: var(--style-bg-green2);
}
.page-body .contents h2.-blue3 {
  background: var(--style-bg-blue3);
}
.page-body .contents h2.-purple {
  background: var(--style-bg-purple);
}
.page-body .contents h2.-purple2 {
  background: var(--style-bg-purple2);
}
.page-body .contents h2.-light_green {
  background: var(--style-bg-light_green);
}
.page-body .contents h2.-pink {
  background: var(--style-bg-pink);
}
.page-body .contents h2.-cream {
  background: var(--style-bg-cream);
}

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

.page-body .contents h3 {
  border-bottom: 1px solid var(--color-border-gray1);
  font-size: 18px;
  font-weight: bold;
  line-height: 1.4;
  padding-top: 8px;
  padding-bottom: 8px;
  margin-top: 1.5em;
  margin-bottom: 1em;
}

.page-body .contents h4 {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.4;
  margin-top: 2em;
  margin-bottom: 1em;
}

.page-body .contents h5 {
  font-weight: bold;
  margin-top: 2em;
  margin-bottom: 1em;
}

.tel {
  font-size: 20px;
  font-weight: bold;
  text-decoration: none;
}

@media print,
screen and (min-width: 737px) {
  .page-body {
    padding: 40px;
  }

  .page-body__container {
    max-width: 960px;
    margin: auto;
  }

  .page-body .contents {
    line-height: 2;
  }

  .page-body .contents h2 {
    padding: 16px 24px;
    font-size: 24px;
  }

  .page-body .contents h3 {
    font-size: 24px;
    padding-top: 12px;
    padding-bottom: 12px;
  }

  .page-body .contents h4 {
    font-size: 22px;
  }

  .page-body .contents h5 {
    font-size: 22px;
  }

  .tel {
    font-size: 22px;
    pointer-events: none;
    color: var(--color-txt);
  }
}

/* アコーディオン */
.accordion-content {
  position: relative;
}

.accordion-content[aria-hidden="true"] {
  display: none;
}

.accordion-trigger {
  padding-top: 8px;
  text-align: center;
  position: relative;
}

.accordion-trigger-btn {
  color: var(--color-gray1);
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
}

.accordion-trigger-btn::after {
  content: "\e5cf";
  font-family: 'Material Symbols Rounded';
  font-weight: normal;
  font-style: normal;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  font-size: 1.5em;
  position: relative;
  transition: transform .2s;
}

.accordion-trigger-btn[aria-expanded="true"]::after {
  transform: rotate(-180deg);
}

.accordion-trigger-btn span {
  position: relative;
}

.accordion-trigger-btn[aria-expanded="true"] span:nth-child(1),
.accordion-trigger-btn[aria-expanded="false"] span:nth-child(2) {
  display: none;
}

@media print,
screen and (min-width: 737px) {
  .accordion-trigger {
    padding-top: 16px;
  }

  .accordion-trigger-btn {
    font-size: 16px;
  }
}

/* 目次 */
.page-index {
  padding: 16px;
  border: 1px solid var(--color-border-gray1);
  margin-bottom: 40px;
}

.page-index__ttl {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 1em;
}

.page-index__list a {
  text-decoration: none;
  color: var(--color-txt);
}

.page-index__list li {
  line-height: 1.5;
  margin-bottom: .5em;
}

.page-index__list>li ul {
  margin: .5em 0 1em 1em;
}

.page-index .accordion-content[aria-hidden="true"] {
  display: block;
  height: 200px;
  overflow: hidden;
}

.page-index .accordion-trigger-btn[aria-expanded="false"]::before {
  content: "";
  display: block;
  background: linear-gradient(0deg, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0) 100%);
  width: 100%;
  height: 80px;
  position: absolute;
  bottom: 0;
  left: 0;
}

@media print,
screen and (min-width: 737px) {
  .page-index {
    padding: 32px;
  }

  .page-index__ttl {
    font-size: 16px;
  }

  .page-index__list a:hover {
    text-decoration: underline;
  }

  .page-index .accordion-content[aria-hidden="true"] {
    height: 180px;
  }
}

/*--------------------------------
  snippet
--------------------------------*/
/* リスト */
.list-dot>li {
  text-indent: -1em;
  padding-left: 1em;
}

.list-dot>li:before {
  content: "・";
}

.list-number {
  margin-left: 1.5em;
}

.list-number>li {
  list-style-type: decimal;
}

/* フォントサイズ */
.fs--11px {
  font-size: 11px !important;
}

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

.fs--13px {
  font-size: 13px !important;
}

.fs--14px {
  font-size: 14px !important;
}

.fs--16px {
  font-size: 16px !important;
}

.fs--18px {
  font-size: 18px !important;
}

.fs--20px {
  font-size: 20px !important;
}

.fs--22px {
  font-size: 22px !important;
}

.fs--24px {
  font-size: 24px !important;
}

@media print,
screen and (min-width: 737px) {
  .pc-fs--12px {
    font-size: 12px !important;
  }

  .pc-fs--13px {
    font-size: 13px !important;
  }

  .pc-fs--14px {
    font-size: 14px !important;
  }

  .pc-fs--16px {
    font-size: 16px !important;
  }

  .pc-fs--18px {
    font-size: 18px !important;
  }

  .pc-fs--20px {
    font-size: 20px !important;
  }

  .pc-fs--22px {
    font-size: 22px !important;
  }

  .pc-fs--24px {
    font-size: 24px !important;
  }

  .pc-fs--26px {
    font-size: 26px !important;
  }

  .pc-fs--28px {
    font-size: 28px !important;
  }

  .pc-fs--30px {
    font-size: 30px !important;
  }

  .pc-fs--32px {
    font-size: 32px !important;
  }

  .pc-fs--36px {
    font-size: 36px !important;
  }

  .pc-fs--40px {
    font-size: 40px !important;
  }
}

@media screen and (max-width: 736px) {
  .sp-fs--11px {
    font-size: 11px !important;
  }

  .sp-fs--12px {
    font-size: 12px !important;
  }

  .sp-fs--13px {
    font-size: 13px !important;
  }

  .sp-fs--14px {
    font-size: 14px !important;
  }

  .sp-fs--16px {
    font-size: 16px !important;
  }

  .sp-fs--18px {
    font-size: 18px !important;
  }

  .sp-fs--20px {
    font-size: 20px !important;
  }

  .sp-fs--22px {
    font-size: 22px !important;
  }

  .sp-fs--24px {
    font-size: 24px !important;
  }
}

/* フォントカラー */
.fc--red {
  color: var(--color-red1);
}

.fc--gray {
  color: var(--color-gray1);
}

.fc--blue {
  color: var(--color-blue2);
}

.fc--green {
  color: var(--color-green1);
}

.fc--yellow {
  color: var(--color-yellow2);
}

.fc--green2 {
  color: var(--color-green2);
}

.fc--blue3 {
  color: var(--color-blue3);
}

.fc--purple {
  color: var(--color-purple);
}

.fc--purple2 {
  color: var(--color-purple2);
}

.fc--light_green {
  color: var(--color-light_green);
}

.fc--pink {
  color: var(--color-pink);
}

.fc--cream {
  color: var(--color-cream);
}

.fc--link {
  color: var(--color-link);
}

/* 寄せ */
.center {
  text-align: center;
}

.right {
  text-align: right;
}

.left {
  text-align: left;
}

/* フロート */
.fl-right {
  float: right;
  margin: 0 0 .5em 1em;
}

.fl-left {
  float: left;
  margin: 0 1em .5em 0;
}

/* 枠つきボックス */
.line-box {
  border: 1px solid var(--color-border-gray1);
  padding: 16px;
}

.line-box--blue {
  border-color: var(--color-blue2);
}

.line-box--red {
  border-color: var(--color-red1);
}

.line-box--green {
  border-color: var(--color-green1);
}

.line-box--purple {
  border-color: var(--color-purple);
}

.line-box--light_green {
  border-color: var(--color-light_green);
}

.line-box--pink {
  border-color: var(--color-pink);
}

@media print,
screen and (min-width: 737px) {
  .line-box {
    padding: 32px;
  }
}

/* テーブル */
.table-normal th,
.table-normal td {
  border: 1px solid var(--color-border-gray1);
  padding: 1em;
  line-height: 1.5;
}

.table-normal th {
  background: var(--color-bg-gray1);
}

/* マージン上 */
.mt--0px {
  margin-top: 0 !important;
}

.mt--4px {
  margin-top: 4px !important;
}

.mt--8px {
  margin-top: 8px !important;
}

.mt--12px {
  margin-top: 12px !important;
}

.mt--16px {
  margin-top: 16px !important;
}

.mt--20px {
  margin-top: 20px !important;
}

.mt--24px {
  margin-top: 24px !important;
}

.mt--28px {
  margin-top: 28px !important;
}

.mt--32px {
  margin-top: 32px !important;
}

.mt--36px {
  margin-top: 36px !important;
}

.mt--40px {
  margin-top: 40px !important;
}

.mt--48px {
  margin-top: 48px !important;
}

.mt--56px {
  margin-top: 12px !important;
}

.mt--64px {
  margin-top: 64px !important;
}

.mt--72px {
  margin-top: 72px !important;
}

.mt--0-5em {
  margin-top: 0.5em !important;
}

.mt--1em {
  margin-top: 1em !important;
}

.mt--1-5em {
  margin-top: 1.5em !important;
}

.mt--2em {
  margin-top: 2em !important;
}

.mt--2-5em {
  margin-top: 2.5em !important;
}

.mt--3em {
  margin-top: 3em !important;
}

@media screen and (max-width: 736px) {
  .sp-mt--0px {
    margin-top: 0 !important;
  }

  .sp-mt--4px {
    margin-top: 4px !important;
  }

  .sp-mt--8px {
    margin-top: 8px !important;
  }

  .sp-mt--12px {
    margin-top: 12px !important;
  }

  .sp-mt--16px {
    margin-top: 16px !important;
  }

  .sp-mt--20px {
    margin-top: 20px !important;
  }

  .sp-mt--24px {
    margin-top: 24px !important;
  }

  .sp-mt--28px {
    margin-top: 28px !important;
  }

  .sp-mt--32px {
    margin-top: 32px !important;
  }

  .sp-mt--36px {
    margin-top: 36px !important;
  }

  .sp-mt--40px {
    margin-top: 40px !important;
  }

  .sp-mt--48px {
    margin-top: 48px !important;
  }

  .sp-mt--56px {
    margin-top: 12px !important;
  }

  .sp-mt--64px {
    margin-top: 64px !important;
  }

  .sp-mt--72px {
    margin-top: 72px !important;
  }

  .sp-mt--0-5em {
    margin-top: 0.5em !important;
  }

  .sp-mt--1em {
    margin-top: 1em !important;
  }

  .sp-mt--1-5em {
    margin-top: 1.5em !important;
  }

  .sp-mt--2em {
    margin-top: 2em !important;
  }

  .sp-mt--2-5em {
    margin-top: 2.5em !important;
  }

  .sp-mt--3em {
    margin-top: 3em !important;
  }
}

@media print,
screen and (min-width: 737px) {
  .pc-mt--0px {
    margin-top: 0 !important;
  }

  .pc-mt--4px {
    margin-top: 4px !important;
  }

  .pc-mt--8px {
    margin-top: 8px !important;
  }

  .pc-mt--12px {
    margin-top: 12px !important;
  }

  .pc-mt--16px {
    margin-top: 16px !important;
  }

  .pc-mt--20px {
    margin-top: 20px !important;
  }

  .pc-mt--24px {
    margin-top: 24px !important;
  }

  .pc-mt--28px {
    margin-top: 28px !important;
  }

  .pc-mt--32px {
    margin-top: 32px !important;
  }

  .pc-mt--36px {
    margin-top: 36px !important;
  }

  .pc-mt--40px {
    margin-top: 40px !important;
  }

  .pc-mt--48px {
    margin-top: 48px !important;
  }

  .pc-mt--56px {
    margin-top: 56px !important;
  }

  .pc-mt--64px {
    margin-top: 64px !important;
  }

  .pc-mt--72px {
    margin-top: 72px !important;
  }

  .pc-mt--80px {
    margin-top: 80px !important;
  }

  .pc-mt--100px {
    margin-top: 100px !important;
  }

  .pc-mt--0-5em {
    margin-top: 0.5em !important;
  }

  .pc-mt--1em {
    margin-top: 1em !important;
  }

  .pc-mt--1-5em {
    margin-top: 1.5em !important;
  }

  .pc-mt--2em {
    margin-top: 2em !important;
  }

  .pc-mt--2-5em {
    margin-top: 2.5em !important;
  }

  .pc-mt--3em {
    margin-top: 3em !important;
  }
}

/* マージン下 */
.mb--0px {
  margin-bottom: 0 !important;
}

.mb--4px {
  margin-bottom: 4px !important;
}

.mb--8px {
  margin-bottom: 8px !important;
}

.mb--12px {
  margin-bottom: 12px !important;
}

.mb--16px {
  margin-bottom: 16px !important;
}

.mb--20px {
  margin-bottom: 20px !important;
}

.mb--24px {
  margin-bottom: 24px !important;
}

.mb--28px {
  margin-bottom: 28px !important;
}

.mb--32px {
  margin-bottom: 32px !important;
}

.mb--36px {
  margin-bottom: 36px !important;
}

.mb--40px {
  margin-bottom: 40px !important;
}

.mb--48px {
  margin-bottom: 48px !important;
}

.mb--56px {
  margin-bottom: 12px !important;
}

.mb--64px {
  margin-bottom: 64px !important;
}

.mb--72px {
  margin-bottom: 72px !important;
}

.mb--0-5em {
  margin-bottom: 0.5em !important;
}

.mb--1em {
  margin-bottom: 1em !important;
}

.mb--1-5em {
  margin-bottom: 1.5em !important;
}

.mb--2em {
  margin-bottom: 2em !important;
}

.mb--2-5em {
  margin-bottom: 2.5em !important;
}

.mb--3em {
  margin-bottom: 3em !important;
}

@media screen and (max-width: 736px) {
  .sp-mb--0px {
    margin-bottom: 0 !important;
  }

  .sp-mb--4px {
    margin-bottom: 4px !important;
  }

  .sp-mb--8px {
    margin-bottom: 8px !important;
  }

  .sp-mb--12px {
    margin-bottom: 12px !important;
  }

  .sp-mb--16px {
    margin-bottom: 16px !important;
  }

  .sp-mb--20px {
    margin-bottom: 20px !important;
  }

  .sp-mb--24px {
    margin-bottom: 24px !important;
  }

  .sp-mb--28px {
    margin-bottom: 28px !important;
  }

  .sp-mb--32px {
    margin-bottom: 32px !important;
  }

  .sp-mb--36px {
    margin-bottom: 36px !important;
  }

  .sp-mb--40px {
    margin-bottom: 40px !important;
  }

  .sp-mb--48px {
    margin-bottom: 48px !important;
  }

  .sp-mb--56px {
    margin-bottom: 12px !important;
  }

  .sp-mb--64px {
    margin-bottom: 64px !important;
  }

  .sp-mb--72px {
    margin-bottom: 72px !important;
  }

  .sp-mb--0-5em {
    margin-bottom: 0.5em !important;
  }

  .sp-mb--1em {
    margin-bottom: 1em !important;
  }

  .sp-mb--1-5em {
    margin-bottom: 1.5em !important;
  }

  .sp-mb--2em {
    margin-bottom: 2em !important;
  }

  .sp-mb--2-5em {
    margin-bottom: 2.5em !important;
  }

  .sp-mb--3em {
    margin-bottom: 3em !important;
  }
}

@media print,
screen and (min-width: 737px) {
  .pc-mb--0px {
    margin-bottom: 0 !important;
  }

  .pc-mb--4px {
    margin-bottom: 4px !important;
  }

  .pc-mb--8px {
    margin-bottom: 8px !important;
  }

  .pc-mb--12px {
    margin-bottom: 12px !important;
  }

  .pc-mb--16px {
    margin-bottom: 16px !important;
  }

  .pc-mb--20px {
    margin-bottom: 20px !important;
  }

  .pc-mb--24px {
    margin-bottom: 24px !important;
  }

  .pc-mb--28px {
    margin-bottom: 28px !important;
  }

  .pc-mb--32px {
    margin-bottom: 32px !important;
  }

  .pc-mb--36px {
    margin-bottom: 36px !important;
  }

  .pc-mb--40px {
    margin-bottom: 40px !important;
  }

  .pc-mb--48px {
    margin-bottom: 48px !important;
  }

  .pc-mb--56px {
    margin-bottom: 56px !important;
  }

  .pc-mb--64px {
    margin-bottom: 64px !important;
  }

  .pc-mb--72px {
    margin-bottom: 72px !important;
  }

  .pc-mb--80px {
    margin-bottom: 80px !important;
  }

  .pc-mb--100px {
    margin-bottom: 100px !important;
  }

  .pc-mb--0-5em {
    margin-bottom: 0.5em !important;
  }

  .pc-mb--1em {
    margin-bottom: 1em !important;
  }

  .pc-mb--1-5em {
    margin-bottom: 1.5em !important;
  }

  .pc-mb--2em {
    margin-bottom: 2em !important;
  }

  .pc-mb--2-5em {
    margin-bottom: 2.5em !important;
  }

  .pc-mb--3em {
    margin-bottom: 3em !important;
  }
}

/* 幅 */
.width--a {
  width: auto;
}

.width--80px {
  width: 80px;
}

.width--100px {
  width: 100px;
}

.width--120px {
  width: 120px;
}

.width--140px {
  width: 140px;
}

.width--160px {
  width: 160px;
}

.width--180px {
  width: 180px;
}

.width--200px {
  width: 200px;
}

.width--220px {
  width: 220px;
}

.width--240px {
  width: 240px;
}

.width--280px {
  width: 280px;
}

.width--320px {
  width: 320px;
}

.width--400px {
  width: 400px;
}

.width--480px {
  width: 480px;
}

.width--560px {
  width: 560px;
}

.width--640px {
  width: 640px;
}

.width--720px {
  width: 720px;
}

.width--10p {
  width: 10%;
}

.width--20p {
  width: 20%;
}

.width--25p {
  width: 25%;
}

.width--33p {
  width: 33.3333%;
}

.width--30p {
  width: 30%;
}

.width--40p {
  width: 40%;
}

.width--50p {
  width: 50%;
}

.width--60p {
  width: 60%;
}

.width--70p {
  width: 70%;
}

.width--75p {
  width: 75%;
}

.width--80p {
  width: 80%;
}

.width--90p {
  width: 90%;
}

.width--100p {
  width: 100% !important;
}

.width--1em {
  width: 1em;
}

.width--2em {
  width: 2em;
}

.width--3em {
  width: 3em;
}

.width--4em {
  width: 4em;
}

.width--5em {
  width: 5em;
}

@media screen and (max-width: 736px) {
  .sp-width--a {
    width: auto;
  }

  .sp-width--40px {
    width: 40px;
  }

  .sp-width--60px {
    width: 60px;
  }

  .sp-width--80px {
    width: 80px;
  }

  .sp-width--100px {
    width: 100px;
  }

  .sp-width--120px {
    width: 120px;
  }

  .sp-width--140px {
    width: 140px;
  }

  .sp-width--160px {
    width: 160px;
  }

  .sp-width--180px {
    width: 180px;
  }

  .sp-width--200px {
    width: 200px;
  }

  .sp-width--220px {
    width: 220px;
  }

  .sp-width--240px {
    width: 240px;
  }

  .sp-width--280px {
    width: 280px;
  }

  .sp-width--320px {
    width: 320px;
  }

  .sp-width--10p {
    width: 10%;
  }

  .sp-width--20p {
    width: 20%;
  }

  .sp-width--25p {
    width: 25%;
  }

  .sp-width--33p {
    width: 33.3333%;
  }

  .sp-width--30p {
    width: 30%;
  }

  .sp-width--40p {
    width: 40%;
  }

  .sp-width--50p {
    width: 50%;
  }

  .sp-width--60p {
    width: 60%;
  }

  .sp-width--70p {
    width: 70%;
  }

  .sp-width--75p {
    width: 75%;
  }

  .sp-width--80p {
    width: 80%;
  }

  .sp-width--90p {
    width: 90%;
  }

  .sp-width--100p {
    width: 100% !important;
  }
}

@media print,
screen and (min-width: 737px) {
  .pc-width--a {
    width: auto;
  }

  .pc-width--40px {
    width: 40px;
  }

  .pc-width--60px {
    width: 60px;
  }

  .pc-width--80px {
    width: 80px;
  }

  .pc-width--100px {
    width: 100px;
  }

  .pc-width--120px {
    width: 120px;
  }

  .pc-width--140px {
    width: 140px;
  }

  .pc-width--160px {
    width: 160px;
  }

  .pc-width--180px {
    width: 180px;
  }

  .pc-width--200px {
    width: 200px;
  }

  .pc-width--240px {
    width: 240px;
  }

  .pc-width--280px {
    width: 280px;
  }

  .pc-width--320px {
    width: 320px;
  }

  .pc-width--360px {
    width: 360px;
  }

  .pc-width--400px {
    width: 400px;
  }

  .pc-width--480px {
    width: 480px;
  }

  .pc-width--560px {
    width: 560px;
  }

  .pc-width--640px {
    width: 640px;
  }

  .pc-width--720px {
    width: 720px;
  }

  .pc-width--10p {
    width: 10%;
  }

  .pc-width--20p {
    width: 20%;
  }

  .pc-width--25p {
    width: 25%;
  }

  .pc-width--30p {
    width: 30%;
  }

  .pc-width--33p {
    width: 33.3333%;
  }

  .pc-width--40p {
    width: 40%;
  }

  .pc-width--50p {
    width: 50%;
  }

  .pc-width--60p {
    width: 60%;
  }

  .pc-width--70p {
    width: 70%;
  }

  .pc-width--75p {
    width: 75%;
  }

  .pc-width--80p {
    width: 80%;
  }

  .pc-width--90p {
    width: 90%;
  }

  .pc-width--100p {
    width: 100% !important;
  }
}

/* YouTubeサムネイルをモーダルウィンドウで再生する */
#youtube_wrap {
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
}
.youtube_modal {
  display: block;
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding-top: 56.25%;
}
.youtube_modal iframe, .youtube_modal a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
