@charset "UTF-8";
/* -----------------------------------------
 Reset
------------------------------------------- */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}
ul,ol{
  list-style: none;
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}
em {
  font-style: normal;
}
a {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  background: transparent;
  -webkit-tap-highlight-color:rgba(0,0,0,.0);/*透明*/
}
div{
  -webkit-tap-highlight-color:rgba(0,0,0,.0);/*透明*/
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ddd;
  margin: .8rem 0;
  padding: 0;
}
input, select {
  vertical-align: middle;
}
.nowrap {
  white-space: nowrap;
}
.hidden{
  overflow: hidden;
}
sup {
  font-size: 60%;
  vertical-align: top;
  position: relative;
  top: 0.2em;
}
.page-title sup {
  font-size: 40%;
}
sup.reg {
  font-size: 80%;
  top: 0;
}
.shadow{
  text-shadow: 0 0 20px black,2px 2px 10px black;
}
/* -----------------------------------------
 基本
------------------------------------------- */
html {
  font-size: 62.5%;
  font-size: 16px;
  height: 100%;
}
body {
  line-height: 1.5;
  color: #000;
  background: #FFF;
  font-size: 1rem;
  font-weight: 400;
  font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  -webkit-text-size-adjust: 100%;
  letter-spacing: 0.04em;
  overflow: visible;
  padding-top: 102px;
}
html, body {
  overflow-x: hidden;
}
@media (max-width: 1024px) {
  body{
    padding-top: 141px;
  }
}
@media (max-width: 767px) {
  body{
    padding-top: 110px;
  }
}

img {
  max-width: 100%;
  pointer-events: none;
  vertical-align: bottom;
}
.opa0{ opacity: 0 }
.shadow{
  text-shadow: 3px 3px 1px rgba(0,0,0,0.3);
}
a{
  text-decoration: none;
  color: #333;
  cursor: pointer;
}
a:hover{
  opacity: 0.7;
}
button {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  cursor: pointer;
}

h1{
  font-size: 1.875rem;
  font-weight: 700;
}
h2{
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 40px;
}
h3{
  font-size: 1.25rem;
  font-weight: 700;
  border-bottom: 1px solid #d6d6d6;
  padding-bottom: 20px;
  margin-bottom: 32px;
}
h4{
  font-size: 1.25rem;
  font-weight: 700;
}
@media (max-width: 767px) {
  h1{
    font-size: 1.5rem;
  }
  h2{
    font-size: 1.25rem;
    text-align: center;
    margin-bottom: 48px;
  }
  h3{
    font-size: 1.125rem;
    text-align: center;
  }
  h4{
    font-size: 1rem;
    text-align: center;
  }
}

/* -----------------------------------
  Utility: 文字装飾
------------------------------------ */
.u-marker {
  background-color: #ffff99; 
}
.u-green {
  color: #01916D;
}
.u-underline {
  text-decoration: underline;
}

/* -----------------------------------
  Utility: 表示制御
------------------------------------ */
.br-pc {
    display: inline;
}
.br-sp {
  display: none;
}


@media (max-width: 767px) {
  .br-pc {
    display: none;
  }
  .br-sp {
    display: inline;
  }
}


.br--1180,
.br--1024,
.br--880,
.br--767 {
  display: none;
}

@media (max-width: 1180px) {
  .br--1180 {
    display: inline;
  }
}

@media (max-width: 1024px) {
  .br--1024 {
    display: inline;
  }
}

@media (max-width: 880px) {
  .br--880 {
    display: inline;
  }
}

@media (max-width: 767px) {
  .br--767 {
    display: inline;
  }
}
.br--not-768-1024 {
  display: inline; /* 基本は表示 */
}

@media (min-width: 768px) and (max-width: 1024px) {
  .br--not-768-1024 {
    display: none;
  }
}
.br--not-under-1024 {
  display: inline; /* 通常は表示 */
}
@media (max-width: 1024px) {
  .br--not-under-1024 {
    display: none; /* 1024px以下で非表示 */
  }
}


.only-pc {
    display: block;
}
.only-sp {
  display: none;
}

@media (max-width: 767px) {
  .only-pc {
    display: none;
  }
  .only-sp {
    display: block;
  }
}


/* ----------------------------------------
  Layout: ユーティリティ系（余白・配置など）
---------------------------------------- */
.text-center {
  text-align: center;
}

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

@media (max-width: 767px) {
  .mt-40 {
    margin-top: 24px;
  }
}
.u-jc-between {
  justify-content: space-between !important;
}

/* ----------------------------------------
  Layout: 既存サイトで使用（コラムで主に使用）
---------------------------------------- */

/* margin*/
.mt0 {margin-top:0 !important;}
.mt02em {margin-top:0.2em !important;}
.mt03em {margin-top:0.3em !important;}
.mt05em {margin-top:0.5em !important;}
.mt07em {margin-top:0.7em !important;}
.mt1em {margin-top:1.0em !important;}
.mt15em {margin-top:1.5em !important;}
.mt2em {margin-top:2.0em !important;}
.mt25em {margin-top:2.5em !important;}
.mt3em {margin-top:3.0em !important;}
.mt4em {margin-top:4.0em !important;}
.mt5em {margin-top:5.0em !important;}

.mt10p {margin-top:10px !important;}
.mt15p {margin-top:15px !important;}
.mt20p {margin-top:20px !important;}
.mt30p {margin-top:30px !important;}
.mt40p {margin-top:40px !important;}
.mt50p {margin-top:50px !important;}
.mt60p {margin-top:60px !important;}
.mt70p {margin-top:70px !important;}

.mb0 {margin-bottom:0 !important;}
.mb02em {margin-bottom:.2em !important;}
.mb03em {margin-bottom:.3em !important;}
.mb05em {margin-bottom:.5em !important;}
.mb07em {margin-bottom:.7em !important;}
.mb1em {margin-bottom:1.0em !important;}
.mb15em {margin-bottom:1.5em !important;}
.mb2em {margin-bottom:2.0em !important;}
.mb25em {margin-bottom:2.5em !important;}
.mb3em {margin-bottom:3.0em !important;}
.mb4em {margin-bottom:4.0em !important;}
.mb5em {margin-bottom:5.0em !important;}
.mb10p {margin-bottom:10px !important;}
.mb15p {margin-bottom:15px !important;}
.mb20p {margin-bottom:20px !important;}
.mb30p {margin-bottom:30px !important;}
.mb40p {margin-bottom:40px !important;}
.mb50p {margin-bottom:50px !important;}
.mb60p {margin-bottom:60px !important;}
.mb70p {margin-bottom:70px !important;}

.ml0 {margin-left:0 !important;}
.ml05em {margin-left:0.5em !important;}
.ml1em {margin-left:1.0em !important;}
.ml2em {margin-left:2.0em !important;}
.ml25em {margin-left:2.5em !important;}
.ml3em {margin-left:3.0em !important;}
.ml35em {margin-left:3.5em !important;}
.ml4em {margin-left:4.0em !important;}

.mr0 {margin-right:0 !important;}
.mr05em {margin-right:0.5em !important;}
.mr1em {margin-right:1.0em !important;}
.mr2em {margin-right:2.0em !important;}

/* padding */
.pt0 {padding-top:0 !important;}
.pt05em {padding-top:0.5em !important;}
.pt1em {padding-top:1.0em !important;}
.pt2em {padding-top:2.0em !important;}

.pb0 {padding-bottom:0 !important;}
.pb1em {padding-bottom:1.0em !important;}
.pb2em {padding-bottom:2.0em !important;}
.pb3em {padding-bottom:3.0em !important;}

.pl1em {padding-left:1.0em !important;}
.pl2em {padding-left:2.0em !important;}


.pr1em {padding-right:1.0em !important;}
.pr2em {padding-right:2.0em !important;}

@media only screen and (min-width: 751px) {
	.pcmt75em { margin-top:.75em!important; }
}


/* ----------------------------------------
  Layout: 基本コンテナ
---------------------------------------- */
.container {
  max-width: 1248px;
  margin: 0 auto;
  padding: 0 16px;
}

@media (max-width: 767px) {
  .container {
    padding: 0 12px;
  }
}
main{
  margin-top: -10px;
}
@media (max-width: 1280px) {
  main{
  margin-top: -12.5px;
  }
}
@media (max-width: 1180px) {
  main{
  margin-top: -13px;
  }
}
@media (max-width: 767px) {
  main{
  margin-top:0;
  }
}




/* ----------------------------------------
  Layout: セクション構造
---------------------------------------- */
.section {
  padding: 60px 0;
}
.section-inner {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 16px;
}

@media (max-width: 767px) {
  .section {
    padding: 40px 0;
  }

  .section-inner {
    padding: 0 12px;
  }
}

/* ----------------------------------------
  Layout: カラム・横並び
---------------------------------------- */
.l-container {
  width: 100%;
  max-width: 1312px;
  margin-inline: auto;
  padding-inline: 32px;
  box-sizing: border-box;
  overflow: visible;
}
.l-container--border{
  border-bottom: 1px solid #d6d6d6;
  margin-bottom: 64px;
}

/* 親ラッパー：カラム全体を囲む */
.l-cols {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  margin-bottom: 4rem;
}
.l-cols--2 {
  gap: 2.5rem;
}
.l-cols--3 {
  gap: 1.25rem;
}
.l-cols--4 {
  gap: 2rem;
}

/* 子アイテム（自動で幅を割り当てる）*/
.l-cols__item {
  box-sizing: border-box;
}

/* 明示的なカラム幅設定（デフォルトはPC想定） */
.l-cols--1 .l-cols__item { width: 100%; }
.l-cols--2 .l-cols__item { width: calc(50% - 2.5rem); }
.l-cols--3 .l-cols__item { width: calc(33.333% - 1.25rem); }
.l-cols--4 .l-cols__item { width: calc(25% - 2rem); }

/*メインカラムと右カラム*/
.l-cols--fixed {
  display: flex;
  flex-wrap: wrap;
  gap: 56px;
  max-width: 1248px;
  margin-inline: auto;
  padding-inline: 2rem;
  box-sizing: border-box;
}
/* 幅指定 */
.l-cols__main-fixed {
  flex: 0 0 calc(73% - 28px); /* gapの半分引く */
  max-width: calc(73% - 28px);
}
.l-cols__aside-fixed {
  flex: 0 0 calc(27% - 28px); /* gapの半分引く */
  max-width: calc(27% - 28px);
}


@media (max-width: 1024px) {
  .l-cols--fixed {
    gap: 64px;
  }
  /* 幅指定 */
  .l-cols__main-fixed {
    flex: 0 0 calc(73% - 20px); /* gapの半分引く */
    max-width: calc(73% - 20px);
  }
  .l-cols__aside-fixed {
    flex: 0 0 calc(27% - 20px); /* gapの半分引く */
    max-width: calc(27% - 20px);
  }
}

@media (max-width: 767px) {

  .l-container--border{
    margin-bottom: 48px;
  }
  .l-cols{
    margin-bottom: 32px;
  }
  .l-cols__item {
    width: 100% !important;
  }
  /* SP時は縦並び */
  .l-cols__main-fixed,
  .l-cols__aside-fixed {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

@media (max-width: 375px) {
  .l-container{
    padding-inline: 16px;
  }
}


/* ----------------------------------------
  Layout: ヘッダー・フッター構造
---------------------------------------- */
.site-header{
  border-bottom: solid 4px #01916D;
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 16px;
  box-sizing: border-box;
}
.site-header__container{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0;
}
.site-header__sp-tools {
  display: none;
}
@media (max-width: 1024px) {
  .site-header{
    padding: 10px 16px 0;
  }
}
@media (max-width: 767px) {
  .site-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    padding: 0;
    border-bottom: none;
  }
  .site-header__container {
    width: 100%;
    display: flex;
    padding: 17px 16px;
    box-sizing: border-box;
    align-items: center;
    justify-content: space-between;
    border-bottom: solid 3px #01916D;
  }
  .site-header__sp-tools {
    display: flex;
    gap: 1rem;
    align-items: center;
  }
}
@media (max-width: 390px) {
  .site-header__sp-tools {
    gap: 0.75rem;
  }
}
@media (max-width: 360px) {
  .site-header__sp-tools {
    gap: 0.5rem;
  }
}

.site-footer {
  text-align: center;
  padding: 40px 16px;
}

@media (max-width: 767px) {

  .site-footer {
    padding: 32px 12px;
  }
}


/* ----------------------------------------
  Component: ヘッダー
---------------------------------------- */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  background: #fff;
  transition: transform 0.3s ease;
}
.site-header.is-hide {
  transform: translateY(-100%);
}
.site-header__logo  a {
  display: flex;
  align-items: center;
  gap: 25px;
}
.site-header__logo span img{
  width: 108px;
  block-size: auto;
}
.site-header__logo-img{
  line-height: 1;
}
.site-header__logo-text {
  text-decoration: none;
  color: #333;
  font-size: 1rem;
  font-weight: 700;
}
.nav__list {
  display: flex;
  list-style: none;
  padding: 0 0;
  margin: 0;
  gap:32px;
  align-items: center;
}
.nav__link{
  padding: 32px 0;
}
.nav__link:hover{
  font-weight: 700;
  opacity: 1;
}

/*megamenu*/
.nav__item--has-megamenu:hover .nav__link button {
  font-weight: 700;
}
.nav__item--has-megamenu .megamenu {
  display: none;
}
.nav__item--has-megamenu:hover .megamenu
/* .has-megamenu:hover .megamenu-overlay  */{
  display: block;
}
.megamenu {
  position: absolute;
  top: 88px;
  left: 0;
  width: 100vw;
  border-top: 4px solid #01916D;
  background: #fff;
  z-index: 990;
  box-shadow: 0 6px 8px rgba(0, 0, 0, 0.1);
}
.megamenu__content {
  max-width: 1248px;
  margin: 0 auto;
  padding: 30px 0 40px;
}
.megamenu__title{
  margin-bottom: 48px;
  font-size: 1.5rem;
  font-weight: 700;
  display: flex;
  align-items: center;
}
.megamenu__title img{
  margin-right: 10px;
}
.megamenu__list{
  display: flex;
  justify-content: space-between;
}
.megamenu__icon-wrap {
  width: 100px;
  height: 76px;
  margin: 0 8px 0 0;
  display: flex;
  align-items: center;
  justify-content: left;
}
.megamenu__icon{
  display: block;
  margin-bottom: 12px;
    max-width: 100%;
  max-height: 100%;
}
.megamenu__divider {
  width: 1px;
  background-color: #d6d6d6;
}
.megamenu__submenu-title{
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom: 18px;
  display: block;
}
.megamenu__icon-arrow{
  margin-left: 4px;
}
.megamenu__submenu{
  list-style: disc;
  list-style-position: outside;
  padding-left: 1.2rem;
}
.megamenu__submenu li  + li{
  margin-top: 10px;
}
.megamenu__submenu li{
  font-size: 0.875rem;
}

.site-header__info{
  display: flex;
  align-items: center;
  gap: 20px;
}
.site-header__tel--pc{
  font-size: 1.44rem;
  font-weight: 700;
}
.site-header__tel--pc a{
  display: flex;
  align-items: center;
  gap: 2px;
}
.site-header__tel-icon--pc{
  line-height: 1;
}
.site-header__tel-note--pc{
  display: block;
  font-size: 0.75rem;
  font-weight: normal;
  text-align: right;
  letter-spacing: normal;
}
.site-header__help-icon{
  display: block;
  text-align: center;
  font-size: 0.75rem;
  line-height: 2rem;
  margin-bottom: 2px;
}
.site-header__help-text{
  display: block;
  text-align: center;
  font-size: 0.75rem;
  line-height: 2rem;
}
/*ヘルプモーダル*/
.iziModal--help{
  max-width: 700px!important;
}
.sp-help-modal__content{
  padding: 40px 24px 24px;

}
.hamburger-close {
  position: relative;
  width: 24px;
  height: 24px;
  border: none;
  background: none;
  cursor: pointer;
}
.hamburger-close span {
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  height: 3px;
  background-color: #333;
  transform-origin: center;
}
/* 1本目を右上がり（＼）に */
.hamburger-close span:first-child {
  transform: rotate(45deg);
}
/* 2本目を左上がり（／）に */
.hamburger-close span:last-child {
  transform: rotate(-45deg);
}
.hamburger-close.js-sp-help-close {
  position: absolute;
  right: 10px;
  top: 10px;
  }
.sp-help-menu__title{
  margin-bottom: 12px;
  font-size: 1.125rem;
  font-weight: 700;
  text-align: center;
}
.sp-help-menu__subtitle{
  font-size: 0.75rem;
  margin-top: 22px;
  display: inline-block;
}
.sp-help-menu__title-icon{
  margin: 0 6px 3px 0;
}
.sp-help-menu__link{
  display: flex;
  align-items: center;
  justify-content: center;
}
.sp-help-menu__list li:nth-child(2) .sp-help-menu__icon-wrap{
  margin-right: 0.3rem;
}
.sp-help-menu__icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;   /* 全アイコン共通の枠サイズ */
  height: 30px;
  margin-right: 0.8rem;
  flex-shrink: 0;
}
.sp-help-menu__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.sp-help-menu__list li {
  border-bottom: 1px solid #d6d6d6;
  padding: 12px 0;
}
.sp-help-menu__list li:last-child {
  border-bottom: none;
}
.sp-nav, .hamburger { 
  display: none;
}
.site-header__contact--sp{
  display: none;
}
.site-header__help-button{
  padding: 10px 0;
}

@media (max-width: 1280px) {
  .site-header__logo-text{
    font-size: 0.9375rem;
  }
  .nav__list {
    gap: 16px;
  }
  .nav__item{
   font-size: 0.9rem;
  }
  .site-header__info{
    gap: 12px;
  }
  .site-header__tel--pc{
    font-size: 1.3125rem;
  }
  .site-header__tel-note--pc,
  .site-header__help-text{
    font-size: 0.6875rem;
  }
  .megamenu{
    top: 86px;
  }
  .megamenu__content {
    margin: 0 auto;
    padding: 30px 40px 40px;
  }
}
@media (max-width: 1180px) {
  .site-header__logo span img{
    width: 96px;
  }
  .site-header__logo a{
    gap: 20px;
  }
  .site-header__logo-text{
    font-size: 0.75rem;
  }
  .nav__list {
    gap: 12px;
  }
  .nav__item{
   font-size: 0.875rem;
  }
  .site-header__info{
    gap: 8px;
  }
  .site-header__tel--pc{
    font-size: 1.125rem;
  }
  .site-header__tel-note--pc,
  .site-header__help-text{
    font-size: 0.6875rem;
  }
  .site-header__tel--pc a{
    margin-bottom: 5px;
  }
  .site-header__help-icon{
  margin-bottom: 1px;
  }
  .megamenu{
    top: 85px;
  }
  .megamenu__submenu-title{
    font-size: 1rem;
  }
  .megamenu__item{
    padding: 0 8px;
  }
  .megamenu__icon-arrow{
    width: 22px;
  }
}
@media (max-width: 1024px) {
  .site-header__logo {
    order: 1;
    width: 48%;
  }
  .site-header__info {
    order: 2;
    width: 46%;
    justify-content: flex-end;
  }
  .site-header__nav {
    order: 3;
    width: 100%;
    margin-top: -10px;
  }
  .site-header__logo span img{
    width: 98px;
  }
  .site-header__logo a{
    gap: 14px;
  }
  .site-header__logo-text{
    font-size: 0.875rem;
  }
  .nav__list {
    gap: 16px;
    justify-content: center;
  }
  .nav__item{
   font-size: 0.9375rem;
  }
  .nav__link{
    padding: 20px 0;
  }
  .site-header__info{
    gap: 8px;
    margin-right: 2rem;
  }
  .site-header__tel--pc{
    font-size: 1.25rem;
  }
  .site-header__tel-note--pc,
  .site-header__help-text--pc{
    font-size: 0.6875rem;
  }
  .site-header__help-button{
    position: absolute;
    top: 0.18rem;
    right: 1rem;
    padding: 0 0 48px;
  }
  .site-header__help-icon{
    margin-top: 0px;
    margin-bottom: 2px;
  }
  .megamenu{
    margin-top: 43.5px;
  }
  .megamenu__content{
    padding: 30px 20px;
  }
  .megamenu__item{
    padding: 0 8px;
  }
  .megamenu__title{
    font-size: 1.25rem;
    margin-bottom: 20px;
  }
  .megamenu__submenu-title{
    font-size: 0.875rem;
    display: flex;
    align-items: center;
    margin-bottom: 8px;
  }
  .megamenu__submenu li{
    font-size: 0.75rem;
  }
  .megamenu__icon-arrow{
    width: 18px;
  }
}
@media (max-width: 767px) {
  .site-header__nav{
    display: none;
  }
  .site-header__tel--pc{
    display: none;
  }
  .site-header__help{
    display: none;
  }
  .site-header__info{
    display: none;
  }
  .site-header__logo {
    order: 0;
    width: auto;
  }
  .site-header__logo-img{
    line-height: 1;
  }
  .site-header__logo a{
    gap: 18px;
  }
  .site-header__logo span img{
    width: 86px;
  }
  .site-header__logo-text {
    font-size: 0.85rem;
  }
  .hamburger {
    display: inline-block;
    width: 20px;
    height: 14px;
    position: relative;
    border: none;
    background: transparent;
    padding: 0;
    cursor: pointer;
  }

  .hamburger span {
    display: block;
    width: 100%;
    height: 2px;
    background-color: #333;
    position: absolute;
    left: 0;
    transition: 0.3s;
  }

  /* 各線の縦位置を調整 */
  .hamburger span:nth-child(1) {
    top: 0;
  }
  .hamburger span:nth-child(2) {
    top: 7px;
  }
  .hamburger span:nth-child(3) {
    top: 15px;
  }


  body.is-fixed {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    overflow: hidden;
  }
  .sp-nav {
    display: block;
    position: fixed;
    top: 0;
    right: -100%; /* 最初は画面外に隠す */
    width: 100%;
    height: 100vh;
    background: #fff;
    transition: right .3s ease;
    z-index: 100;
      overflow-y: auto; /* ← これ！ */
    -webkit-overflow-scrolling: touch; /* iOS対策 */
  }
  .sp-nav.is-open {
    right: 0;
  }

  .sp-nav__header .site-header__container{
    border-bottom: none;
  }
  .sp-nav-list{
    padding: 0 2rem;
  }
  .sp-nav-item--footer-only {
    display: none;
  }

  .sp-nav-list--footer .sp-nav-item--footer-only {
    display: block;
  }
  .sp-nav-group{
    margin-bottom: 1rem;
  }

  .sp-nav-group__title {
    margin-bottom: 1rem;
    padding: 1rem 0;
    font-size: 1.125rem;
    border-bottom: 1px dotted #d6d6d6;
  }
  .sp-nav-group__title img {
    margin-right: 10px;
    vertical-align: middle;
  }


  .sp-nav-parent,
  .sp-nav-link {
    display: flex;
    align-items: center;
    width: 100%;
    padding: .4rem 0;
    font-size: 1rem;
    text-decoration: none;
    color: inherit;
    background: none;
    border: none;
    cursor: pointer;
  }
   .sp-nav-link {
    padding: 1rem 0;
    border-bottom: 1px solid #d6d6d6;
    font-size: 1rem;
  }

  .sp-nav-sub {
    display: none;
    margin-top: -0.5rem;
    padding: 0 0 1rem 2.5rem;
    font-size: 0.875rem;
    list-style: disc;
    list-style-position: inside;
  }
  .sp-nav-sub li {
    padding: 0.4rem 0;
  }
  .sp-nav-sub li > a{
    display: inline-block;
    width: 93%;
  }
  .toggle-icon {
    position: relative;
    width: 12px;
    height: 12px;
    margin-left: auto;
    flex-shrink: 0;
  }
  .line {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 1px; /* ← ここで線の太さ調整 */
    background: #333;
    transform: translateY(-50%);
    border-radius: 1px;
  }
  .line.vertical {
    transform: translateY(-50%) rotate(90deg);
  }
  .sp-nav-item.is-open .line.vertical {
    display: none;
  }
  .sp-nav__icon-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;   /* 全アイコン共通の枠サイズ */
    height: 30px;
    margin-right: 0.8rem;
    flex-shrink: 0;
  }

  .sp-nav__icon {
    width: 30px;
    height: auto;
    display: block;
  }

  .site-header__contact--sp{
    display: block;
    width: 100%;
    padding: 4px;
    box-sizing: border-box;
    border-bottom: 1px solid #d6d6d6;
    text-align: center;
  }
  .site-header__tel-icon--sp img{
    width: 17px;
    margin-bottom: 1px;
  }
  .site-header__tel--sp a{
    font-size: 0.9375rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 3px;
  }
  .site-header__tel-note--sp{
    font-size: 0.6875rem;
    padding-left: 4px;
  }
  .site-header__help-text{
    line-height: 1;
    font-size: 0.625rem;
  }
  .site-header__help-icon{
    margin-top: 2px;
    margin-bottom: 0;
    line-height: 1;
  }

}
@media (max-width: 390px) {
  .site-header__container{
    padding: 18px 16px;
  }
  .site-header__logo a{
    gap: 12px;
  }
  .site-header__logo-text {
    font-size: 0.8125rem;
  }
}

@media (max-width: 360px) {
  .site-header__container {
    padding: 20px 8px;
  }
  .site-header__logo-img{
    width: 80px;
  }
  .site-header__logo-text{
    font-size: 0.75rem;
  }
  .site-header__logo a{
    gap: 8px;
  }
  .site-header__tel-note--sp{
    font-size: 0.625rem;
  }
  .site-header__tel--sp a{
    font-size: 0.8125rem;
  }

  .sp-nav-list {
    padding: 0 1.5rem;
  }
  .sp-nav__help{
    padding: 1.5rem;
  }
  .sp-help-menu__title{
    font-size: 1rem;
  }
}

/* -----------------------------------
  Component: footer
------------------------------------*/
/*related-footer*/
.related-footer{
  width: 100%;
  background-color: #F6F6F6;
  padding: 64px 0;
}
.related-footer__wrapper{
  max-width: 1248px;
  margin: 0 auto;
}
.related-footer__title{
  margin-bottom: 48px;
}
.related-footer__content{
  display: flex;
  justify-content: space-between;
  gap: 20px;
}
.related-footer__logo{
  border: 1px solid #d6d6d6;
  height: auto;
}


/*megamenu-footer*/
.megamenu--footer{
  position: relative;
  top: auto;
  left: auto;
  z-index: auto;
  box-shadow: none;
  width: 100%;
  border-top: none;
}
.megamenu--footer .megamenu__content {
    padding: 64px 0 0;
}

.megamenu--footer .megamenu__list{
  border-bottom: 1px solid #d6d6d6;
  margin-bottom: 48px;
  padding-bottom: 48px;
}
.megamenu--footer-plus{
  display: flex;
  gap: 48px;
  max-width: 1248px;
  margin: 0 auto;
  padding: 0 0 80px;
}

.sp-nav-list--footer{
  display: none;
}
.sp-nav__help--footer{
  display: none;
}


/*footer*/
.footer {
  position: relative;
  padding-top: 32px;
  padding-bottom: 104px;
  background: #f1f2f1;
}
.l-footer.has-fixed-cta {
  padding-bottom: 200px;
}

.footer__wrap {
  max-width: 1248px;
  margin: 0 auto;
  padding: 0 2rem;
}
.footer__nav-link:hover {
  text-decoration: underline;
  opacity: 1;
}
/* footer__bottom */
.footer__bottom {
  display: flex;
  position: relative;
}
.footer__bottom::after {
  position: absolute;
  top: 30px;
  right: 0;
  width: 44px;
  height: 43px;
  content: "";
  background: url("/conversion/assets/img/common/icon-privacy.png") no-repeat;
  background-size: cover;
}
.footer__logo {
  margin-right: 2.5rem;
}
.footer__body {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.footer__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 24px;
  font-size: 0.8125rem;
}
.footer__copyright {
  font-size: 0.75rem;
  color:#575757;
}

@media (max-width: 1280px) {

  .related-footer{
    padding-inline: 20px;
    box-sizing: border-box;
  }

  .megamenu--footer .megamenu__content{
    padding-inline: 20px;
  }
  .megamenu--footer-plus{
    padding-inline: 20px;
  }
  .footer__nav {
    gap: 16px;
    font-size: 0.75rem;
  }
  .footer__copyright{
    font-size: 0.75rem;
  }
}
@media (max-width: 1024px) {
  .related-footer__content{
    flex-wrap: wrap;
    justify-content: center;
  }

  .megamenu--footer-plus{
    font-size: 0.875rem;
  }
  .megamenu--footer .megamenu__list{
    margin-bottom: 32px;
    padding-bottom: 32px;
  }
  .footer__bottom{
    flex-direction: column;
    gap: 20px;
    justify-content: center;
  }
  .footer__nav{
    gap: 12px;
    justify-content: space-between;
    width: 100%;
    font-size: 0.75rem;
  }
  .footer__copyright{
    text-align: right;
    font-size: 0.75rem;
  }
  .footer__bottom::after{
    top: 64px;
  }
}


@media (max-width: 767px) {
  .related-footer {
    padding: 48px 32px;
    text-align: center;
  }

  .related-footer__content {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* 2カラム */
    gap: 16px; /* カラム間・行間の余白 */
    max-width: 600px; 
    margin: 0 auto;
  }
  .related-footer__title{
    margin-bottom: 48px;
  }
  .related-footer__logo{
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    max-width: 270px;
  }

  .megamenu--footer, .megamenu--footer-plus{
    display: none;
  }
  .sp-nav-list--footer{
    display: block;
    padding-top: 32px;
    margin-bottom: 48px;
  }
  .footer{
    padding: 32px 0;
  }
  .l-footer.has-fixed-cta {
    padding-bottom: 96px;
  }

  .footer__nav{
    flex-direction: column;
    font-size: 0.8125rem;
  }
  .footer__copyright {
    text-align: left;
    font-size: 0.8125rem;
  }
  .footer__bottom{
    gap: 32px;
  }
  .footer__bottom::after {
    top: auto;
    bottom: 0;
  }
}
@media (max-width: 360px) {
  .footer__wrap{
    padding: 0 1.5rem;
  }
}

/* -----------------------------------
  Component: テキスト
------------------------------------*/
.text-sm {
  font-size: 0.8125rem;
}

.caption {
  font-size: 0.75rem;
  color: #5c5c5c;
}


/* ----------------------------------------
  Component: ボタン
---------------------------------------- */
.btn {
  display: inline-block;
  padding: 8px 36px;
  font-size: 1rem;
  text-align: center;
  text-decoration: none;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.3s;
}

/* メインボタン */
.btn-primary {
  background-color: #333;
  color: #fff;
}
/* サブボタン */
.btn-secondary {
  background-color: #01916d;
  color: #fff;
}
/* テキスト+矢印アイコン */
.btn-arrow {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  font-size: 0.875rem;
  text-decoration: none;
}
.btn-arrow__icon {
  width: 18px;
  height: auto;
}

.btn-arrow::before {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 27px;
  display: block;
  inline-size: 2px;
  block-size: 8px;
  margin-inline-start: 16px;
  content: "";
  background: url(/conversion/assets/img/common/icon-colon-01.svg) no-repeat;
  transform: translateY(-50%);
}
@media (max-width: 767px) {
  .btn{
    padding: 8px 16px;
  }
}


/* ----------------------------------------
  Component: カード
---------------------------------------- */
.card {
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.card__title{
  border-bottom: none;
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom: 0;
  padding-bottom: 0;
}
.card__title span{
  font-size: 0.825rem;
}
.card__img img {
  width: 100%;
  height: auto;
  display: block;
}
.card__body {
  padding: 1.5rem 0;
  display: flex;
  flex-direction: column;
  gap: 1.125rem;
  flex: 1;
  text-align: center;
}
.card__price {
  font-size: 0.875rem;
  line-height: 1.6;
  flex-grow: 1;
  color: #5c5c5c;
  margin-top: -10px;
}
.card__link {
  align-self: flex-start;
  margin: 0 auto;
}

/*記事*/
.card--article .card__title{
  font-size: 1rem;
  text-align: left;
}
.card--article .card__body {
  padding: 1.5rem 0;
}
 .card--article .card__img img{
  border: 1px solid #d6d6d6;
  box-sizing: border-box;
} 
/*ステップ*/
.card--step .card__title{
  font-size: 1rem;
  text-align: left;
}
.card__step-label{
  color: #01916D;
  font-size: 0.875rem;
  font-weight: 700;
}
.card__step-num::before{
  content: '';
  display: inline-block;
  width: 24px;
  height: 1px;
  background-color: #d6d6d6;
  margin-right: 4px;
  margin-left: 4px;
  vertical-align: middle;
}
.card--step .card__body {
  padding: 1.5rem 0;
  text-align: left;
  gap: 1rem;
}
.card--step .card__img img{
  border-radius: 4px;
}
@media (max-width: 1180px) {
  .card--product .card__title{
    font-size: 1rem;
  }
}
@media (max-width: 1024px) {
  .card__body{
    padding: 1.125rem 0;
  }
}


/* ----------------------------------------
  Component: swiper
---------------------------------------- */

/* === swiperの共通設定 === */
.swiper-container {
  position: relative;
  padding-bottom: 100px;
}
.swiper-wrapper {
  display: flex;
  margin-bottom: 16px;
}
.swiper-slide {
  flex-shrink: 0;
  width: auto;
  box-sizing: border-box;
}


/* === 記事タイプ（PCでは4カラム）=== */
@media (min-width: 769px) {
  .js-swiper[data-type="article"] .swiper-slide {
    width: calc((100% - 3 * 16px) / 4); /* gapを16pxとして4列 */
    margin-right: 16px;
  }
  .js-swiper[data-type="article"] .swiper-slide:last-child {
    margin-right: 0;
  }
}

/* === ステップタイプ（PCではSwiperを使わず通常カラム）=== */
@media (min-width: 769px) {
  .js-swiper[data-type="step"] .swiper-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
  }
  .js-swiper[data-type="step"] .swiper-slide {
    width: calc((100% - 3 * 16px) / 4); /* 4カラム */
    margin: 0; /* Swiperのmarginは不要 */
  }
  .js-swiper[data-type="step"] .swiper-button-prev,
  .js-swiper[data-type="step"] .swiper-button-next,
  .js-swiper[data-type="step"] .swiper-progress {
    display: none !important;
  }
}

/* インジケーター */
.swiper-progress {
  width: 100%;
  height: 4px;
  background-color: #eee;
  position: relative;
  margin-right: 60px;
}
.swiper-progress__bar {
  height: 100%;
  width: 100%;
  transform-origin: left center;
  transform: scaleX(0);
  background-color: #009879; /* 緑 */
  transition: transform 0.3s ease;
}



/* ナビボタン */
.swiper-buttons {
  display: flex;
  gap: 8px;
  position: absolute;
  bottom: 30px;
  right: 8px;
}
.swiper-button-prev,
.swiper-button-next {
  all: unset; /* ← まず全部リセット！ */
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px; /* お好みで */
  height: 40px;
  cursor: pointer;
  position: relative!important;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
}

/* 位置調整（左右） */
.swiper-button-prev {
  right: 8px!important;
}
.swiper-button-next {
  left: 8px!important;
}
.swiper-button-next::after,
.swiper-button-prev::after {
  content: none !important;
}
.swiper-button-prev img{
    transform: rotate(180deg);
}

/* ----------------------------------------
  Component: よくあるご質問
---------------------------------------- */
 .faq__category-header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #d6d6d6;
  padding-bottom: 24px;
}
.accordion + .faq__category-header{
  margin-top: 64px;
}
.faq__category-title{
  font-size: 1.125rem;
  padding: 1rem 0;
  margin-bottom: 0;
  border-bottom: none;
}
.accordion {
  border-bottom: 1px solid #d6d6d6;
}
.accordion__toggle {
  position: relative;
  width: 100%;
  padding: 1.2rem 1rem;
  font-size: 1rem;
  text-align: left;
  border: none;
  background: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
}
.accordion__content{
  padding: 1.2rem  0;
  background-color: #f7f7f7;
}
.accordion__label{
  padding-right: 0.75rem;
  font-weight: 700;
  vertical-align: top;
}
.accordion__question{
  text-indent: -2em;
  padding-left: 2em;
  margin-right: 1rem;
}
.accordion__answer{
  text-indent: -2em;
  padding-left: 2em;
  margin-left: 1em;
  margin-right: 1em;
}
.accordion__answer ul{
  text-indent: initial;
  padding-left: 1rem;
  list-style: disc;
  list-style-position: outside;
  display: inline-block;
  width: calc(100% - 32px);
}
.accordion__answer a{
  text-decoration: underline;
}

/* アイコン本体 */
.faq__question-icon {
  position: relative;
  width: 12px;
  height: 12px;
}
/* 横棒・縦棒共通 */
.faq__question-icon span {
  background-color: #858585;
  display: block;
  font-size: 0;
  height: 1px;
  width: 12px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: transform 0.3s;
}
/* 縦棒（1本目） */
.faq__question-icon span:first-child {
  transform: translate(-50%, -50%) rotate(-90deg);
}
/* 開いた状態：縦棒を水平にする（→−になる） */
.accordion.is-open .faq__question-icon span:first-child {
  transform: translate(-50%, -50%) rotate(0deg);
}
.faq__category-footer{
  display: none;
}
/*FAQ個別ページ用*/
.page-faq .p-faq__heading{
  margin-bottom: 48px;
  display: block;
}
.page-faq .p-faq__heading h1{
  text-align: center;
  margin-bottom: 48px;
}
.page-faq .p-faq__heading h1 span{
  display: block;
  font-size: 1rem;
  font-weight: 400;
  margin-bottom: 16px;
  line-height: 1.5;
}
.page-anchor {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
  justify-content: center;
}
.page-anchor__item {
  text-align: center;
  border-left: 1px solid #ccc;
}
.page-anchor__item:first-child {
  border-left: none;
}
.page-anchor__link {
  display: block;
  padding: 0 1rem;
  text-decoration: none;
  color: #333;
}
.p-faq-contact{
  background-color: #F6F6F6;
  border-radius: 10px;
  padding: 40px;
  margin-bottom: 64px;
}
.p-faq-contact__description{
  margin-bottom: 32px; 
}
.p-faq-contact__subheading{
  text-align: center;
}
.p-faq-contact__info{
  text-align: center;
  justify-content: center;
  line-height: 1.8;
  gap: 16px;
}
.p-faq-contact__info-item:last-child{
  width: 30%;
}
.p-faq-contact__tel {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  text-decoration: none;
  font-size: 1.5rem;
  gap: 4px;
  margin-bottom: 8px;
}
.p-faq-contact__hours{
  text-align: center;
  margin-bottom: 8px;
}
.p-faq-contact__note{
  text-align: center;
  margin-bottom: 8px;
}
.p-faq-contact__caution{
  text-align: center;
}
.p-faq-contact__link{
  font-weight: 700;
  width: 100%;
  box-sizing: border-box;
  padding: 8px;
}
@media (max-width: 1024px) {
  .p-faq-contact__info-item:first-child{
    width: 53%;
  }
  .p-faq-contact__info-item:last-child{
    width: 40%;
  }
}
@media (max-width: 767px) {
  .faq__category-title{
    margin: 0 auto;
  }
  .faq__category-header .btn-arrow{
    display: none;
  }
  .faq__category-footer{
    display: block;
    padding-top: .5rem;
    text-align: right;
  }
  /*FAQ個別ページ用*/
  .page-faq .p-faq__heading{
    flex-direction: column;
  }
  .page-faq .p-faq__heading h1{
    line-height: 1.5rem;
  }
  .page-faq .p-faq__heading h1 span{
    display: block;
    font-size: 0.8125rem;
  }
  .page-anchor{
    margin-top: 32px;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
  }
  .page-anchor__link{
    font-size: 0.875rem;
  }
  .page-anchor__item{
    width: auto;
  }
  .p-faq-contact{
    padding: 20px;
  }
  .p-faq-contact__hours{
    font-size: 0.875rem;
  }
  .p-faq-contact__hours a{
    margin-bottom: -8px;
    display: block;
  }
  .p-faq-contact__caution.caption{
    text-align: left;
  }
}


/* ----------------------------------------
  Component: fixed CTA
---------------------------------------- */
.fixed-action {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center ;
  gap: 2rem;
  background-color: #fff;
  padding: 16px;
  box-shadow: 0 -2px 6px rgba(0, 0, 0, 0.1);
  z-index: 100;
  flex-wrap: wrap; /* SP対策用 */
}

.fixed-action__item {
  text-align: center;
}

.fixed-action__label {
  margin-bottom: 0.5rem;
}

.fixed-action__link,
.fixed-action__tel {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  text-decoration: none;
}
.fixed-action__text{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
}

.fixed-action__link {
  background-color: #01916D;
  color: #fff;
  margin-top: 1rem;
  padding: 12px 50px;
  font-size: 1.25rem;
  border-radius: 4px;
}
.fixed-action__tel {
  font-size: 1.5rem;
  gap: 4px;
  margin-top: -9px;
}
.fixed-action__tel-note{
  font-size: 0.8125rem
}
.fixed-action__tel-subnote{
  font-size: 0.625rem;
  color:#5c5c5c;
}

@media (max-width: 767px) {
  .fixed-action{
    gap: 0.75rem;
    padding: 12px 8px;
    align-items: center;
  }
  .fixed-action__label{
    display: none;
  }
  .fixed-action__link{
    padding: 12px;
    font-size: 0.875rem;
    margin-top: 0;
  }
  .fixed-action__link img{
    width: 17px;
  }
  .fixed-action__link-note{
    display: none;
  }
  .fixed-action__tel {
    font-size: 1rem;
    gap: 4px;
    margin-top: 0;
  }
  .fixed-action__tel img{
    width: 17px;
  }
  .fixed-action__tel-note{
    font-size: 0.625rem
  }
}
@media (max-width: 360px) {
  .fixed-action{
    gap: 0.5rem;
    padding: 12px 2px;
  }
  .fixed-action__link{
    padding: 8px;
    font-size: 0.75rem;
  }
  .fixed-action__link img{
    width: 14px;
  }
  .fixed-action__tel {
    margin-top: -4px;
    font-size: 0.8125rem;
  }
  .fixed-action__tel img{
    width: 14x;
  }
  .fixed-action__tel-note{
    letter-spacing: normal;
  }
}

/* ----------------------------------------
  Component: coupon
---------------------------------------- */
#modal-coupon{
  border-bottom: none!important;
}
#modal-coupon .iziModal-header {
  background-color: #ECE16A!important;
  box-shadow: none;
  padding-left: 40px;
}
#modal-coupon .iziModal-header-title {
  color: #000;
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
}
#modal-coupon .iziModal-button-close{
  opacity: 1;
}
.coupon-modal__frame {
	width:100%;
	text-align: center;
  padding: 10px 0;
}
.coupon-modal__deadline {
	width:100%;
	background-color:#000;
	font-weight:700;
	color:#fff;
	font-size:1rem;
	margin:0 auto 20px;
	padding-top:5px;
	padding-bottom:5px;
}
.coupon-modal__highlight {
	color:#cf9d14;
	font-weight:700;
	font-size:1.5rem;
  margin-bottom: 16px;
}
.coupon-modal__code-block {
	width:100%;
	background-color:#fbf6e7;
	font-size:1rem;
  border-radius: 10px;
  padding:24px 0;
  margin-bottom: 16px;
}
.coupon-modal__code {
	margin:10px auto;
  font-size:2.5rem;
	font-weight:700;
	color:#000;
	margin:0 auto 5px;
	letter-spacing:0.2em;
}
.coupon-modal__code-kana{
  margin-bottom: 16px;
  font-size: 0.75rem;
}
.coupon-modal__note {
  text-align:left;
  font-size:0.875rem;
  line-height: 1.5rem;
}
.coupon-modal__note li {
	list-style:none;
	text-indent:-1em;
	padding-left:1em;
}
.coupon-modal__btn {
	display:inline-block;
	color:#000;
	font-size:1.125rem;
	font-weight:bold;
	background-color:#ECE16A;
	padding:10px 20px;
	margin-top:0!important;
	border-radius:4px;
	border:none;
}

@media (max-width: 767px) {
  #modal-coupon .iziModal-header-title{
    font-size: 1rem;
  }
  #modal-coupon .iziModal-content{
    padding: 20px!important;
  }
  .coupon-modal__frame{
    margin-top: 0;
    margin-bottom: 0;
  }
  .coupon-modal__deadline{
    font-size: 1rem;
  }
  .coupon-modal__highlight{
    font-size: 1.25rem;
  }
  .coupon-modal__code{
    font-size: 1.5rem;
  }
  .coupon-modal__btn{
    font-size: 1rem;
  }
  .coupon-modal__note{
    font-size: 0.75rem;
  }
}
@media (max-width: 360px) {
  .coupon-modal__deadline{
    font-size: 0.875rem;
  }
  .coupon-modal__highlight{
    font-size: 1.0625rem;
  }
}

/* ----------------------------------------
breadcrumbs
---------------------------------------- */
.breadcrumbs {
  max-width: 1440px;
	padding: 20px 10px 20px;
	margin: 0 auto 64px;
}
.breadcrumbs > ul{display: block;}
.breadcrumbs > ul > li{
	display: inline-block;
    height: 22px;
    vertical-align: middle;
    font-size: 0.8125rem;
    line-height: 22px;
    margin-right: 8px;
    color: #858585;
}
.breadcrumbs > ul > li::after{
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  border-right: 1px solid #333;
  border-bottom: 1px solid #333;
  transform: rotate(-45deg);
  margin-left: 10px;
  vertical-align: middle;
    margin-bottom: 2px;
}
.breadcrumbs > ul > li:nth-last-of-type(1)::after{display: none;}
.breadcrumbs > ul > li > a{
	color: #000000;
	text-decoration: none;
}
.breadcrumbs > ul > li > a:hover{text-decoration: underline;}

@media (max-width: 767px) {
  .breadcrumbs{
    margin-bottom: 0;
    padding: 20px;
  }
  .breadcrumb {
    position: relative;
    overflow-x: auto;
    white-space: nowrap;
    font-size: 0.6875rem;
    margin-bottom: 24px;
      /* スクロールバー非表示（クロスブラウザ対応） */
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE & Edge */
  }
  .breadcrumb::-webkit-scrollbar {
    display: none; /* Chrome, Safari */
  }
}

/* ----------------------------------------
サービスTOP　FV
---------------------------------------- */
.p-fv--service .l-cols{
  justify-content: space-between;
  align-items: center;
  padding-bottom: 80px;
  border-bottom: 1px solid #d6d6d6;
}
.p-fv--service__subtitle{
  font-size: 0.875rem;
  margin-bottom: 12px;
}
.p-fv--service__icon{
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 60px;
}
.p-fv--service__icon-img{
  height: 38px;
}
.p-fv--service__icon-triangle{
  width: 12px;
}
.p-fv--service__title{
  margin-bottom: 32px;
}
.p-fv--service__title span{
  font-size: 1rem;
}
.p-fv--service__catch{
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 40px;
}
.p-fv--service__image{
  height: auto;

}
@media (max-width: 767px) {
  .p-fv--wrapimage{
    margin-left: -32px; /* ← l-container の padding-left と同じ値 */
    margin-right: -32px; /* ← 同じく padding-right */
    width: calc(100% + 64px)!important; /* = 100% + 左右分の相殺 */
  }
  .p-fv--service {
    text-align: center;
  }
  .p-fv--service .l-cols{
    gap: 32px;
    padding-bottom: 48px;
    margin-bottom: 48px;
  }
  .p-fv--service__icon {
    justify-content: center;
    margin-bottom: 32px;
  }
  .p-fv--service__icon-img{
    height: 31px;
  }
  .p-fv--service__title{
    margin-bottom: 0;
  }
  .p-fv--service__title span{
  font-size: 0.875rem;
  }
  .p-fv--service__catch{
    text-align: center;
    width: 100%;
    margin-bottom: 0;
  }
  .p-fv--service__text{
    text-align: center;
    width: 100%;
  } 
}
@media (max-width: 375px) {
  .p-fv--wrapimage{
    margin-left: -16px; /* ← l-container の padding-left と同じ値 */
    margin-right: -16px; /* ← 同じく padding-right */
    width: calc(100% + 32px)!important; /* = 100% + 左右分の相殺 */
  }
}



/* ----------------------------------------
お知らせ
---------------------------------------- */
.p-news{
  border-bottom: 1px solid #d6d6d6;
}
.p-news .l-cols{
  justify-content: space-between;
  margin-bottom: 80px;
}
.p-news .l-cols__item--fixed {
  flex: 0 0 160px; /* ← 固定幅。幅は必要に応じて変えてOK */
}
.p-news .l-cols__item + .l-cols__item{
  width: calc(90% - 160px);
}
.p-news__item{
  border-bottom: 1px solid #d6d6d6;
  margin-bottom: 20px;
}
.p-news__item:last-child:nth-last-child(n+2) {
  border-bottom: none;
  margin-bottom: 0;
}


.p-news__date {
  display: block;
  font-size: 1rem;
  margin-bottom: 12px;
}
.p-news__headline {
  display: block;
  font-size: 1rem;
  margin-bottom: 20px;
}

@media (max-width: 767px) {
  .p-news .l-cols {
    justify-content: center;
    margin-bottom: 0;
  }
  .p-news__title{
    margin-bottom: 0;
  }
  .p-news__item:last-child{
    margin-bottom: 0;
    border-bottom: 0;
  }
}


/* ----------------------------------------
バナー
---------------------------------------- */
.p-banner{
  background-color: #f6f6f6;
  padding: 64px 32px;
  text-align: center;
}
.p-banner a{
  display: block;
}
.p-banner__img{
  width: 100%;
  max-width: 1248px;
}
.p-banner.p-banner--no-bg{
  background-color: #fff;
  padding: 0 0 80px;
}

@media (max-width: 767px) {
  .p-banner.p-banner--no-bg{
    padding-bottom: 48px;
  }
}

/* ----------------------------------------
お客様の声　一覧
---------------------------------------- */
.p-voice {
	margin-top: 40px;
}
.p-voice__heading span{
  display: block;
  text-align: center;
  font-size: 1.125rem;
  font-weight: 400;
  margin-bottom: 16px;
}
.p-voice__heading img{
  width: 100%;
  max-width: 880px;
  height: auto;
  margin: 0 auto 64px;
  display: block;
}
.vocBlock {
	border-left: none;
	border-right: none;
	border-bottom: none;
	border-top: 1px solid #d6d6d6;
	padding: 2rem 10rem;
	position: relative;
	display: table;
	table-layout: fixed;
	width: 100%;
  box-sizing: border-box;
}
.vocCol1_txt {
	font-weight: bold;
	text-align: center;
	margin-top: 10px !important;
}
.voiceSmmary .vocCol1 figure {
	width:100% !important;
	max-width: 100%;
}
.vocCol1 figure {
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding: 0 0 0 0;
}
.vocCol1 figure img {
	padding: 0;
}
.voiceSmmary .vocCol1 figure img,
.voiceSmmary .vocCol2 figure img {width:100% !important; height:auto; float:left; margin:0 0 0 0}
.voiceSmmary .vocCol2 {
	padding-bottom:.8em;
	margin-bottom:1.1em;
}
.voiceSmmary .vocColWrap {
  overflow: hidden;
  border-bottom:1px dotted #bbbbbb;
}
.vocBlock .vocCol2 dl {
  margin-top: 0;
}
.vocBlock .vocCol2 dl dd.comment {
	line-height: 1.6;
	margin: 0 0;
	overflow:hidden;
}
.vocCol1 {
	display:table-cell;
	vertical-align:top;
	width:270px;
}
.vocCol1 img { padding-right:15px;}
.vocCol2 {
	display:table-cell;
	vertical-align:middle;
	width:auto;
}
.vocBlock .vocCol2 dl {margin:1em 0;}
.vocBlock .vocCol2 dl dt {
	margin:0;
  font-size: 1.25rem;
	font-weight:bold;
}
.vocBlock .vocCol2 dl dd.date {
  margin:.3em 0;
  color:#666;
}
.vocBlock .vocCol2 dl dd.comment {
  margin:32px 0 0 0;
  line-height:1.8;
}
.vocBlock .vocCol2 dl dd.emphasis {
	padding:.1em 0;
	margin:0 .1em;
	font-size: 17px; font-size: 1.7rem;
	background:#ffc;
	color:#000;
}
@media only screen and (max-width: 1180px) {
  .vocBlock {
    padding: 2rem;
  }
}
@media only screen and (max-width: 767px) {
    .p-voice__heading span{
    font-size: 1rem;
    margin-bottom: 8px;
  }
  .vocBlock {
    position: relative;
    display: flex;
    width: 100%;
    border-left: none;
    border-right: none;
    border-bottom: none;
    border-top: 1px solid #d6d6d6;
    padding: 2rem 0;
    box-sizing: border-box;
    flex-direction: column;
    gap: 32px;
  }
  .vocCol1 {
    display: flex;
    align-items: center;
    margin: 0 auto;
    width: 80%;
  }
  .vocCol2 {
    width:100%;
  }
  .vocCol1 img { 
    width:100%;
    padding:0 1em .3em 0;
    }
    body.stay8mm_4 .vocBlock .vocCol2 {
      width:100% !important;
  }
  .vocBlock .vocCol2 dl {margin:0; width: 100%;}
  .vocBlock .vocCol2 dl dt {
    margin:0; font-size:1.25rem;
    font-weight:bold;
    text-align: center;
  }
  .vocBlock .vocCol2 dl dd.date {
    margin:.3em 0;
    color:#666;
    font-size:1.3rem;
  }
  .vocBlock .vocCol2 dl dd.comment {
    margin:16px 0 0;
    line-height:1.8;
  }
  .vocBlock .vocCol2 dl dd.emphasis {
    padding:.1em 0;
    margin:0 .1em;
    font-size: 1.7rem;
    background:#ffc;
    color:#000;
  }
  .vocCol1_txt {
    margin: 0 0 0 -30px;
    padding: 0;
    flex: 1;
  }
  .vocCol1-2 {
    float:left;width:30%;max-width:125px;
  }
  .vocCol1-2 img { width:100%;  padding:0 1em .3em 0;}
  .vocCol1 img {
    padding: 0;
  }
  .vocCol1 figure{
    flex-shrink: 0;
    width: 180px;
  }
  .vocCol1 figure img {
    width: 180px;
    height: auto;
    margin-right: 0;
  }

}
/* ----------------------------------------
サービスの特徴
---------------------------------------- */
.p-reason__wrap {
    background-color: #F6F6F6;
    border-radius: 10px;
    padding: 40px;
}
.p-feature__merits .l-cols--3{
  margin-bottom: 0;
  justify-content: space-between;
}
.p-feature__merit-item{
  background-color: #fff;
  display: flex;
  gap: 12px;
  justify-content: center;
  align-items: center;
  padding: 18px 4px;
  font-size: 0.75rem;
}
.p-feature__merit-icon{
  width: 26%;
}
.p-feature__merit-emphasis{
  font-size: 1.25rem;
  font-weight: 700;
}
.p-feature__merit-highlight{
  color: #01916D;
}
@media (max-width: 880px) {
  .p-feature__merit-item{
    flex-direction: column;
  }
  .p-feature__merit-item{
    text-align: center;
  }
}
@media (max-width: 767px) {
  .p-reason__wrap{
    padding: 16px;
  }
  .p-feature__merit-item {
    flex-direction: row;
  }
  .p-feature__merits .l-cols--3{
    gap: 0;
  }
  .p-feature__merit-item{
    border-bottom: 1px solid #d6d6d6;
  }
  .p-feature__merit-item:last-child{
    border-bottom: none;
  }
}
/* ----------------------------------------
  Component: 共通モーダル
---------------------------------------- */
@media (max-width: 767px) {
  .iziModal{
    width: 90%;
  }
}



/* ----------------------------------------
  TOP
---------------------------------------- */
.fv {
  position: relative;
  width: 100%;
  height: 500px; /* 高さは適宜調整 */
  background: url(/conversion/assets/img/top/fv-bg.jpg) center/cover no-repeat;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: flex-start; /* ← 中央→左へ */
  padding-left: 5%; /* 左に余白を取る。必要に応じて調整 */
  text-align: left;
  box-sizing: border-box;
  padding-left: calc(50% - 720px - 2rem);
}
.fv__inner {
  max-width: 1248px;
  margin-left: 0; /* 中央寄せを解除 */
  padding-left: 2rem; /* これで左寄せに */
}

.fv__catch {
  font-size: 2.25rem;
  margin-bottom: 1rem;
    text-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
}
.fv__catch span {
  font-size: 1.25rem;
  font-weight: bold;
  margin-bottom: 1rem;
      display: block;
}

.fv__sub {
  font-size: 1.125rem;
  font-weight: 700;
  background-color: #01916D;
  text-align: center;
  padding: 4px;
}
.fv-description{
  padding: 64px 0 80px;
  text-align: center;
}
.fv-description__text{
  line-height: 1.8;
}
.p-service__heading{
  display: flex;
  align-items: center;
  gap: 8px;
}
.p-guide{
  padding: 80px 0 20px;
}
.p-guide__title{
  margin-bottom: 30px;
}
.p-guide__text{
  margin-bottom: 32px;
  line-height: 1.8;
}
.p-guide .l-cols--2--wide {
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
}
.p-guide .l-cols--2--wide .l-cols__item--wide {
  width: calc(60% - 1rem);
}
.p-guide .l-cols--2--wide .l-cols__item:not(.l-cols__item--wide) {
  width: calc(40% - 1rem);
}
@media (max-width: 880px) {
    .p-guide .l-cols--2--wide .l-cols__item:not(.l-cols__item--wide) {
        width: 100%;
    }
    .p-guide .l-cols--2--wide .l-cols__item--wide {
        width: 100%;
    }
    .p-guide .l-cols--2--wide {
      gap: 32px;
    }
  }


/*よくあるご質問*/
.p-faq{
  padding: 0 0 64px;
  line-height: 1.8;
}
.p-faq__heading{
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.p-faq__heading .btn-arrow{
  margin-bottom: 43px;
}
.faq__category-footer + .faq__category-header{
  margin-top: 64px;
}

.p-apply .swiper-container{
  padding-bottom: 40px;
}

@media (max-width: 767px) {
  .fv {
    position: relative;
    width: 100%;
    height: 445px; /* 高さは適宜調整 */
    background: url(/conversion/assets/img/top/fv-bg_sp.jpg) center/cover no-repeat;
    color: #fff;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-left: 0;
    padding-top: 40px;
    text-align: center;
  }
  .fv__inner {
    padding-left: 0;
  }
  .fv__catch {
    font-size: 1.5rem;
  }
  .fv__catch span {
    display: block;
    font-size: 1.125rem;
    font-weight: bold;
    margin-bottom: 12px;
  }
  .fv__sub {
    font-size: 1rem;
    padding: 4px;
  }
  .fv-description{
    padding: 32px 0 48px;
    text-align: left;
  }
  .p-service__heading{
    justify-content: center;
  }

  .card--product .card__body {
      padding: 1.125rem 0;
  }
  .p-banner{
      padding: 48px 32px;
  }
  .p-guide{
    padding: 40px 0 20px;
  }
  .p-guide__text{
    margin-bottom: 0;
  }
  .p-guide .l-cols__item .btn-arrow{
    display: none;
  }
  .p-guide-link--sp{
    width: 100%;
    margin-top: -16px;
    text-align: right;
  }
  .p-apply .swiper-container{
    padding-bottom: 90px;
  }
    .p-apply .swiper-buttons {
    bottom: 20px;
  }


}
/* ----------------------------------------
  ビデオからDVD
---------------------------------------- */
.p-feature{
  background-color: #f6f6f6;
  padding: 64px 0;
}
.card--feature .card__body{
  padding: 0;
  flex:none;
  gap: 8px;
}
.p-feature__pc{
  justify-content: space-between;
  gap:1.5rem;
  margin-bottom: 1.5rem;
}
.l-cols--4.p-feature__pc .l-cols__item{
  width: calc(25% - 1.5rem);
}
.card--feature{
  padding: 24px 0;
  background-color: #fff;
  gap: 24px;
  height: auto;
}
.card__subtitle{
  font-size: 0.875rem;
  color: #5c5c5c;
}
.card__price--feature{
  margin-top: 0;
  text-align: center;
}
.card__price-label{
  font-size: 0.875rem;
  color: #5c5c5c;
}
.card__price-value{
  font-size: 1.25rem;
  font-weight: 700;
  position: relative;
  display: inline-block;
}
.card__price-value::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: currentColor;
  transform: translateY(-50%);
  pointer-events: none;
}
.card__price-value span{
   font-size: 0.875rem;
}
.p-feature__copy{
  background-color: #01916D;
  text-align: center;
  color: #fff;
  padding: 20px;
  font-size: 1.5rem;
  font-weight: 700;
}
.p-feature__dot-text {
  position: relative;
  display: inline-block;
}

.p-feature__dot-text::before {
  content: '・';
  position: absolute;
  top: -0.5em; /* 調整可能：中点の縦位置 */
  left: 50%;
  transform: translateX(-50%);
  font-size: 0.75em; /* 中点の大きさ */
  line-height: 1;
  color: currentColor; /* テキストと同じ色 */
}
.p-feature__text--highlight{
  color: #01916D;
  background-color: #fff;
  margin: 0 8px;
  padding: 8px;
}
.p-feature__unit{
  font-size: 1rem;
}
.p-feature__inner{
  display: flex;
  justify-content: center;
  gap: 72px;
  margin-bottom: 32px;
}
.p-feature__catch{
  width: 160px;
  font-size: 0.875rem;
  text-align: center;
}
.p-feature__image{
  width:  120px;
  margin-top: 8px;
}
.p-feature__highlight{
  font-size: 1.5rem;
  font-weight: 700;
  color: #01916D;
  background: linear-gradient(transparent 60%, #fff176 60%);
}
.p-feature__point{
    position: relative;
    padding-top: 28px;
}
.p-feature__point:before {
  width: 30px;
  height: 102px;
  line-height: 102px;
  content: "";
  background: url(/conversion/assets/img/common/img-highlight-l.png) no-repeat center center;
  background-size: cover;
  display: block;
  position: absolute;
  top: 50%;

    right: 100%;
  margin: -69px  0 0 15px;
}
.p-feature__point:after {
  width: 30px;
  height: 102px;
  line-height: 102px;
  content: "";
  background: url(/conversion/assets/img/common/img-highlight-r.png) no-repeat center center;
  background-size: cover;
  display: block;
  position: absolute;
  top: 50%;
  left: 100%;
  margin: -69px 15px 0 0;
}
.p-feature__note{
  width: 590px;
  margin: 0 auto;
}
.p-feature__body{
  padding: 40px 0;
}

/*選ばれる理由*/
.p-reason{
  padding: 80px 0;
}
.p-reason__title span{
  color: #01916D;
  margin-right: 20px;
}
.p-reason__note-strong{
  font-size: 1.25rem;
  font-weight: 700;
}
.p-reason__list{
  background-color: #f6f6f6;
  padding: 48px;
  border-radius: 10px;
  justify-content: space-between;
}
.p-reason__item span{
  font-size: 1.125rem;
  font-weight: 700;
}
.p-reason__item .p-reason__eyecatch{
  font-size: 1.5rem;
  color: #01916D;
  padding-bottom: 16px;
  display: inline-block;
}
.p-reason__image{
  margin-bottom: 12px;
}
.p-reason__label{
  font-size: 0.875rem;
  text-align: center;
}
.p-reason__note{
  text-align: center;
  margin-bottom: 48px;
}
.p-reason__note-strong{
  font-size: 1. 25rem;
  font-weight: 700;
  padding-bottom: 12px;
  display: block;
}
.p-reason__note-highlight{
  color: #01916D;
}
.p-reason__note-strong.is-wrapped::before {
  content: "＼";
  margin-right: 0.2em;
  color: #01916D;
}
.p-reason__note-strong.is-wrapped::after {
  content: "／";
  margin-left: 0.2em;
  color: #01916D;
}
.p-reason__item .text-sm{
  font-size: 0.8125rem;
  font-weight: 400;
}
.l-cols--2 .p-reason__item--wide {
  width: 74%;
}
.l-cols--2 .p-reason__item--narrow {
  width: 20%;
}
.p-reason__text{
  margin-bottom: 20px;
  text-align: left;
}
.p-reason__image--large{
  margin-bottom: 40px;
}
.p-reason__list-white{
  background-color: #fff;
  padding: 40px 40px 0;
  margin-bottom: 0;
  align-items: center;
}
.p-reason__list-white + .caption{
  padding: 0 40px 40px;
  margin-bottom: 80px;
}
.p-reason__item--head{
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom:56px ;
  line-height: 1.8;
}
.p-reason__item .u-marker{
  font-weight: normal;
  font-size: 1rem;
}
.p-reason__item--text{
  margin-bottom: 40px;
  line-height: 1.8;
}
/*お客様の声*/
.p-voc{
  background-color: #f6f6f6;
  padding: 64px 0;
}
.p-voc__title{
  border-bottom: none;
  text-align: center;
  margin-bottom: 0;
}
.p-voc__title + .caption{
  text-align: center;
    margin-bottom: 40px;
}

.p-voc__item {
  display: flex;
  flex-wrap: wrap; 
  gap: 2rem;
  align-items: center;
}

.p-voc__profile {
  flex: 0 0 80px; 
}

.p-voc__comment {
  flex: 1;
}
.p-voc__list{
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 0;
}
.l-cols--2 .p-voc__item{
  background-color: #fff;
  padding: 20px;
  width: calc(50% - 2rem);
}
.p-voc__image{
  width: 80px;
  margin-bottom: 8px;
}
.p-voc__name{
  font-size: 0.75rem;
  color:#5c5c5c;
  text-align: center;
}
.p-voc__heading{
  font-weight: 700;
  margin-bottom: 16px;
}
.p-voc__text{
  font-size: 0.8125rem;
}
.p-voc__title .is-wrapped::before {
  content: "＼";
  margin-right: 0.2em;
  color: #01916D;
}
.p-voc__title .is-wrapped::after {
  content: "／";
  margin-left: 0.2em;
  color: #01916D;
}
.p-voc__link{
  text-align: right;
  width: 100%;
  margin-bottom: 20px;
}
.p-voc__movie-title{
  font-weight: 700;
  margin-bottom: 30px;
}
.p-voc__movie{
  margin: 0 auto;
}
.p-voc__movie-title{
  text-align: center;
}
@media (max-width: 767px) {
  .youtube_thumb img {
    height: auto;
    box-sizing: border-box;
  }
}
/*料金について*/
.p-price{
  padding: 80px 0;
}
.page-faq .p-price{
  padding: 0 0 80px;
}
.p-price__title{
  margin-bottom: 40px;
}
.p-price__images{
  text-align: center;
  margin-bottom: 80px;
}
.p-price__image{
  width: 740px;
  margin: 0 auto;
  display: block;
}
.p-price__image + .p-price__image,
.p-price__picture + .p-price__picture {
  display: block;
  margin-top: 80px;
}
.p-price__text{
    font-size: 1.25rem;
    margin-bottom: 40px;
  font-weight: 700;
}
.p-price-table {
  width: 100%;
  border-collapse: collapse;
  text-align: center;
  font-size: 1rem;
  font-weight: 400;
  margin-bottom: 80px;
}
.p-price-table th,
.p-price-table td {
  border: 1px solid #ccc;
  padding: 1rem;
  font-weight: 400;
  vertical-align: middle;
}
.p-price-table tbody th {
  font-weight: 400;
}
.p-price-table__th--label {
  background-color: #f0f0f0;
  font-weight: 400;
}
 .p-price-table--sp{
  display: none;
 }

.p-duplication{
  justify-content: space-between;
  margin-bottom: 0;
}
.p-duplication__price{
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 48px;
}
.p-duplication__text{
  margin-bottom: 20px;
}
.p-apply__lead{
  margin-bottom: 40px;
}
/*お届け日*/
.p-order-info{
  justify-content: space-between;
}
.p-ship-table {
  width: 70%;
  border-collapse: collapse;
  margin-bottom: 1.5rem;
  text-align: center;
  font-size: 1rem;
  border: 1px solid #ccc;
}
.p-ship-table th {
  background-color: #f0f0f0;
  padding: 1rem .5rem;
  border-bottom: 1px solid #ccc;
  font-weight: 400;
  vertical-align: middle;
}
.p-ship-table td {
  padding: 1rem;
  vertical-align: middle;
}
.p-ship__text{
  margin-bottom: 40px;
}
/*お支払い方法*/
.p-payment__method{
  margin-bottom: 28px;
}
.p-payment__list{
  justify-content: space-between;
}
.p-payment__method-title{
  margin-bottom: 12px;
  font-weight: 700;
}
.p-payment__method-title span{
  font-weight: 400;
}
.p-payment__method-title small{
  font-weight: 400;
  font-size: 0.75rem;
}
.p-payment__method-note{
  margin-bottom: 12px;
  font-size: 0.75rem;
}
.p-payment__image {
  max-width: 162px;
  height: auto;
  display: block;
}
.p-payment__image--wide {
  max-width: 100%;
  height: auto;
}

/*注意事項*/
.p-caution {
  padding-bottom: 64px;
}
.p-caution__title {
  margin-bottom: 1rem;
}
.p-caution__lead {
  font-size: 1rem;
  margin-bottom: 2rem;
  color: #555;
}
.p-caution__box {
  border: 2px solid #01916D;
  padding: 1rem;
  margin-bottom: 2rem;
  border-radius: 4px;
  display: inline-block;
}
.p-caution__box-text {
  font-size: 1rem;
  color: #01916D;
}

.p-caution__list {
  list-style: disc;
  padding-left: 1.5em;
  font-size: 0.95rem;
  color: #333;
  line-height: 1.8;
}
.p-caution__item {
  margin-bottom: 0.75em;
}
@media (max-width: 1180px) {
  .l-cols--2 .p-reason__item--narrow{
    width: 28%;
  }
  .l-cols--2 .p-reason__item--wide{
    width: 67%;
  }

}
@media (max-width: 1024px) {
  .p-fv--service__title{
    font-size: 1.625rem;
  }
    .p-fv--service__catch{
    font-size: 1.25rem; 
  }
  .p-feature .l-cols--4{
    gap: 1rem;
  }
  .p-feature .l-cols--4 .l-cols__item{
    width: calc(25% - 1rem);
  }
  .card--feature .card__subtitle{
    font-size: 0.75rem;
    letter-spacing: normal;
  }
  .card--feature .card__title{
    font-size: 0.875rem;
  }
    .l-cols--2 .p-reason__item--narrow{
    width: 29%;
  }
   .l-cols--2 .p-reason__item--wide{
    width: 65%;
  }

}
@media (max-width: 880px) {
  .p-fv--service__title{
    font-size: 1.25rem;
  }
  .p-fv--service__catch{
    font-size: 1rem; 
  }
  .p-reason__list{
    padding: 32px;
  }
  .p-reason__list--wide{
    flex-direction: column;
    padding: 32px;
  }
  .l-cols--2 .p-reason__item--narrow{
    width: 100%;
    text-align: center;
  }
  .l-cols--2 .p-reason__item--wide{
    width: 100%;
  }
  .p-reason__item .br-pc{
    display: none;
  }
  .p-reason__list-white + .caption{
    margin-bottom: 40px;
  }
  .p-reason{
    padding-bottom: 16px;
  }
  .p-reason__title{
    font-size: 1.15rem;
  }
  .p-payment__list{
    margin-bottom: 1rem;
  }
  .p-service .l-cols--4 .btn-primary{
    font-size: 0.875rem;
    padding: 8px 16px;
  }
}

@media (max-width: 767px) {
  .p-feature{
    padding: 48px 0;
  }
  .p-feature__pc{
    justify-content: space-between;
    gap:16px;
    margin-bottom: 16px;
  }
  .l-cols--4.p-feature__pc .l-cols__item{
    width: calc(50% - 8px)!important;
  }
  .card--feature {
    display: flex;
    gap: 1rem;
    padding: 8px;
  }
  .feature__item{
    border-bottom: 1px solid #d6d6d6;
  }
  .feature__item:last-child {
    border-bottom: none;
  }
  .card--feature  .card__title{
    font-size: 1rem;
    min-height: 48px;
  }
  .card--feature .card__price-value{
    font-size: 0.9375rem;
  }
  .card--feature .card__price-label{
    font-size: 0.6875rem;
  }
  .p-feature__copy{
    font-size: 0.875rem;
    padding: 16px;
  }
  .p-feature__text--highlight{
      font-size: 1.125rem;
  }
  .p-feature__unit{
    font-size: 0.6875rem;
  }
  .p-feature__inner{
    flex-direction: column-reverse;
  }
  .p-feature__point{
    text-align: center;
    font-size: 1.125rem;
  }
  .p-feature__point:before{
    margin: -38px 0 0 15px;
  }
    .p-feature__point::after{
    margin: -38px 15px 0 0;
  }
  .p-feature__inner{
    gap: 26px;
    align-items: center;
  }
  .p-feature__catch{
    width: 100%;
    margin-bottom: 16px;
  }
  .p-feature__note{
    width: 100%;
  }

  /*選ばれる理由*/
  .p-reason{
    padding: 48px 0;
  }
  .p-reason__list--trouble{
    gap: 1rem .5rem ;
    padding: 32px 24px;
    margin-bottom: 48px;
  }
  /* .p-reason__heading{
    margin-bottom: 16px;
  } */
  .p-reason__title span{
    display: block;
    font-size: 0.875rem;
  }
  .p-reason__item span{
    font-size: 1rem;
  }
  .p-reason__list--trouble .l-cols__item {
    width: calc(50% - .5rem) !important;
  }
  .p-reason__list--trouble .l-cols__item:first-child {
    width: 100% !important;
    text-align: center;
  }
  .p-reason__list--trouble .l-cols__item:nth-child(4) {
    margin-left: auto;
    margin-right: auto;
  }
  .is-wrapped-sp::before {
  content: "＼";
  margin-right: 0.2em;
  color: #01916D;
  }
  .is-wrapped-sp::after {
    content: "／";
    margin-left: 0.2em;
    color: #01916D;
  }
  .p-reason__note-strong.is-wrapped::before,
  .p-reason__note-strong.is-wrapped::after {
    content: none;
  }
  .p-reason__note-sub{
    font-size: 0.875rem;
  }
  .p-reason__item .br-pc {
    display: inline;
    }
  .p-reason__list--wide{
    padding: 32px 24px;
    margin-bottom: 48px;
    gap: 32px;
  }
  .p-reason__list-white{
    padding: 0;
  }
  .p-reason__item--head{
    text-align: center;
    margin-bottom: 32px;
  }
  .p-reason__item--text{
    margin-bottom: 0;
  }
  .p-reason__list-white + .caption{
    padding: 0;
    margin-bottom: 48px;
  }
  .p-voc{
    padding: 48px 0;
  }
  .p-voc__title .is-wrapped::before,
  .p-voc__title .is-wrapped::after {
    content: none;
  }
  .p-voc__title{
    font-size: 1.125rem;
  }
  .p-voc__heading{
    font-size: 0.9375rem;
  }
  .p-voc__profile{
    flex: 0 0 70px;
  }
  .p-voc__link{
    margin-bottom: 32px;
  }
  .p-voc__movie {
    width: 100%;
  }
  .youtube_play {
    position:relative;
    padding-bottom: 56.5%;
    height:0;
    overflow:hidden;
  }
  .youtube_play iframe {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
  }

  .l-cols--2 .p-voc__item{
    gap: 1.5rem;
    align-items: flex-start;
  }
  .p-price{
    padding: 48px 0;
  }
  .p-price__text{
    font-size: 1rem;
    text-align: center;
  }
  .page-service--dvd .p-price-table{
    display: none;
  }
  .p-price-table--sp {
    display: table;
    width: 100%;
    border-collapse: collapse;
    font-size: 1rem;
    margin-bottom: 56px;
  }

  .p-price-table--sp th,
  .p-price-table--sp td {
    padding: 0.75em;
    border: 1px solid #ccc;
    text-align: center;
  }

  .p-price-table--sp thead th {
    background-color: #f2f2f2;
    font-weight: 400;
    width: 50%;
  }
  .p-duplication__price{
    text-align: center;
    font-size: 1.125rem;
  }
  .p-apply__lead{
    text-align: center;
    margin-top: -32px;
  }
  .p-apply--dvd .caption.only-sp{
    bottom: 0;
    position: absolute;
    margin-bottom: -20px;
  }
  .p-order-info{
    margin-top: 80px;
    margin-bottom: 16px;
  }
  .p-ship__text{
    font-size: 0.85rem;
  }
  .p-ship-table{
    width: 100%;
  }
  .p-payment__list{
    gap: 0;
    margin-bottom: 0;
  }
  .p-payment__method{
    margin-bottom: 32px;
  }
  .p-faq{
    padding-bottom: 48px;
  }
  .p-caution__title {
    margin-bottom: 48px;
  }
  .p-column .swiper-container{
    padding-bottom: 90px;
  }
  .p-column .swiper-buttons{
    bottom: 20px;
  }

}

/* ----------------------------------------
  8mmからDVD
---------------------------------------- */
.page-service--dvd_8mm .p-feature__merits .l-cols--3{
  margin-bottom: 0;
}
/* .page-service--dvd_8mm .p-feature__merit-item{
  background-color: #fff;
  display: flex;
  gap: 12px;
  justify-content: center;
  align-items: center;
  padding: 18px 4px;
  font-size: 0.75rem;
}
.page-service--dvd_8mm .p-feature__merit-icon{
  width: 26%;
}
.page-service--dvd_8mm .p-feature__merit-emphasis{
  font-size: 1.25rem;
  font-weight: 700;
}
.page-service--dvd_8mm .p-feature__merit-highlight{
  color: #01916D;
} */
.page-service--dvd_8mm .p-feature__point{
  text-align: center;
  height: 108px;

}
.page-service--dvd_8mm .p-feature__point:before{
    top: 58%;
    right: 100%;
}
.page-service--dvd_8mm .p-feature__point:after{
    top: 58%;
    left: 100%;
}
.page-service--dvd_8mm .p-feature__list{
  margin: 0 auto;
  width: 600px;
}
.page-service--dvd_8mm .p-feature__item:not(:last-child){
  border-bottom: 1px solid #d6d6d6;
}
.page-service--dvd_8mm .p-feature__item{
  padding: 24px 0;
}
.page-service--dvd_8mm .p-feature__body{
  display: flex;
  gap: 64px;
  padding-bottom: 0;
}
.page-service--dvd_8mm .p-feature__inner{
  gap: 32px;
}
.page-service--dvd_8mm .p-feature__highlight--light{
    font-size: 1.5rem;
  font-weight: 700;
  color: #01916D;
}
.page-service--dvd_8mm .p-voc__movie-text{
  width: 640px;
  line-height: 1.8;
  margin-bottom: 32px;
}
.page-service--dvd_8mm .p-price__image {
  margin-bottom: 64px;
}
.page-service--dvd_8mm .p-price-table{
  margin-bottom: 40px;
}
.page-service--dvd_8mm .p-order-info .l-cols__item:first-child{
  width: 74%;
}
.page-service--dvd_8mm .p-order-info > .l-cols__item:last-child{
  width: 20%;
}
.page-service--dvd_8mm .p-payment__list .l-cols__item:first-child{
  width: 100%;
}

.page-service--dvd_8mm .p-order-info .p-ship-table{
  width: 320px;
}
.page-service--dvd_8mm .p-order-info .p-ship__wrapper{
  display: flex;
  gap: 16px;
  justify-content: space-between;
}
.p-film-info{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
}
.p-film-info__image{
  width: 240px;
}

@media (max-width: 767px) {
  .page-service--dvd_8mm .p-feature__body{
    flex-direction: column;
    gap: 24px;
  }
  .page-service--dvd_8mm .p-feature__highlight{
    font-size: 1.25rem;
  }
  .page-service--dvd_8mm .p-feature__point{
      height: 52px;
  }
  .p-feature__inner{
    margin-bottom: 0;
  }
  .page-service--dvd_8mm .p-feature__highlight--light{
    font-size: 1.25rem;
  }
  .page-service--dvd_8mm .p-feature__list{
    width: 100%;
  }
  .page-service--dvd_8mm .p-feature__item{
    text-align: center;
  }
  .page-service--dvd_8mm .p-voc__movie-text{
    width: 100%;
  }
  .page-service--dvd_8mm .p-price__image{
    margin-bottom: 48px;
  }
  .p-film-info{
    flex-direction: column;
    gap: 16px;
  }
  .page-service--dvd_8mm .p-order-info .p-ship__wrapper{
    flex-direction: column;
    gap: 0;
  }
  .page-service--dvd_8mm .p-order-info .p-ship-table{
    width: 100%;
  }
}
/* ----------------------------------------
  リール
---------------------------------------- */
.p-fv-film-type{
  align-items: center;
  padding-bottom: 48px;
  margin-bottom: 80px;
  margin-top: -40px;
  justify-content: space-between;
  gap: 20px;
  border-bottom: 1px solid #d6d6d6;
}
.p-fv-film-type__title{
  margin-bottom: 40px;
}
.p-fv-film-type .l-cols__item{
  width: calc(50% - 10px);
}
.p-fv-film-type .l-cols__item img{
  height: auto;
}
.p-film-type{
  display: flex;
  gap: 64px;
  margin-bottom: 80px;
}
.p-film-type__intro{
  width: 40%;
}
.p-film-type__description{
  margin-bottom: 40px;
}
.p-film-type__block:not(:last-child){
  margin-bottom: 56px;
}
.p-film-type__heading{
  border-bottom: none;
  margin-bottom: 0;
}
.page-reel .p-price{
  padding-top: 0;
}
.p-film-measure{
  display: flex;
  gap: 64px;
  margin-bottom: 80px;
}
.p-film-measure__intro{
  width: 40%;
}
.p-film-measure__image img{
  width: 420px;
  height: auto;
  margin: 0 auto;
  display: block;
}
.p-film-measure__content h3{
  border: none;
  margin-bottom: 0;
}
.p-film-measure__description{
  margin-bottom: 16px;
}
.p-film-measure__table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1.5rem;
  text-align: center;
  font-size: 1rem;
  border: 1px solid #ccc;
}
.p-film-measure__table th {
  background-color: #f0f0f0;
  padding: 1rem .5rem;
  border-bottom: 1px solid #ccc;
  font-weight: 400;
}
.p-film-measure__table td {
  padding: 1rem;
}
.p-film-measure__table th,
.p-film-measure__table td {
  border: 1px solid #ccc;
  padding: 1rem .5rem;
  font-weight: 400;
  vertical-align: middle;
}
.p-film-measure__table tbody th {
  font-weight: 400;
  width: 140px;
}
.p-film-measure__th--label {
  background-color: #f0f0f0;
  font-weight: 400;
}
@media (max-width: 767px) {
  .p-fv-film-type{
    margin-top: 0;
  }
  .p-fv-film-type .l-cols__item img{
    height: auto;
  }
  .p-film-type{
    flex-direction: column;
  }
  .p-film-type__intro{
    width: 100%;
  }
  .p-film-type__text{
    text-align: left;
  }
  .p-film-measure{
    flex-direction: column;
  }
  .p-film-measure__intro{
    width: 100%;
  }
  .p-film-measure__table{
    box-sizing: border-box;
  }
  .p-film-measure__table tbody th {
    width: auto;
  }
  .p-film-measure__table th,
  .p-film-measure__table td{
    padding-right: 1%;
    padding-left: 1%;
    font-size: 0.875rem;
  }
}

/* ----------------------------------------
  アルバムからDVD
---------------------------------------- */
.page-service--scan_album .p-feature__inner{
  display: block;
  margin-bottom: 0;
}
.page-service--scan_album .p-feature__text{
  margin-bottom: 24px;
}

.page-service--scan_album .p-feature__body{
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  max-width: 880px;
  margin: 0 auto;
  padding: 64px 0;
}
.page-service--scan_album .p-feature__body .l-cols__item{
  width: calc(50% - 1.5rem);
  margin-top: 0;
}
.page-service--scan_album .p-feature__extra{
    background-color: #F6F6F6;
    border-radius: 10px;
    padding: 40px;  
}

.page-service--scan_album .p-feature__extra-cols{
  margin-bottom: 16px;
  justify-content: space-between;
  gap: 1rem;
}
.page-service--scan_album .p-feature__extra-head{
  justify-content: center;
  gap: .5rem;
  margin-bottom: 32px;
}
.page-service--scan_album .p-feature__extra-head .l-cols__item{
  width: fit-content;
}
.page-service--scan_album .p-feature__extra-title{
  font-size: 1.25rem;
  font-weight: 700;
  color: #01916D;
}
.page-service--scan_album .p-feature__extra-label{
  text-align: right;
}
.page-service--scan_album .p-feature__extra-label span{
  background-color: #01916D;
  padding: 8px;
  color: #FFF;
  font-size: 0.875rem;
  border-radius: 30px;
}
.page-service--scan_album .p-feature__extra-item{
  background-color: #fff;
  border-radius: 5px;
  padding: 30px;
  width: calc(50% - 1rem);
}
.page-service--scan_album .p-feature__extra-body{
  justify-content: space-between;
  align-items: center;
  gap: .5rem;
  margin-bottom: 0;
}
.page-service--scan_album .p-feature__extra-image{
  width: calc(40% - .5rem);
}
.page-service--scan_album .p-feature__extra-text{
  width: calc(60% - .5rem);
}

.page-service--scan_album .p-feature__extra-subtitle{
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 24px;
}
.page-service--scan_album .p-price{
  padding-top: 0;
}
.page-service--scan_album .p-price-table{
    max-width: 880px;
    margin: 0 auto 24px;
}
.page-service--scan_album .p-price .caption{
    max-width: 880px;
    margin: 0 auto;
}
.page-service--scan_album .p-order-info .l-cols__item:first-child{
  width: 64%;
}
.page-service--scan_album .p-order-info > .l-cols__item:last-child{
  width: 30%;
}
.page-service--scan_album .p-order-info .p-ship-table{
  width: 380px;
}
.page-service--scan_album .p-order-info .p-ship__wrapper{
  display: flex;
  gap: 16px;
  justify-content: space-between;
}
/*応急処置*/
.page-service--scan_album .fixed-action{
  display: flex!important;
}

@media (max-width: 1180px) {
  .page-service--scan_album .p-feature__extra-title{
    font-size: 1.125rem;
  }
  .page-service--scan_album .p-feature__extra-label span{
    font-size: 0.8125rem;
  }
}
@media (max-width: 1024px) {
  .page-service--scan_album .p-feature__extra-body{
    align-items: flex-start;
    flex-direction: column;
    gap: 32px;
  }
  .page-service--scan_album .p-feature__extra-head{
    justify-content: center;
  }
  .page-service--scan_album .p-feature__extra-head .l-cols__item{
    text-align: center;
  }
  .page-service--scan_album .p-feature__extra-subtitle{
    text-align: center;
  }
  .page-service--scan_album .p-feature__extra-image{
    margin: 0 auto;
  }
  .page-service--scan_album .p-feature__extra-body .p-feature__extra-text{
    width: 100%;
  }
}

@media (max-width: 767px) {
  .page-service--scan_album .p-feature__extra{
    padding: 20px;
  }
  .page-service--scan_album .p-feature__extra-image img{
    width: 53%;
    margin: 0 auto;
    display: block;
  }
  .page-service--scan_album .p-feature__extra-item{
    padding: 20px 10px;
  }
  .page-service--scan_album .p-order-info .p-ship__wrapper{
    flex-direction: column;
    gap: 0;
  }
  .page-service--scan_album .p-order-info .p-ship-table{
    width: 100%;
  }
}


/* ----------------------------------------
  プリントからDVD
---------------------------------------- */

.p-feature-scan{
  padding: 48px 0;
  display: flex;
  justify-content: center;
  gap: 64px;
}
.p-feature-scan__highlight{
  color: #01916D;
  margin-right: 32px;
  font-size: 1rem;
}
.p-feature-scan__body{

}
.p-feature-scan__heading{
  border-bottom: none;
}
.p-feature-scan__heading span{
  color: #01916D;
}

.p-feature-scan__text{
  text-align: center;
  margin-bottom: 32px;
}
.page-service--scan .p-feature__extra{
    background-color: #F6F6F6;
    border-radius: 10px;
    padding: 40px;  
}

.page-service--scan .p-feature__extra-cols{
  margin-bottom: 0;
  justify-content: space-between;
  gap: 1rem;
}

.page-service--scan .p-feature__extra-head{
  justify-content: center;
  gap: .5rem;
  margin-bottom: 32px;
}
.page-service--scan .p-feature__extra-item{
  background-color: #fff;
  border-radius: 5px;
  padding: 30px;
  width: calc(50% - 1rem);
  text-align: center;
}
.page-service--scan .p-feature__extra-body{
  justify-content: space-between;
  align-items: center;
  gap: .5rem;
  margin-bottom: 0;
}
.page-service--scan .p-feature__extra-body .l-cols__item{
  width: calc(50% - .5rem);
}
.page-service--scan .p-feature__extra-label{
  background-color: #01916D;
  color: #FFF;
  font-weight: 700;
  padding: 8px;
  text-align: center;
  border-radius: 30px;
  margin-bottom: 24px;
 }
.page-service--scan .p-feature__extra-item img{
  margin: 0 auto;
  display: block;
  margin-bottom: 24px;
}
.page-service--scan .p-price {
  padding-top: 0;
}
.page-service--scan .p-price-table--print-pc{
  display: table;
}
.page-service--scan .p-price-table--print-sp{
  display: none;
}
.page-service--scan .p-price-table__col--label{
  width: 40%;
}
.page-service--scan .p-price-table__col--data{
  width: 15%;
}
.page-service--scan .p-price-table th,
.page-service--scan .p-price-table td{
  padding: 1rem .5rem;
}
.page-service--scan .p-price-table{
  margin-bottom: 24px;
}
.page-service--scan .p-price-option{
  margin-top: 48px ;
}
.page-service--scan .p-price-option__image{
  display: block;
  text-align: center;
  width: 740px;
  margin: 0 auto;
}
.page-service--scan .p-order-info .l-cols__item:first-child{
  width: 64%;
}
.page-service--scan .p-order-info > .l-cols__item:last-child{
  width: 30%;
}
.page-service--scan .p-order-info .p-ship-table{
  width: 380px;
}
.page-service--scan .p-order-info .p-ship__wrapper{
  display: flex;
  gap: 16px;
  justify-content: space-between;
}

@media (max-width: 767px) {
  .p-feature-scan{
    flex-direction: column;
    gap: 16px;
  }
  .p-feature-scan__heading{
    margin-bottom: 0;
  }
  .page-service--scan .p-feature__extra{
    padding: 20px;
  }
  .page-service--scan .p-feature__extra-item{
    padding: 20px;
  }
  .page-service--scan .p-feature__extra-label{
    padding: 4px;
  }
  .page-service--scan .p-price-table--print-pc{
    display: none;
  }
  .page-service--scan .p-price-table--print-sp{
    display: table;
  }
   .page-service--scan .p-price-table-title{
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 24px;
    text-align: center;
    border-bottom: 1px solid #d6d6d6;
    padding-bottom: 12px;
  }
  .page-service--scan .p-price-table{
    font-size: 0.875rem;
  }
  .page-service--scan .p-price-table th, .page-service--scan .p-price-table td{
    padding: 1rem 0.25rem;
  }
  .page-service--scan .p-price-table__col--label{
    width: 46%;
  }
  .page-service--scan .p-price-table__col--data{
    width: 27%;
  }
  .page-service--scan .p-price-table__th span,
  .page-service--scan .p-price-table__td span{
    font-size: 0.6875rem;
  }
  .page-service--scan .p-price-table{
    margin-bottom: 40px;
  }

  
  .page-service--scan .p-order-info .p-ship__wrapper{
    flex-direction: column;
    gap: 0;
  }
  .page-service--scan .p-order-info .p-ship-table{
    width: 100%;
  }
}

/* ----------------------------------------
  写真プリントからDVD
---------------------------------------- */

.page-service--scan_film .p-feature__body{
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  max-width: 964px;
  margin: 0 auto;
  padding: 64px 0 0;
}
.page-service--scan_film .p-feature__inner{
  display: block;
}
.page-service--scan_film .p-feature__text{
  margin-bottom: 24px;
}
.page-service--scan_film .p-feature__body .l-cols__item{
  width: calc(50% - 1.5rem);
  margin-top: 0;
}
.page-service--scan_film .p-price{
  padding-top: 0;
}
.page-service--scan_film .p-price__title span{
  font-size: 0.85rem;
  color: #01916D;
  margin-left: 16px;
}
.page-service--scan_film .p-price__text{
  font-weight: 400;
  font-size: 1rem;
}
.page-service--scan_film .p-film-price-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1.5rem;
  text-align: center;
  font-size: 0.85rem;
  border: 1px solid #ccc;
}
.page-service--scan_film .p-film-price-table__col--type{
  width: 50%;
}
.page-service--scan_film .p-film-price-table__col--quantity{
  width: 25%;
}
.page-service--scan_film .p-film-price-table__col--price{
  width: 25%;
}
.page-service--scan_film .p-film-price-table__label{
  text-align: left;
}
.page-service--scan_film .p-film-price-table th {
  background-color: #f0f0f0;
  padding: 1rem .5rem;
  border: 1px solid #ccc;
  font-weight: 400;
  vertical-align: middle;
}
.page-service--scan_film .p-film-price-table td {
  padding: 1rem;
  vertical-align: middle;
  border: 1px solid #ccc;
}
.page-service--scan_film .p-film-price-table__note{
  margin-top: 24px;
  font-size: 0.8125rem;
  text-align: left;
}
.page-service--scan_film .p-price__caption-list{
  font-size: 0.75rem;
  color: #5c5c5c;
  list-style: disc;
  list-style-position: outside;
  padding-left: 1rem;
}
.page-service--scan_film .p-film-price-group:not(:last-child){
  padding: 0 0 64px;
}
.page-service--scan_film .p-price__note{
  font-size: 1.125rem;
  font-weight: 700;
}
.page-service--scan_film .p-ship__wrapper{
  display: flex;
  gap: 16px;
  justify-content: space-between;
}
.page-service--scan_film .p-ship-table {
  width: 100%;
}
.page-service--scan_film .p-order-info .l-cols__item:first-child{
  width: 74%;
}
.page-service--scan_film .p-order-info > .l-cols__item:last-child{
  width: 20%;
}
.page-service--scan_film .p-order-info .p-ship-table{
  width: 450px;
}
.page-service--scan_film .p-ship-table__col--label{
  width: 30%;
}
.page-service--scan_film .p-ship-table__col--pack{
   width: 30%;
}
.page-service--scan_film .p-ship-table__col--days{
   width: 40%;
}
.page-service--scan_film .p-ship-table__td {
    padding: 1rem .5rem;
    border: 1px solid #ccc;
    font-weight: 400;
    vertical-align: middle;
}

@media (max-width: 767px) {
  .page-service--scan_film .p-price__title span{
    margin-left: 0;
  }
  .page-service--scan_film .p-price__text{
    text-align: left;
  }
  .page-service--scan_film .p-ship__wrapper{
    flex-direction: column;
  }
  .page-service--scan_film .p-price__note{
    text-align: center;
  }
  .page-service--scan_film .p-order-info .p-ship-table{
    width: 100%;
  }
}
/* ----------------------------------------
  富士フイルムが選ばれる理由
---------------------------------------- */
.p-fv-guide__heading{
  text-align: center;
}
.p-fv-guide__title{
  margin-bottom: 40px;
}
.p-fv-guide__heading img{
  max-width: 880px;
  margin-bottom: 64px;
}
.p-fv-guide__text{
  font-size: 1.125rem;
  text-align: center;
    margin-bottom: 40px;
}
.p-guide-message__body{
  display: flex;
  justify-content: space-between;
  gap:64px;
  line-height: 1.8;
  padding-bottom: 64px;
}
.p-guide-message__image-wrap{
  width: 40%;
}
.p-guide-message__image-wrap img{
  width: 100%;
}
.p-guide-message__voices{
  padding: 0 16px 32px;
}
.p-guide-message__text:not(:last-child){
  margin-bottom: 32px;
}
.p-guide-message__voice:last-child{
  margin-left: 10px;
  font-size: 0.75rem;
  color: #5c5c5c;
  text-decoration: underline;
}
.p-guide-problems__inner{
  justify-content: space-between;
}
.p-guide-problems__text{
  line-height: 1.8;
}
.p-guide-problems__text:not(:last-child){
  margin-bottom: 32px;
}


@media (max-width: 767px) {
  .p-fv-guide__heading img{
    width: 100%;
    height: auto;
  }
  .p-guide-message__body{
    flex-direction: column-reverse;
    gap: 24px;
  }
  .p-guide-message__image-wrap{
    width: 100%;
  }
  .p-guide-message__voices{
    padding: 0 8px 24px;
  }
  .p-guide-message__voice{
    text-indent: -1em;
    padding-left: 1em;
  }
  .p-guide-message__voice:last-child{
    text-align: right;
  }
  .p-guide-message__text:not(:last-child){
  margin-bottom: 24px;
  }
  .p-guide-problems__text:not(:last-child){
  margin-bottom: 24px;
  }

}

/* ----------------------------------------
  納期について
---------------------------------------- */
.p-delivery{
  margin-bottom: 80px;
}
.p-delivery__important-inner{
  background-color: #f6f6f6;
  padding: 48px;
  border-radius: 10px;
}
.p-delivery__title{
  text-align: center;
  margin-bottom: 64px;
}
.p-delivery__important-heading{
  margin-bottom: 64px;
}
.p-delivery__important-title{
  border-bottom: 1px solid #d6d6d6;
  padding-bottom: 16px;
}
.p-delivery__important-label{
  color: #01916D;
    font-weight: 700;
}
.p-delivery__important-list{
  list-style-type: disc;
  list-style-position: outside;
  padding-left: 1rem;
  margin-bottom: 48px;
  line-height: 1.8;
}
.p-delivery__sublist{
  list-style-type: circle;
  list-style-position: outside;
  padding-left: 1rem;
  line-height: 1.8;
}
.p-delivery__heading{
  text-align: center;
}
.p-delivery__type{
  font-size: 0.875rem;
}

.p-delivery__table{
  width: 100%;
  max-width: 880px;
  border-collapse: collapse;
  text-align: center;
  font-size: 1rem;
  font-weight: 400;
  margin: 0 auto 80px;
}
.p-delivery__col--1{
  width: 30%;
}
.p-delivery__col--2{
  width: 70%;
}
.p-delivery__table th,
.p-delivery__table td {
  border: 1px solid #ccc;
  padding: 1rem;
  font-weight: 400;
  vertical-align: middle;
}
.p-delivery__th {
  background-color: #f0f0f0;
  font-weight: 400;
}
.p-delivery__td .caption{
  margin-top: 24px;
}
.p-delivery__table__caption{
  width: 100%;
  max-width: 880px;
  margin: -64px auto 80px;
}
.p-delivery__col--1{
  width: 30%;
}
.p-delivery__col--2{
  width: 70%;
}
.p-delivery__table--3col .p-delivery__col--1{
  width: 25%;
}
.p-delivery__table--3col .p-delivery__col--2{
  width: 25%;
}
.p-delivery__table--3col .p-delivery__col--3{
  width: 50%;
}

@media (max-width: 767px) {
  .p-delivery__important-heading{
    font-size: 1rem;
  }
  .p-delivery__important-inner{
    padding: 32px 16px;
  }
  .p-delivery__table th, .p-delivery__table td{
    padding: 1rem .5rem;
  }
}

/* ----------------------------------------
  コラム一覧
---------------------------------------- */

.p-column__title{
  border-bottom: 1px solid #d6d6d6;
  padding-bottom: 20px;
  margin-bottom: 48px;
}
.p-column__list{
  margin-bottom: 0;
}
.p-column__list .l-cols__item{
  width: calc(33.333% - .9rem);
}
.p-column--aside__title{
  border-bottom: 1px solid #d6d6d6;
  padding-bottom: 16px;
  margin-bottom: 32px;
  font-size: 1.125rem;
}
.p-columnrecommend-list{
  margin-bottom: 48px;
}
.p-columnrecommend{
  margin-bottom: 16px;
}
.p-columnrecommend__item{
  display: flex;
  background-color: #F6F6F6;
  border-radius: 5px;
  padding:16px;
  gap: 16px;
}
.p-columnrecommend__image{
  width: 104px;
  height: 104px;
  display: flex;
  flex-shrink: 0;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border: 1px solid #d6d6d6;
}
.p-columnrecommend__image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.p-columnrecommend__title{
  font-size: 0.9375rem;
}
.p-service--aside__list + .p-service--aside__list{
  margin-top: 24px;
}
.p-service--aside__item{
  display: flex;
  padding:0;
  gap: 16px;
  align-items: flex-start;
}
.p-service--aside__image{
  width: 68px;
}
.p-service--aside__info{
  flex: 1;
}
.p-service--aside__title{
  font-size: 0.9375rem;
  margin-bottom: 4px;
}
.p-service--aside__title span{
  font-size: 0.75rem;
  letter-spacing: normal;
}
.p-service--aside__price{
  font-size: .75rem;
  color: #5c5c5c;
}
@media (max-width: 1180px) {
  .p-service--aside__item{
    align-items: flex-start;
  }
  .p-service--aside__title{
    font-size: 0.875rem;
  }
  .p-service--aside__title span{
    font-size: 0.6875rem;
  }
  .p-service--aside__price{
    font-size: 0.6875rem;
  }
  .p-columnrecommend__title{
    font-size: 0.875rem; 
  }
  .p-columnrecommend__image{
    width: 70px;
    height: 70px;
  }
}

@media (max-width: 1024px) {
  .p-service--aside__list-wrapper{
    display: flex;
    flex-wrap: wrap; /* ← 必須 */
    gap: 32px 16px;  /* 横16px、縦32pxなど */
    justify-content: space-between;
  }
  .p-service--aside__list{
    width: calc(50% - 16px);
  }
  .p-service--aside__list + .p-service--aside__list{
    margin-top: 0;
  }
    .p-columnrecommend__item{
  width: calc(50% - 16px);
  }
}


@media (max-width: 767px) {
  .p-column{
    padding-inline: 32px;
    box-sizing: border-box;
  }
  .card--article .card__body{
    padding-bottom: 0;
    padding-top: 0.5rem;
  }
  .p-columnrecommend__title{
    font-size: 1rem;
  }
  .p-service--aside__title{
    font-size: 0.9375rem;
  }
  .p-service--aside__image{
    width: 110px;
  }
  .p-service--aside__title span{
    font-size: 0.75rem;
  }
  .p-service--aside__price{
    font-size: .75rem;
  }
  .p-service--aside__item{
    align-items: ;
  }
}
@media (max-width: 375px) {
  .p-column{
    padding-inline: 16px;
  }
}

/* ----------------------------------------
  コラム詳細
---------------------------------------- */
.p-column-detail__title-wrap {
  border-bottom: 1px solid #d6d6d6;
  padding-bottom: 20px;
  margin-bottom: 20px;
}
.p-column-detail__title-wrap {
  display: block; 
}
.p-column-detail__title {
  font-size: 1.875rem;
  margin: 0;
}
.p-column-detail__author {
  text-align: right;
  font-size: 1rem;
  margin-top: 0.5em;
}
.p-column-detail__share{
  margin-bottom: 48px;
  text-align: right;
}
.p-column-detail__share-btn{
  margin-left: 12px;
}
.p-column-detail__section{
  background-color: #f6f6f6;
  padding: 40px;
}
.p-column-detail__subtitle{
  font-size: 1.5rem;
  text-align: center;
  font-family:'Noto Serif JP', serif;
}
.p-column-detail__subtitle span{
  font-size: 1rem;
}
.p-column-detail__img{
 text-align: center;
}
.p-column-detail__img img{
 height: auto;
}

.p-column-detail__body {
	-ms-writing-mode: tb-rl;
	writing-mode:vertical-rl;
	text-orientation:upright;
	margin:20px auto;
	padding:15px 20px 15px 15px;
	background:none;
	letter-spacing:.2em;
	max-height:690px;
  font-family:'Noto Serif JP', serif;
}
.p-column-detail__body p {
	line-height:180%;
  	font-size:1rem;
}
.p-column-detail__body h3 {
	font-family:'Noto Serif JP', serif;
	text-align:left;
	border:none;
	font-size:22px;
	color:#000;
	margin-left:20px;
	line-height:180%;
}
.p-column-detail__status {
	text-align:left;
	border:none;
	font-size:18px;
	color:#000;
	margin-left:20px;
}
.p-column-detail__body p {
	font-family:'Noto Serif JP', serif;
}
.p-column-detail__author-note{
  text-align: right;
}

.p-column-detail__body p.txt {
	margin-left:10px;
}
.p-column-detail__body p.author {
	text-align:right;
	margin-bottom:0px;
}
.p-column-detail__profile{
  border: 1px solid #d6d6d6;
  padding: 40px;
  margin-bottom: 80px;
}
.p-column-detail__article{
  margin-bottom: 56px;
}
.p-column-detail__profile{
  font-size: 0.875rem;
}
.p-column-detail__profile-title{
  font-size: 0.875rem;
  border: none;
  margin-bottom: 0;
}
.p-column-detail__profile-link{
  margin-top: 16px;
}
.p-related-service__title{
  text-align: center;
}
.p-related-service__img{
  margin-bottom: 40px;
  text-align: center;
}
.p-related-service__text{
  text-align: center;
  margin-bottom: 48px;
}
.p-related-links{
  display: flex;
  gap: 32px;
  justify-content: center;
}

/*p-column-detail--type-b：コラムのCSSをそのまま移行*/
.p-column-detail--type-b .mainVisual{
	padding-bottom:48px;
	}
.p-column-detail--type-b .mainVisual img {
	width:100%;
	height:auto;
	padding:0;
	}

.p-column-detail--type-b #mainContents{
	width:710px;
	float:left;
}
/*----------------block----------------*/
.p-column-detail--type-b .block01{
	clear:both;
	padding:0 0 48px;
}

/*----------------H1,H2,p----------------*/

.p-column-detail--type-b .block01 h2{
	font-size:125%;
	font-weight:bold;
	border-bottom:#CCC solid 1px;
	margin:0 0 32px;
	padding:0 0 0.3em;
}
.p-column-detail--type-b h2.b_no{
	font-size:125%;
	font-weight:bold;
	border-bottom:none;
	margin:0 0 0.5em;
}
.p-column-detail--type-b h3{
	font-size:115%;
	font-weight:bold;
	color:#333;
	margin:0 0 0.7em;
	padding:0;
	/*clear:both;*/
  border-bottom: none;
}
.p-column-detail--type-b h3.green{
	font-size:115%;
	font-weight:bold;
	color:#01916D;
	margin:0 0 0.7em;
	padding:0;
	/*clear:both;*/
}
.p-column-detail--type-b h4{
	font-size:100%;
	font-weight:normal;
	color:#333;
	margin:0 0 0.7em;
	padding:0;
}
.p-column-detail--type-b p.sub_ttl{
	font-size:100%;
	font-weight:bold;
	color:#01916D;
	margin:0 0 0.2em;
}
.p-column-detail--type-b.l-cols__main-fixed p{
	margin:0;
	line-height:1.8;
}
.p-column-detail--type-b.l-cols__main-fixed .block01 a{
  text-decoration: underline;
}
.p-column-detail--type-b .part_related a{
  display: inline-block;
}
.p-column-detail--type-b p.btl{
	border-top:#CCC solid 1px;
	padding-top:20px;
}
.p-column-detail--type-b em{
	font-weight:bold;
}
.p-column-detail--type-b .red{
	color:#F00;
}
.p-column-detail--type-b .pl100p{
	padding-left:100px;
}
.p-column-detail--type-b .pr100p{
	padding-right:100px;
}
.p-column-detail--type-b .bold{
	font-weight:bold;
}
.p-column-detail--type-b .btn{
	text-align:center;
  display: block;
  padding: 16px 0;
}
.p-column-detail--type-b img{
  height: auto;
}


/* Disc List
---------------------------------------- */
.p-column-detail--type-b ul.discList {
margin-left:20px;
}
.p-column-detail--type-b ul.discList li {
margin-bottom:8px;
list-style-type:disc;
line-height:1.7em;
}
.p-column-detail--type-b ul.discList li.linkListLast {
margin-bottom:0;
}
.p-column-detail--type-b ul.discList li ul {
margin:3px 0 0 10px;
}

/* Decimal List
---------------------------------------- */
.p-column-detail--type-b ol.decimalList {
margin-left:20px;
}
.p-column-detail--type-b ol.decimalList li {
margin-bottom:8px;
list-style-type:decimal;
}
.p-column-detail--type-b ol.decimalList li.linkListLast {
margin-bottom:0;
}
.p-column-detail--type-b ol.decimalList li ol {
margin:3px 0 0 10px;
}


/*----------------ページ送り----------------*/
.p-column-detail--type-b .page_box{
	background-color:#cde4db;
	padding:7px 7px;
	margin-bottom:40px;
}
.p-column-detail--type-b .page_box a:hover{
	opacity:0.8;
	}
.p-column-detail--type-b .page_next a{
	display: inline-block;
	*display: inline;
	*zoom: 1;
	background: #00906d;
	color: #fff;
	padding: 15px 20px;
	border-radius: 5px;
	text-decoration: none;
	float:right;
}
.p-column-detail--type-b .page_back a{
	display: inline-block;
	*display: inline;
	*zoom: 1;
	background: #00906d;
	color: #fff;
	padding: 15px 20px;
	border-radius: 5px;
	text-decoration: none;
	float:left;
	}
.p-column-detail--type-b .page_number{
	text-align:center;
	padding:15px;
}



/* -------------- 2カラム ---------------- */

.p-column-detail--type-b .2column {
	margin:5px auto;
	clear:both;
}

.p-column-detail--type-b .boxFrameWidth345{
  width: calc(50% - 10px);
  box-sizing: border-box;
}
.p-column-detail--type-b .boxFrameWidth345 img{
  width: 100%;
}

/* -------------- 2カラム 高さ揃える---------------- */
.p-column-detail--type-b .h10em{
	overflow:hidden;
	min-height:10em;
}

.p-column-detail--type-b .h15em{
	overflow:hidden;
	min-height:15em;
}

.p-column-detail--type-b .h18em{
	overflow:hidden;
	min-height:18em;
}
.p-column-detail--type-b .h19em{
	overflow:hidden;
	min-height:19em;
}
.p-column-detail--type-b .part_related_graph{
  display: flex;
  margin-bottom: 32px;
}


/* -------------- Float ---------------- */
.p-column-detail--type-b .flPhoto ,
.p-column-detail--type-b .flPhoto.left {
	float: left;
	padding: 0 1.5em 1.5em 0;
}
.p-column-detail--type-b .flPhoto.right {
	float: right;
	padding: 0 0 1.5em 48px;
}
.p-column-detail--type-b .clear{
	clear:both;
}
.p-column-detail--type-b .floatRight{
	float:right;
}
.p-column-detail--type-b .floatLeft{
	float:left;
}
.p-column-detail--type-b .wrapper-boxFrame{
  display: flex;
  justify-content: space-between;
  gap: 24px;
}
.p-column-detail--type-b .part_related_voice1{
  display: flex;
}
.p-column-detail--type-b .part_related_voice2{
  display: flex;
  flex-direction: row-reverse;
}
.p-column-detail--type-b .part_related_graph{
  gap: 32px;
}
.p-column-detail--type-b .part_related_graph_left{
  width: 220px;
}
.p-column-detail--type-b .part_related_graph_left img{
  width: 90%;
}
.p-column-detail--type-b .part_related_voice1{
  margin-bottom: 24px;
}
.p-column-detail--type-b .part_related_voice1 img,
.p-column-detail--type-b .part_related_voice2 img{
  width: 110px;
  height: 100px;
  margin-bottom: 24px;
}
.p-column-detail--type-b .part_related_graph_right{
    flex: 1;
}
.p-column-detail--type-b .speech-bubble_left,
.p-column-detail--type-b .speech-bubble_right {
  position: relative;
}
.p-column-detail--type-b .speech-bubble_left::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -20px;
  transform: translateY(-50%);
  border-width: 10px;
  border-style: solid;
  border-color: transparent #cde4db transparent transparent;
}
.p-column-detail--type-b .speech-bubble_right::before {
  content: "";
  position: absolute;
  top: 50%;
  right: -20px;
  transform: translateY(-50%);
  border-width: 10px;
  border-style: solid;
  border-color: transparent transparent transparent #cde4db;
}
.p-column-detail--type-b .part_related_voice2-single{
  align-items: center;
}



/* -------------- 背景グレーのブロック ---------------- */
.p-column-detail--type-b .bgGrayBlock {
	background-color: #f6f0e3;
	padding:1.2em 1.2em 0.5em;
	text-align:left;
	border-radius:5px;
}
.p-column-detail--type-b .bgGrayBlock dl{
	margin:0;
}
.p-column-detail--type-b .bgGrayBlock dt{
	color:#333;
	font-size:100%;
	font-weight:bold;
	margin:0 0 0.1em;
	line-height:1.7em;
}
.p-column-detail--type-b .bgGrayBlock dd{
	color:#333;
	font-size:100%;
	margin:0 0 1em 2em;
	line-height:1.7em;
}

/* -------------- おすすめサービス -------------- */
.p-column-detail--type-a .osusumesarviceNav,
.p-column-detail--type-b .osusumesarviceNav{
	clear:both;
	margin: 30px 0 0;
}
.p-column-detail--type-a .osusumesarviceNav h2,
.p-column-detail--type-b .osusumesarviceNav h2{
	text-align:center;
	font-size:18px;
	font-weight:bold;
	color:#00906d;
	background-color:#eee;
	padding:10px;
	border-bottom:none;
}
.p-column-detail--type-a .osusumesarviceNav ul li,
.p-column-detail--type-b .osusumesarviceNav ul li {
	list-style:none;
	float:left;
	max-width:230px;
	padding: 5px ;
}
.p-column-detail--type-a .osusumesarviceNav ul li a,
.p-column-detail--type-b .osusumesarviceNav ul li a {
  display:block;
}
.p-column-detail--type-a .osusumesarviceNav ul li a img,
.p-column-detail--type-b .osusumesarviceNav ul li a img {
  width:auto;
  height:auto;
  max-width:200px;
}
.p-column-detail--type-a .osusumesarviceNav ul li a:hover img,
.p-column-detail--type-b .osusumesarviceNav ul li a:hover img {
  opacity:0.8;
}

/* -------------- パーツ関連コンテンツ -------------- */
.p-column-detail--type-b .part_related{
	clear:both;
	margin:20px 0 0;
	background-color:#cde4db;
	padding:8px;
	border-radius:5px;
}
.p-column-detail--type-b .part_related_box{
	background-color:#fff;
	padding:20px 40px 30px;
	border-radius:5px;
}
.p-column-detail--type-b .part_related_box h2{
	color:#00906d;
	font-weight:bold;
	padding:10px 0;
	margin:0;
	font-size:125%;
  border-bottom: none;
	}
.p-column-detail--type-b .part_related_box a:hover img {
	opacity:0.8;
	}
.p-column-detail--type-b .part_related_box h2.graph{
	 text-align:center;
	 color:#333;
	 margin-bottom:10px;
}
.p-column-detail--type-b .part_related_box h2.graph span{
	color:#F06;
  display: inline-block;
}
.p-column-detail--type-b .part_related_box .img_l{
	background-color:#cde4db;
	padding:12px;
	border-radius:5px;
	/* margin:0 10px 15px 340px; */
  margin: 0;
}
.p-column-detail--type-b .part_related_box .img_r{
	background-color:#cde4db;
	padding:12px;
	border-radius:5px;
	/* margin:0 100px 15px 240px; */
  margin: 0;
}
.p-column-detail--type-b .part_related_box .btn{
	text-align:center;
	clear:both;
  display: block;
}

/* -------------- おすすめ関連コンテンツ -------------- */
.p-column-detail--type-a .osusume_related,
.p-column-detail--type-b .osusume_related{
	clear:both;
	margin:40px 0 80px;
}
.p-column-detail--type-a .osusume_related h3,
.p-column-detail--type-b .osusume_related h3,
.p-column-detail--type-a .osusume_related h2,
.p-column-detail--type-b .osusume_related h2{
	font-weight:bold;
	padding:10px 10px;
	margin:0;
	font-size:120%;
	border-bottom:#d6d6d6 solid 1px;
	}
.p-column-detail--type-a .osusume_related ul,  
.p-column-detail--type-b .osusume_related ul{
	padding:0;
	margin:32px 0 0;
}
.p-column-detail--type-a .osusume_related li,
.p-column-detail--type-b .osusume_related li{
	list-style:none;
	padding:0;
	line-height:1.5em;
  width: calc(33.333% - .9rem);
}
.p-column-detail--type-a .osusume_related a,
.p-column-detail--type-b .osusume_related a {
	display: block;
  font-weight: 700;
}
.p-column-detail--type-a .osusume_related img,
.p-column-detail--type-b .osusume_related img{
	margin: 0 0 1.5rem;
  width: 100%;
  height: auto;
}


/*---コラム一覧へ戻るボタン ---*/
.p-column-detail--type-a .backBtn{
	clear:both;
	text-align:right;
	margin:40px 40px 64px;
}
.p-column-detail--type-b .backBtn{
	clear:both;
	text-align:right;
	margin:-20px 0 10px;
}

.p-column-detail--type-b ul.anchorLink a{
	display: inline-block;
	color: #3f8f71;
	text-decoration: none;
	font-weight: bold;
}

.p-column-detail--type-b  ul.anchorLink a:hover{
	text-decoration: underline;
}


@media (max-width: 1180px) {
  .p-column-detail__body p{
    font-size: 0.875rem;
  }
  .p-column-detail__body{
    max-height: 558px;
  }
  .p-related-service__text{
    font-size: 0.875rem;
  }
  .p-related-links__item .btn-primary{
      padding: 8px 12px;
  }
}
@media (max-width: 1024px) {
  /* 右カラム縦積み指定 */
  .page-column .l-cols__main-fixed,
  .page-column .l-cols__aside-fixed {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .p-column-detail__body p {
    font-size: 0.875rem;
  }
}
@media (max-width: 767px) {
  .p-column-detail__section{
    padding: 24px;
  }
  .p-column-detail__title {
    font-size: 1.5rem;
  }
  .p-column-detail__subtitle{
    font-size: 1.25rem;
  }
  .p-column-detail__share-btn{
    font-size: 0.8125rem;
  }
  .p-column-detail__img img{
    height: auto;
  }
  .p-column-detail__body{
    writing-mode: horizontal-tb;
    padding: 0;
    max-height: revert;
  }

  .p-column-detail__status{
    margin-left: 0;
  }
  .p-column-detail__body h2{
    font-size: 1.25rem;
    margin-left: 0;
    margin-bottom: 32px;
  }
  .p-column-detail__body h3{
    margin-left: 0;
    margin-bottom: 0;
  }
  .p-column-detail__body p{
    text-align: left;
  }
  .p-column-detail__profile{
    padding: 24px;
  }
  .p-related-service__img img {
    height: auto;
  }
  .p-related-service__text{
    text-align: left;
  }
  .p-columnrecommend__item{
    width: 100%;
    box-sizing: border-box;
  }
  .p-columnrecommend__image{
    width: 88px;
    height: 88px;
  }
  .p-columnrecommend__item{
    align-items: center;
  }
  .p-related-links{
    flex-direction: column;
  }
  .p-related-links__item .btn-primary{
    width: 100%;
    box-sizing: border-box;
  }
  .p-service--aside__list {
    width: 100%;
  }
  /*移行コラム*/
  .p-column-detail--type-b .flPhoto.right{
    width: 100%;
    text-align: center;
  }
  .p-column-detail--type-b .flPhoto, .p-column-detail--type-b .flPhoto.left{
      width: 100%;
    text-align: center;
  }
  .p-column-detail--type-b p.sub_ttl{
    text-align: center;
  }
  .p-column-detail--type-b .bgGrayBlock{
    width: 100%;
    box-sizing: border-box;
  }
   .p-column-detail--type-b .part_related_box{
    padding: 20px; 
  }
  .p-column-detail--type-b .part_related_box h2{
    font-size: 1.125rem;
  }
  .p-column-detail--type-b .part_related .btn{
    padding: 16px 0;
  }
  .p-column-detail--type-b .part_related a{
    margin: 0 auto;
  }
  .p-column-detail--type-b .part_related a img{
    height: auto;
  }
  .p-column-detail--type-b .block01{
    clear:both;
    padding:0 0 48px;
  }
  .p-column-detail--type-b .block01 img{
    height: auto;
  }
  .p-column-detail--type-a .osusume_related img,
  .p-column-detail--type-b .osusume_related img{
    margin: 0 0 0.5rem;
  }
  .p-column-detail--type-b .block0 .youtube_play {
    position:relative;
    padding-bottom: 56.25%;
    height:0;
    overflow:hidden;
  }
  .p-column-detail--type-b .block0 .youtube_play iframe {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
  }
  .p-column-detail--type-b h2.b_no{
    font-size: 1.125rem;
  }
  .wrapper-boxFrame{
    flex-direction: column;
  }
  .p-column-detail--type-b .boxFrameWidth345{
    width: 100%;
  }
  .p-column-detail--type-b .h18em{
    min-height: auto;
  }
  .p-column-detail--type-b .part_related_graph_left{
    margin: 0 auto;
    text-align: center;
  }
  .p-column-detail--type-b .part_related_graph{
    flex-direction: column;
  }
  .p-column-detail--type-b .part_related_voice1 img,
  .p-column-detail--type-b .part_related_voice2 img{
    width: 89px;
    height: 89px;
    margin-bottom: 24px;
  }
   .p-column-detail--type-b .part_related_voice1{
    margin-left: -20px;
   }
    .p-column-detail--type-b .part_related_voice2{
    margin-right: -20px;
   } 
   .p-column-detail--type-a .backBtn{
    margin-right: 0;
   }

}

/* ----------------------------------------
  サイトマップ
---------------------------------------- */
.p-sitemap__title{
  margin-bottom: 80px;
}
.p-sitemap__icon-arrow {
  margin-left: 8px;
  margin-bottom: 5px;
}
.p-sitemap__link{
  font-size: 1.5rem;
}
.p-sitemap__link span{
  font-size: 0.8125rem;
}
.p-sitemap__item {
  display: flex;
  border-bottom: 1px solid #d6d6d6;
  padding-bottom: 32px;
  margin-bottom: 32px;
  align-items: center;
  gap: 32px;
}
.p-sitemap__sublist{
  display: flex;
  gap: 24px;
}
.p-sitemap__item.l-cols--2 .l-cols__item:first-child{
  width: calc(55% - 32px );
}
.p-sitemap__item.l-cols--2  .l-cols__item:last-child{
  width: calc(45% - 32px );
}
.p-sitemap__content{
  margin-bottom: 80px;
}
@media (max-width: 767px) {
  .p-sitemap__link{
    font-size: 1.125rem;
  }
  .p-sitemap__icon-arrow{
    margin-bottom: 2px;
    width: 20px;
  }
  .p-sitemap__sublist{
    flex-wrap: wrap;
    font-size: 0.875rem;
  }
}

/* ----------------------------------------
  今、大切にしたい記憶の記録。
---------------------------------------- */
.p-memories__section{
  padding-bottom: 80px;
  line-height: 1.8;
}
.p-memories__title{
  border-bottom: 1px solid #d6d6d6;
  padding-bottom: 20px;
  margin-bottom: 48px;
}
.p-memories-movie__title{
  border-bottom: 1px solid #d6d6d6;
  padding-bottom: 20px;
  margin-bottom: 48px;
}
.p-memories-movie__title .year{
  font-size: 1rem;
}
.p-memories__heading{
  border-bottom: 1px solid #d6d6d6;
  padding-bottom: 20px;
  margin-bottom: 32px;
}
.p-memories__text{
  margin-bottom: 48px;
}
.p-memories__video{
  margin-bottom: 48px;
}
.p-memories__youtube{
  text-align: center;
    margin-bottom: 64px;
}
.p-memories__images{
  text-align: center;
  margin-bottom: 48px;
}
.p-memories__main-visual{
    margin-bottom: 48px;
    text-align: center;
}
.flex-direction-nav {
  display: none;
}
.p-memories__video video{
  margin-bottom: 16px;
  width: 100%;
}
.p-memories__point-text{
  margin-bottom: 48px;
}
.p-memories__inner{
  display: flex;
  gap: 32px;
}
.p-memories__inner .p-memories__images{
  width: 140px;
}
.p-memories__text{
  flex:1;
}
.p-memories__name-pc{
  margin-top: 24px;
}
.p-memories__name-sp{
  display: none;
}
.p-memories__profile{
  border: 1px solid #d6d6d6;
  padding: 40px;
  margin-bottom: 80px;
  font-size: 0.875rem;
}
.p-memories__profile-title{
    font-size: 0.875rem;
    font-weight: 700;
    border: none;
    margin-bottom: 0;
    padding-bottom: 20px;
}
.p-memories__profile-link{
    margin-top: 16px;
}
.p-memories__banner{
  text-align: center;
  margin-bottom: 16px;
}
.p-memories__banner img{
  height: auto;
}
.p-memories__banner a{
  display: block;
}
.p-memories__banner a + a{
  margin-top: 32px;
}


.p-memories-movie__iframe-wrap {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
  overflow: hidden;
}
.p-memories-movie__iframe-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.p-memories-movie__video{
  margin-bottom: 48px;
}
.p-memories-movie__description{
  margin-bottom: 48px;
  line-height: 1.8;
}
.p-memories-movie__credit-list{
  line-height: 1.8;
}
.p-memories-movie__link{
  margin-bottom: 48px;
  font-size: 0.875rem;
  word-wrap: break-word;
}
.p-memories-movie__nav{
  justify-content: space-between;
}
.p-memories-movie__nav-prev.l-cols__item{
  text-align: left;
  width: 108px!important;
}
.p-memories-movie__nav-prev.btn-arrow::before{
  inset-inline-end: 80px;
}

.p-memories-movie__nav-next.l-cols__item{
  text-align: right;
  width: 108px!important;
}
.p-memories-movie--aside__title{
  border-bottom: 1px solid #d6d6d6;
  padding-bottom: 16px;
  margin-bottom: 32px;
  font-size: 1.125rem;
}
.p-memories-movie__item{
  display: flex;
  padding:0;
  margin-bottom: 32px;
  gap: 8px;
  align-items: center;
}
.p-memories-movie__image img{
  width: 110px;
}
.p-memories-movie__info{
  flex: 1;
}
.p-memories-movie__heading{
  font-size: 0.9375rem;
  margin-bottom: 4px;
}
.p-memories-movie__heading span{
  font-size: 0.75rem;
  letter-spacing: normal;
}


@media (max-width: 767px) {
  .p-memories__section{
    padding-bottom: 48px;
  }
  .p-memories-movie__title .year{
    font-size: 0.875rem;
  }
  .p-memories-movie__title{
    padding-bottom: 20px;
    margin-bottom: 48px;
  }
  .p-memories-movie__title .year{
    font-size: 0.875rem;
  }
  .p-memories__heading{
    padding-bottom: 20px;
    margin-bottom: 32px;
  }

  .p-memories__text{
    margin-bottom: 32px;
  }
  .p-memories__youtube{
    text-align: center;
      margin-bottom: 48px;
  }
  .p-memories__inner .p-memories__images{
    text-align: left;
    margin-bottom: 32px;
    display: flex;
    width: auto;
    gap: 16px;
  }
  .p-memories__inner .p-memories__images img{
    width: 100px;
    height: auto;
  }

  .p-memories__main-visual{
    margin-bottom: 32px;
  }
  .p-memories__video video{
    margin-bottom: 8px;
  }
  .p-memories__point-text{
    margin-bottom: 32px;
  }
  .p-memories__inner{
    flex-direction: column;
    gap: 8px;
  }
  .p-memories__name-pc{
    display: none;
  }
  .p-memories__name-sp{
    display: block;
  }
  .p-memories__video{
    margin-bottom: 32px;
  }
  .p-memories__profile{
    border: 1px solid #d6d6d6;
    padding: 20px;
    margin-bottom: 48px;
    font-size: 0.875rem;
  }
  .p-memories__profile-title{
    font-size: 0.875rem;
    border: none;
    margin-bottom: 0;
  }
  .p-memories__profile-link{
    margin-top: 16px;
  }

}