@charset "UTF-8";
/* =====================
   Base / Reset
===================== */
*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  background: #ddd;
	font-size: 1.6rem; 
	background-image: url("../images/bg_pc.png");
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

a {
  color: inherit;
  text-decoration: none;
}

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

/* メニューOPEN時スクロール防止 
body.is-menu-open {
  overflow: hidden;
}*/

section,
[id] {
  scroll-margin-top: 50px;
}


/* =====================
   Layout
===================== */
.wrap {
    position: relative;
  max-width: 41.4rem;
  width: 100%;
  margin: 0 auto;
  background-color: #fff;
  overflow: hidden;
	
	/* 追加 */
  box-shadow: 0 0 25px rgba(0, 0, 0, 0.2);
  border-radius: 8px; /* 角を少し丸めるとより自然 */
}

/* ヘッダー固定 */
.fixed-header {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
	
	background-color: #fff;
  width: 100%;
  max-width: 41.4rem;
  height: 50px;
  z-index: 1000;
}

/* ダミーヘッダー（高さ確保用） */
header {
  height: 50px;
}

.container{padding: 10px;position: relative;}
.f-left{float: left;}
main{margin-top: 50px;}
/* =====================
   Hamburger Button
===================== */
.hamburger-menu {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 3001; /* ← 最前面 */
}

.menu-btn {
	 position: relative;
  height: 50px;
  width: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #151f41;
  cursor: pointer;
	z-index: 2001;
}

.menu-btn span,
.menu-btn span::before,
.menu-btn span::after {
  content: '';
  position: absolute;
  width: 32px;
  height: 3px;
  background: #fff;
  border-radius: 2px;
  transition: 0.3s;
}

.menu-btn span::before {
  transform: translateY(-10px);
}

.menu-btn span::after {
  transform: translateY(10px);
}

/* × に変形 */
#menu-btn-check:checked ~ .menu-btn span {
  background: transparent;
}

#menu-btn-check:checked ~ .menu-btn span::before {
  transform: rotate(45deg);
}

#menu-btn-check:checked ~ .menu-btn span::after {
  transform: rotate(-45deg);
}

#menu-btn-check {
  display: none;
}

/* =====================
   Menu Content
===================== */
.menu-title{font-size: .8em;padding-left: 10px;margin: 0.2em 0;font-weight: 700;}
.menu-content {
  position: fixed;
  top: -100vh;              /* まず従来ブラウザ対応 */
  top: -100dvh;             /* 動的ビューポート対応 */
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 41.4rem;
  height: 100vh;
  height: 100dvh;           /* ← スマホ横向きでも正確 */
  background-color: #fff;
  z-index: 2000;
  transition: top 0.4s ease;
  overflow-y: auto;         /* メニューが長い場合の保険 */
}

/* メニューを開いたとき */
#menu-btn-check:checked ~ .menu-content {
  top: 0;
}


.menu-content ul {
  padding: 20px 20px 0;
}

.menu-content li {
  list-style: none;
  border-bottom: 1px solid #dedede;
}

.menu-content a {
  display: block;
  padding: 10px 0;
  font-size: 20px;
  color: #151f41;
	font-weight: 700;}


/* =====================
   menu-banner
===================== */
.menu-banner {
  position: relative;
  display: block;
  padding: 10px 14px;
  border: 1px solid #9ec92d;  /* 枠線 */
  background: #fff;
	margin: 30px;
}

.menu-banner img {
  width: 100%;
  height: auto;
  display: block;
}

/* 右下の三角 */
.menu-banner::after {
  content: "";
  position: absolute;
  right: -1px;
  bottom: -1px;
  width: 0;
  height: 0;
  border-left: 18px solid transparent;
  border-bottom: 18px solid #9ec92d; /* 三角の色＝枠線色 */
}



/* =====================
   main-image
===================== */
.main-image .container,.bg_navy{
	background-image: url("../images/bg_navy.png");
	background-position: top right;
	background-size: cover;
	background-color: #151f41;
	color: #fff;
}

.top-copy{
	position: absolute;
	color: #fff;
	font-size: 1.5em;
	font-weight: 700;
	top: -46px;
	z-index: 100;
}
@media (max-width: 379px) {
	.top-copy{
		font-size: 1.3em;
		top: -36px;
	}	
}

.mainanime{
  width: 100%;
  height: 260px;
  position: relative;
  overflow: hidden;
}

.simg {
  position: absolute;
  inset: 0;
  opacity: 0;
  background-size: cover;
  background-position: center;
  animation: fade 12s infinite;
  will-change: opacity;
}

/* 背景画像 */
.ms1 { background-image: url("../images/img_main1.jpg"); }
.ms2 { background-image: url("../images/img_main2.jpg"); }
.ms3 { background-image: url("../images/img_main3.jpg"); }

/* 各スライド開始位置 */
.simg:nth-of-type(1) { animation-delay: 0s; }
.simg:nth-of-type(2) { animation-delay: 4s; }
.simg:nth-of-type(3) { animation-delay: 8s; }

/* クロスフェード設計 */
@keyframes fade {
  0%   { opacity: 0; }
  8%   { opacity: 1; }   /* フェードイン */
  33%  { opacity: 1; }   /* 表示維持 */
  41%  { opacity: 0; }   /* フェードアウト */
  100% { opacity: 0; }
}


/* =====================
   btn dr dh
===================== */

.btnLinkArea a {
    border: 2px solid #FFF;
    border-radius: 50px;
    color: #FFF;
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
    font-weight: 500;
    font-size: 26px;
    font-size: 2.6rem;
    line-height: 2;
    line-height: 1.8;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1;
    min-height: 90px;
    text-decoration: none;
    width: 100%;
    position: relative;
	margin-bottom: 20px;
}
.btnLinkArea a:before {
    background: #aedc30;
    border-radius: 50%;
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    position: absolute;
    top: 50%;
    right: 16px;
    margin-top: -12px;
}
.btnLinkArea a:after {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    border-top: 1px solid #151F41;
    border-right: 1px solid #151F41;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 25px;
    margin-top: -5px;
}
.btnLinkArea a span {
    display: block;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 2;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.05em;
    padding-top: 16px;
    text-align: center;
    width: 100%;
}

/*btn2*/
.btnLinkArea2 a {
	    background-color: #9ec92d;
 
    border-radius: 50px;
    color:#151F41;
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
    font-weight: 500;
    font-size: 26px;
    font-size: 2.4rem;
    line-height: 2;
    line-height: 1.8;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1;
    min-height: 80px;
    text-decoration: none;
    width: 100%;
    position: relative;
	margin-bottom: 20px;
  font-weight: bold;
}
.btnLinkArea2 a:before {
    background: #151F41;
    border-radius: 50%;
    content: '';
    display: inline-block;
    width: 24px;
    height: 24px;
    position: absolute;
    top: 50%;
    right: 16px;
    margin-top: -12px;
}
.btnLinkArea2 a:after {
    content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 25px;
    margin-top: -5px;
}
.btnLinkArea2 a span {
    display: block;
    font-size: 16px;
    font-size: 1.4rem;
    line-height: 2;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.05em;
    padding-top: 14px;
    text-align: center;
    width: 100%;
}

/* =====================
   Message
===================== */
.message{
	background-image: url( "../images/bg_deco-l.png"), url("../images/bg_deco-r.png");
	 background-repeat: no-repeat, no-repeat;
	 background-position: top left,bottom right;
	background-color: #f4f7f7;
	background-size: 300px,contain;
	color: #333333;
	padding-top: 30px;
	padding-bottom: 30px;
}
h2{
	color: #103253;
	font-size: 1.4em;
	font-weight: 700;
	text-align: center;
	margin: 0 auto 30px;
}
.en-title{
	color: #103253;
	font-size: 1em;
	text-align: center;
	margin: 0 auto;
	font-weight: 700;
}

.message-heading {
  position: relative;
}

.message-catch {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.message-name {
  color: #103253;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 10px;
	padding-left: 10px;
}

.message-text {
  color: #103253;
  font-size: 2.0rem;
  font-weight: 700;
  line-height: 1.2;
}

.message-text span {
  display: inline-block;
  background: #fff;
  padding: 4px 12px;
  margin-bottom: 6px;
}
.message-text span.adjt{font-size: 1.8rem;}
	.message-text span.pr0 {padding-right: 0px;}
	.message-heading img{width: 100%;display: block;}

/* =====================
   infinity-scroll-left
===================== */

	@keyframes infinity-scroll-left {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

.scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
}

.scroll-infinity__list--left {
  animation: infinity-scroll-left 80s linear infinite;
}

.scroll-infinity__item {
  width: clamp(100vw, 1100px, 1200px);
  margin-right: 16px;
  flex-shrink: 0;
}

.scroll-infinity__item img {
  width: 100%;
  display: block;
}


/* =====================
   about
===================== */
.about{
	padding-top: 30px;
	padding-bottom: 30px;
	    overflow: hidden;
}

.card{
  width: 46%;
  height: auto;
	float: left;
	margin: 2%;
	background: #fff;
}
.card__imgframe{
  width: 100%;
  height: auto;
  padding-top: 10%;
	background: #fff;
  background-size: cover;
  box-sizing: border-box;
	text-align: center;
}
.card__imgframe img{
	width: 46%;
}
.card__textbox{
  width: 100%;
  height: 146px;
  padding: 10px 4px;
  background: #ffffff;
  box-sizing: border-box;
	color: #313b5d;
	text-align: center;
}

.card__textbox > * + *{
  margin-top: 10px;
}
.card__titletext{
  font-size: 1em;
  font-weight: bold;
  line-height: 125%;
}
.card__lhad{line-height: 250%;}
.card__overviewtext{
  font-size: 1.2em;
  line-height: 150%;
	font-weight: 700;
}

.card__overviewtext p{
  font-size: 10px;
  line-height: 150%;
	font-weight: normal;
}
.card__overviewtext span{
	color: #9ec92d;
	font-size: 1.8em;
}
.ht160{height: 164px;}

.bg_gray{background-color: #f4f7f7;}
.photo{padding-top: 30px;padding-bottom: 50px;}

/* =====================
   adjustment
===================== */
.mgt10{margin-top: 10px;}
.mgt20{margin-top: 20px;}
.mgb20{margin-bottom: 20px;}
.mgt30{margin-top: 30px;}
.mgb30{margin-bottom: 30px;}
.mgt60{margin-top: 60px;}
.mgt100{margin-top: 100px;}
.pdb30{padding-bottom: 30px;}
.pdb80{padding-bottom: 80px;}
.fcw{color: #fff;}

/* =====================
   Slider
===================== */
.slick-slide{margin: 10px;border: 1px solid #cdcdcd;max-width: 41.4rem!important;background-color: #fff;height: 320px;}
.slick-slide p{margin: 10px;}
.slide-items {
  width: 50%;
  height: 50%;
  margin: auto;
}
.slide-items img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.slick-prev:before,
.slick-next:before {
  color: black;
}
.slick-dots li button:before {
  font-size: 18px;
  top: 6px;
}
.slick-prev, .slick-next {
    display: block !important; /* 確実に表示されるように */
    z-index: 1000;
	position: absolute;	
}

/*矢印装飾*/
.slick-arrow {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  padding: 0;
  width: 20px;
  height: 38px;
  color: #fff;
  z-index: 1;
	background: #103253;
}


/* 共通設定 */
.slick-next::before,
.slick-next::after,
.slick-prev::before,
.slick-prev::after {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}
.slick-next::after,
.slick-prev::after {
  width: 10px;
  height: 10px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
	opacity: inherit;
}

/* next */
.slick-next {
  right: 0;
}
.slick-next::after {
  right: 6px;
  transform: rotate(45deg);
}

/* prev */
.slick-prev {
  left: 0;
}
.slick-prev::after {
  left: 6px;
  transform: rotate(-135deg);
}
.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus
{   
    background: #000;
}



/* =====================
   dr fellowship
===================== */
.dr-mainwrap {
  position: relative;
	aspect-ratio: 16 / 9; /* ← 背景画像の比率に合わせる */
}

.dr-mainimage {
  position: absolute;
   inset: 0;
}

.dr-catch {
  color: #fff;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 10px;
	padding-left: 20px;
	margin-top: 10px;
	text-shadow: 0 2px 8px rgba(0,0,0,0.35);
}
.dr-catch .small{
	   font-size: 1.6rem;
	margin-bottom: 10px;
}
.dr-catch .middle{
	 font-size: 2.0rem;
}

.emphasis-sky{
	background-color:#18A9E9;
	padding: 1px 8px;
    margin-left: -4px;
    margin-right: 4px;
	text-shadow: none;
}

.dr-bosyu {
  position: absolute;
   right: 0;
	top: 36%;
	background-color: #103253;
	font-size: 2.0rem;
  color: #fff;
  text-align: center;
  line-height: 1.2;  
  padding: 2px 16px 4px;
}
.dr-bosyu::before {
  content: "";
  position: absolute;
  left: -22px;
  top: 0;
  width: 23px;
  height: 100%;
  background: #103253;
  clip-path: polygon(100% 0, 0 100%, 100% 100%);
	    border-bottom: 3px solid #aedc30;
}
.dr-bosyu::after {
	content: "";
	border-bottom: 3px solid #aedc30;
	position: absolute;
	bottom: 0;
	right: 0;
	width: 204px;
}
.dr-bosyu p{margin: 0;}
.dr-bosyu span{
	color:#aedc30;
	font-size: 2.6rem;
	font-weight: 700;	
}

.dr-mainwrap img{width: 100%;display: block;}

.en-fp{
	position: absolute;
	bottom:0;
	right: 0;
	color: #aedc30;
	font-size: 5rem;
	font-weight: 700;
}
.en-fp p{margin: 0;text-align: right;line-height: 1;opacity:0.6;}


/* =====================
   dr fellowship sub
===================== */
.dr-subwrap{
	background-image: url("../images/bg_fpsub.jpg");
	background-position: right top;
	background-repeat: no-repeat;
	background-size: cover;
	color: #fff;
	padding-top: 30px;
	padding-bottom: 30px;
}
.dr-sub-lead{
	margin-top: 0;
	padding-left: 10px;
	font-weight: 400;
	border-left: 5px solid #aedc30;
	font-weight: 700;
}

.dr-subwrap p{
	margin-top: 30px;}

.wtfp{
	padding-top:30px;
	padding-bottom: 30px;	   
}
.wtfp img{
	width: 90%;
	display: block;
    margin: 0 auto;
}

.fs-features{
	    padding-top: 30px;
    padding-bottom: 30px;
    overflow: hidden;
}
.fs-features p{margin: 4px 0; line-height: 1.8;}
.fs-features h3 {text-align: center;font-size: 1.4em;margin: 10px auto;}
.fs-features h3 span{
	font-size: .8em;
	font-weight: 400;
	border-bottom: 1px solid #aedc30;
	color: #aedc30;
}
.fs-features ul{padding-left: 20px;}
.fs-features li {
	padding-left: 10px;
	margin-bottom: 10px;
}
.fs-features ul li::marker {
  content: "●";
  font-size: 1em;
	padding-right: 10px;
}

.career-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  row-gap: 6px;
}
ul.career-list{padding-left: 0;}

.career-list li {
  display: grid;
  grid-template-columns: 4em 1fr; /* 左＝年・団体名 / 右＝内容 */
  column-gap: 1em;
	padding-left: 0;
}

.career-list .year {
  white-space: nowrap;
}

.cta-wrap {
  text-align: center;
  margin: 40px 0;
}

.cta-button {
    display: flex;              /* ← inline-block → flex に変更 */
  align-items: center;        /* ← 縦中央 */
  justify-content: center;    /* ← 横中央 */
 background: #9ec92d;
  color: #103253;
  font-size: 2rem;
  font-weight: 700;
  padding: 14px 36px;
  border-radius: 999px;
  height: 80px;
  width: 90%;
  margin: 0 auto;             /* wrap中央配置 */
  text-decoration: none;
}
.cta-button img {
  width: 30px;
  margin-right: 10px;
  display: block;
}

/* =====================
   dr message
===================== */
/* ボタン */
.accordion-btn {
  width: 100%;
  background: #103253;
  color: #fff;
  border: none;
  padding: 14px 16px;
  font-size: 1.8rem;
  font-weight: 700;
  text-align: left;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
}
.accordion-text {
  flex: 1;
  text-align: center;
}


/* 中身（初期は閉じる） */
.accordion-content {
  max-height: 0;
  overflow: hidden;
  background-color: #fff;
  transition: max-height 0.4s ease, opacity 0.3s ease;
}
.accordion-icon {
  position: relative;
  width: 22px;
  height: 22px;
  display: inline-block;
}

/* 横線（共通） */
.accordion-icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 3px;     /* ← ここで太さを調整 */
  background: currentColor;
  transform: translateY(-50%);
  border-radius: 2px;
}

/* 縦線（＋のときだけ表示） */
.accordion-icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  width: 3px;     /* ← 横線と同じ太さ */
  height: 100%;
  background: currentColor;
  transform: translateX(-50%);
  border-radius: 2px;
}

/* 開いたとき → 縦線を消して「―」にする */
.accordion-btn.is-open .accordion-icon::after {
  opacity: 0;
}
/* 閉じるボタン 初期は非表示 */
.accordion-close {
  display: none;
  margin: 30px auto;
  padding: 8px 36px;
  background: #103253;
  color: #fff;
  border: none;
  font-size: 1.4rem;
  font-weight: 700;
  cursor: pointer;
}

/* アコーディオンが開いた時だけ表示 */
.accordion-btn.is-open + .accordion-content .accordion-close {
  display: block;
}
.accordion-content.is-open {
  max-height: 5000px;
	 opacity: 1;
}
.accordion-content {
  overflow: hidden;
  transition: max-height 0.4s ease;
}

/* 閉じている時でも少し高さを残す */
.accordion-content:not(.is-open) {
  max-height: 20px;  /* ← 好きな余白量に調整 */
  opacity: 0;
}


/* =====================
   dr requirements
===================== */
.requirements{
	padding-top: 30px;

}
.dr-req dt{
	color: #fff;
	background-color: #103253;
	padding: 10px;
}
.dr-req dd{
	background-color: #fff;
	margin: 0;
	padding: 20px 10px;
}
.dr-req dd ul{
	padding-left: 20px;
}
.req-space {
  display: block;
  height: 1em; /* ← 1行分の余白 */
}


/* =====================
   dh recruit
===================== */
.dh-mainwrap {
  position: relative;
	aspect-ratio: 16 / 9; /* ← 背景画像の比率に合わせる */
}

.dh-mainimage {
  position: absolute;
   inset: 0;
}

.dh-catch {
  color: #fff;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 10px;
	padding-left: 20px;
	margin-top: 10px;
}
.dh-catch .small{
	   font-size: 2rem;
	line-height: 2.4;
}

.emphasis{
	display: inline-block; /* ← これを追加 */
	padding: 1px 10px;
    margin-left: -4px;
    margin-right: 4px;
	text-shadow: none;
	border-left: #aedc30 8px solid;
}

.dh-bosyu {
  position: absolute;
   right: 0;
	top: 66%;
	background-color: #aedc30;
	font-size: 2.0rem;
  color: #103253;
  text-align: center;
  line-height: 1.2;  
  padding: 4px 16px 8px;
}
.dh-bosyu::before {
  content: "";
  position: absolute;
  left: -22px;
  top: 0;
  width: 23px;
  height: 100%;
  background:  #aedc30;
  clip-path: polygon(100% 0, 0 100%, 100% 100%);
}
.dh-bosyu::after {
	content: "";
	border-bottom: 3px solid #103253;
	position: absolute;
	bottom: 0;
	right: 0;
	width: 170px;
}
.dh-bosyu p{margin: 0;}
.dh-bosyu span{
	color:#103253;
	font-size: 2.6rem;
	font-weight: 700;	
}

.dh-mainwrap img{width: 100%;display: block;}

/* ドット */
.dots span {
  position: relative;
  display: inline-block;
}

.dots span::before {
  content: "●";
  position: absolute;
  top: -.3em;
  left: 50%;
  transform: translateX(-50%);
  font-size: 0.2em;   /* ドットサイズ */
  color: #aedc30;
}

/* ポイントサークル */
.dh-features {
  margin-top: 10px;
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}

.dh-features .circle {
  width: 100px;          /* ← 幅と高さを同じにする */
  height: 100px;
  border: 2px solid #fff;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 700;
  color: #fff;
  line-height: 1.3;
}

.dh-features .small {
  font-size: 0.7em;
	vertical-align: baseline;
}

.dh-features .line1 {
  white-space: nowrap;  /* ← 勝手に折り返させない */
}

.en-fpdh{
	position: absolute;
	bottom:0;
	right: 0;
	color: #aedc30;
	font-size: 6rem;
	font-weight: 700;
}
.en-fpdh p{margin: 0;line-height: 1;opacity: 0.6;}
.bg_pink{background-color: #fef0ed}


/* 働きやすさの特徴 */
.bg_gradation{
	background-image: url("../images/bg_pink.jpg");
	background-position: top right;
	background-size: cover;
	color: #333;
	background-color: #fef0ed
}
.bg_gradation h3{color:#103253;}
.wpc{
	background-color: #fff;
}
.wpc p{padding:  0 10px 30px;}
.wpc img{width: 100%;}

.fukidashi-01-12 {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
	color: #d64675;
	font-weight: 700;
	font-size: 1.6em;
}
.fukidashi-01-12::before,
.fukidashi-01-12::after {
  content: "";
  width: 34px;            /* 線の長さ */
  height: 0;              /* 高さは0にする */
  border-top: 3px dotted #d64675;  /* ← 点線 */
  box-sizing: border-box;
}

.fukidashi-01-12::before {
  transform: rotate(60deg);
}

.fukidashi-01-12::after {
  transform: rotate(-60deg);
}

.dh-subwrap{
	background-image: url("../images/bg_dh-massage.jpg");
	background-position: right -50px top 0;
	background-repeat: no-repeat;
	background-size: cover;
	color: #fff;
	padding-top: 30px;
	padding-bottom: 30px;
}
.dh-subwrap .container{
	width: 70%;
	text-shadow: 0 3px 12px rgba(0,0,0,0.3);
}
.dh-sub-lead{
	margin-top: 0;
}
h3.dh-sub-lead {display: block;
	font-weight: 700;
	font-size: 1.2em;
	border-bottom: #fff 1px solid;
}
.dh-subwrap .en-title{text-align: left;
	color: #fff;
	margin: 0;
}

/* インタビューdh */
.mdh{
	background-image: url( "../images/bg_deco-ptop.png"), url("../images/bg_deco-pbottom.png");
	 background-repeat: no-repeat, no-repeat;
	 background-position: top center,bottom center;
	background-color: #fff;
	background-size: contain,contain;
	color: #333333;
	padding-top: 30px;
	padding-bottom: 80px;
}
.cpink,.dh-deco dt{background: #d64675!important;}

.exlink {
  position: relative;
  padding-right: 1.6em; /* アイコン分の余白 */
}

.exlink::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 1em;       /* ← 文字サイズ基準 */
  height: 1em;      /* ← 文字サイズ基準 */
  background: url("../images/ico_exlink.png") no-repeat center / contain;
  transform: translateY(-50%);
}

/* =====================
   fixed footer menu
===================== */
footer {
  padding-bottom: 60px; /* ← 固定ボタンの高さ + 少し余裕 */
	text-align: center;
	color: #fff;
    background-color: #103253; 
	margin-top: 0;
	padding-top: 10px;
}

.fixed-footer {
  position: fixed;
  bottom: 0;
  left: 0;          /* ← 50%やめる */
  right: 0;         /* ← 両端固定 */
  margin: 0 auto;   /* ← 中央配置 */
  width: 100%;
  max-width: 41.4rem;
  height: 50px;
  display: flex;
  z-index: 1500;
  background: #151f41;
}


.footer-btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  font-weight: 700;  
  text-decoration: none;
}

.footer-btn--left {
  background: #9ec92d;
	color: #103253;
}

.footer-btn--right {
	background: #333;
	color: #fff;
}

.footer-btn img {
  width: 22px;
  height: auto;
  display: block;
	margin-right: 8px;
}



/* =====================
   PCの時だけ
===================== */

