@charset "utf-8";

/*-------------------------------------------*/
/*	LP：近鉄・都ホテルズ
/*-------------------------------------------*/

#miyakohotels {
  --paper: #F6F2EA;
  --paperAlt: #FBF9F4;
  --ink: #222831;
  --accent: #A8884E;
  --navy: #1C2A39;
  --muted: #6E6657;
  --label-display: block;
  background: var(--paper);
  color: var(--ink);
  font-family: 'Noto Sans JP', sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

html {
  scroll-behavior: smooth;
}

@keyframes miyakoFloatUp {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* =====================
  共通パーツ
===================== */

#miyakohotels section {
  padding: 104px 48px;
}

#miyakohotels .m_inner {
  max-width: 1100px;
  margin: 0 auto;
}

#miyakohotels .m_head {
  text-align: center;
}

#miyakohotels .m_label {
  font-family: 'Cormorant Garamond', serif;
  font-size: 14px;
  letter-spacing: .36em;
  text-transform: uppercase;
  color: var(--accent);
  display: var(--label-display);
  margin: 0;
}

#miyakohotels .m_ttl {
  font-family: 'Shippori Mincho', serif;
  font-size: 34px;
  font-weight: 600;
  color: var(--navy);
  margin: 12px 0 0;
  letter-spacing: .04em;
}

#miyakohotels .m_lead {
  text-align: center;
  max-width: 680px;
  margin: 0 auto 64px;
  color: var(--muted);
  font-size: 15px;
  line-height: 2.1;
  font-weight: 300;
}

#miyakohotels .m_btn {
  margin: 40px 0 0;
}

#miyakohotels .m_btn a {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: var(--accent);
  color: #fff;
  text-decoration: none;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: .1em;
  padding: 17px 40px;
  border-radius: 2px;
  transition: opacity .3s ease;
}

#miyakohotels .m_btn a:hover {
  opacity: .8;
}

#miyakohotels .m_btn .arrow {
  font-family: 'Cormorant Garamond', serif;
}

#miyakohotels .m_btn_white a {
  background: #fff;
  color: var(--navy);
  font-weight: 600;
  letter-spacing: .08em;
  padding: 16px 38px;
  gap: 10px;
}

#miyakohotels .m_btn_outline a {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, .7);
  color: #fff;
}

#miyakohotels .m_btn_outline a:hover {
  background: rgba(255, 255, 255, .12);
  opacity: 1;
}

#miyakohotels ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

#miyakohotels figure {
  margin: 0;
}

#miyakohotels figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* =====================
  fv
===================== */

.miyako_fv {
  position: relative;
  min-height: 60vh;
  display: flex;
  align-items: center;
  background-color: var(--navy);
  background-image: linear-gradient(100deg, rgba(20, 32, 45, .96) 0%, rgba(20, 32, 45, .78) 48%, rgba(20, 32, 45, .3) 100%), url(../images/fv_main.jpg);
  background-size: cover;
  background-position: center;
  overflow: hidden;
}

/* common.css の #fv 共通オーバーレイを打ち消し */
#miyakohotels #fv::before {
  display: none;
}

#miyakohotels .miyako_fv {
  padding: 140px 48px 64px;
}

.miyako_fv_inner {
  position: relative;
  z-index: 2;
  max-width: 1180px;
  margin: 0 auto;
  width: 100%;
  animation: miyakoFloatUp .9s ease both;
}

#miyakohotels .miyako_fv .m_label {
  font-size: 14px;
  letter-spacing: .4em;
  margin-bottom: 16px;
}

.miyako_fv_ttl {
  font-family: 'Shippori Mincho', serif;
  font-size: 42px;
  line-height: 1.5;
  font-weight: 600;
  color: #F6F2EA;
  margin: 0;
  letter-spacing: .04em;
}

.miyako_fv_text {
  max-width: 560px;
  margin: 24px 0 0;
  color: rgba(231, 224, 210, .86);
  font-size: 14.5px;
  line-height: 2;
  font-weight: 300;
}

.miyako_fv_btns {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 32px;
}

#miyakohotels .miyako_fv_btns .m_btn {
  margin: 0;
}

/* =====================
  outline
===================== */

.miyako_outline {
  background: var(--paper);
}

.miyako_outline .m_head {
  margin-bottom: 18px;
}

.miyako_outline_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 34px;
}

.miyako_outline_list li {
  background: var(--paperAlt);
  border: 1px solid #ECE5D6;
}

.miyako_outline_img {
  aspect-ratio: 4 / 3;
  overflow: hidden;
}

.miyako_outline_body {
  padding: 28px 28px 34px;
}

.miyako_outline_num {
  font-family: 'Cormorant Garamond', serif;
  font-size: 28px;
  color: var(--accent);
}

.miyako_outline_body h3 {
  font-family: 'Shippori Mincho', serif;
  font-size: 19px;
  font-weight: 600;
  color: var(--navy);
  margin: 6px 0 12px;
}

.miyako_outline_body p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.95;
  font-weight: 300;
  margin: 0;
}

/* =====================
  feature
===================== */

.miyako_feature {
  background: var(--paperAlt);
}

.miyako_feature .m_head {
  margin-bottom: 44px;
}

#miyakohotels .miyako_feature .m_lead {
  max-width: 620px;
  margin: 18px auto 0;
  font-size: 14.5px;
  line-height: 2;
}

.miyako_feature_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.miyako_feature_list li {
  background: var(--paper);
  border: 1px solid #ECE5D6;
  border-top: 3px solid var(--accent);
  padding: 38px 32px;
}

.miyako_feature_label {
  font-family: 'Cormorant Garamond', serif;
  font-size: 13px;
  letter-spacing: .24em;
  color: var(--accent);
  display: var(--label-display);
  margin: 0 0 12px;
}

.miyako_feature_list h3 {
  font-family: 'Shippori Mincho', serif;
  font-size: 22px;
  font-weight: 600;
  color: var(--navy);
  margin: 0 0 8px;
  line-height: 1.5;
}

.miyako_feature_cat {
  font-size: 12.5px;
  color: var(--accent);
  font-weight: 500;
  margin: 0 0 16px;
  letter-spacing: .04em;
}

.miyako_feature_text {
  color: var(--muted);
  font-size: 14px;
  line-height: 2;
  font-weight: 300;
  margin: 0;
}

/* =====================
  hotels
===================== */

#miyakohotels .miyako_hotels {
  padding: 100px 48px;
  background: var(--navy);
}

.miyako_hotels .m_head {
  margin-bottom: 56px;
}

#miyakohotels .miyako_hotels .m_ttl {
  color: #F6F2EA;
}

.miyako_hotels_note {
  color: rgba(231, 224, 210, .6);
  font-size: 13px;
  margin: 14px 0 0;
  letter-spacing: .08em;
}

.miyako_hotels_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.miyako_hotels_list figure {
  aspect-ratio: 3 / 2;
  overflow: hidden;
}

.miyako_hotels_list h3 {
  font-family: 'Shippori Mincho', serif;
  font-size: 18px;
  font-weight: 600;
  color: #F6F2EA;
  margin: 18px 0 8px;
}

.miyako_hotels_list p {
  color: rgba(231, 224, 210, .7);
  font-size: 13.5px;
  line-height: 1.9;
  font-weight: 300;
  margin: 0;
}

/* =====================
  cta
===================== */

#miyakohotels .miyako_cta {
  position: relative;
  padding: 78px 48px;
  background-color: var(--navy);
  background-image: linear-gradient(rgba(20, 32, 45, .82), rgba(20, 32, 45, .82)), url(../images/work01_img.jpg);
  background-size: cover;
  background-position: center;
}

.miyako_cta .m_inner {
  max-width: 920px;
  text-align: center;
}

.miyako_cta h2 {
  font-family: 'Shippori Mincho', serif;
  font-size: 28px;
  font-weight: 600;
  color: #F6F2EA;
  margin: 0 0 16px;
  line-height: 1.6;
  letter-spacing: .04em;
}

.miyako_cta_text {
  color: #F6F2EA;
  font-size: 15px;
  line-height: 1.95;
  font-weight: 400;
  margin: 0 auto 32px;
  max-width: 620px;
}

#miyakohotels .miyako_cta .m_btn {
  margin: 0;
}

/* =====================
  recruit（募集情報）
===================== */

.miyako_recruit {
  background: var(--paperAlt);
  scroll-margin-top: 60px;
}

.miyako_recruit .m_head {
  margin-bottom: 18px;
}

#miyakohotels .miyako_recruit .m_lead {
  margin-bottom: 52px;
}

#miyakohotels .miyako_recruit_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-bottom: 48px;
}

.miyako_recruit_list li {
  background: #fff;
  border: 1px solid #ECE5D6;
  display: flex;
  flex-direction: column;
}

.miyako_recruit_img {
  aspect-ratio: 3 / 2;
  overflow: hidden;
}

.miyako_recruit_body {
  padding: 20px 22px 24px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.miyako_recruit_tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 12px;
}

.miyako_recruit_tags span {
  font-size: 10px;
  letter-spacing: .04em;
  color: #fff;
  background: var(--accent);
  border-radius: 20px;
  padding: 3px 10px;
}

.miyako_recruit_list h3 {
  font-family: 'Shippori Mincho', serif;
  font-size: 16px;
  font-weight: 600;
  color: var(--navy);
  margin: 0 0 10px;
  line-height: 1.65;
}

.miyako_recruit_text {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.9;
  font-weight: 300;
  margin: 0 0 16px;
}

.miyako_recruit_hotel {
  font-size: 12.5px;
  color: var(--muted);
  letter-spacing: .04em;
  margin: auto 0 0;
  padding-top: 14px;
  border-top: 1px solid #ECE5D6;
}

.miyako_recruit_note {
  text-align: center;
  color: var(--muted);
  font-size: 14px;
  font-weight: 300;
  margin: 0 0 28px;
}

.miyako_recruit_btn {
  text-align: center;
}

#miyakohotels .miyako_recruit .m_btn {
  margin: 0;
}

/* =====================
  career
===================== */

.miyako_career {
  background: var(--paperAlt);
}

.miyako_career .m_inner {
  max-width: 1040px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}

.miyako_career h2 {
  font-family: 'Shippori Mincho', serif;
  font-size: 31px;
  font-weight: 600;
  color: var(--navy);
  margin: 12px 0 26px;
  line-height: 1.55;
  letter-spacing: .03em;
}

.miyako_career_text p {
  color: var(--muted);
  font-size: 14.5px;
  line-height: 2.05;
  font-weight: 300;
  margin: 0 0 18px;
}

.miyako_career_text p:last-child {
  margin-bottom: 0;
}

.miyako_career_img {
  max-width: 420px;
  margin: 0 auto;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

/* =====================
  data
===================== */

.miyako_data {
  background: var(--paper);
}

.miyako_data .m_head {
  margin-bottom: 18px;
}

#miyakohotels .miyako_data .m_lead {
  max-width: 640px;
  margin: 0 auto 60px;
  font-size: 14.5px;
  line-height: 2;
}

.miyako_data_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}

.miyako_data_card {
  background: var(--paperAlt);
  border: 1px solid #ECE5D6;
  padding: 36px 30px;
  text-align: center;
}

.miyako_data_card h3 {
  font-family: 'Shippori Mincho', serif;
  font-size: 18px;
  font-weight: 600;
  color: var(--navy);
  margin: 0 0 24px;
}

.miyako_donut {
  width: 172px;
  height: 172px;
  margin: 0 auto 24px;
  border-radius: 50%;
  -webkit-mask: radial-gradient(circle, transparent 53%, #000 54%);
  mask: radial-gradient(circle, transparent 53%, #000 54%);
}

.miyako_donut.donut1 {
  background: conic-gradient(var(--accent) 0 39%, var(--navy) 39% 74%, #c9c1b2 74% 96%, #e3ddd0 96% 100%);
}

.miyako_donut.donut2 {
  background: conic-gradient(var(--navy) 0 37%, var(--accent) 37% 65%, #b89a5e 65% 86%, #c9c1b2 86% 96%, #e3ddd0 96% 100%);
}

.miyako_data_legend {
  display: flex;
  flex-direction: column;
  gap: 9px;
  text-align: left;
  font-size: 12.5px;
  color: var(--muted);
}

.miyako_data_legend li {
  display: flex;
  align-items: center;
  gap: 9px;
}

.miyako_data_legend .chip {
  width: 11px;
  height: 11px;
  border-radius: 2px;
  flex: none;
}

.chip.c_accent { background: var(--accent); }
.chip.c_navy { background: var(--navy); }
.chip.c_gold { background: #b89a5e; }
.chip.c_sand { background: #c9c1b2; }
.chip.c_pale { background: #e3ddd0; }

.miyako_data_legend b {
  margin-left: auto;
  color: var(--navy);
}

.miyako_data_reason {
  background: var(--navy);
  border: none;
  text-align: left;
}

.miyako_data_reason h3 {
  color: #F6F2EA;
  margin: 0 0 8px;
}

.miyako_data_reason_note {
  color: rgba(231, 224, 210, .6);
  font-size: 11.5px;
  margin: 0 0 22px;
  line-height: 1.7;
}

.miyako_data_bars {
  display: flex;
  flex-direction: column;
  gap: 13px;
}

.miyako_data_bar > span {
  display: block;
  font-size: 12.5px;
  color: #E7E0D2;
  margin-bottom: 6px;
}

.miyako_data_bar .bar_track {
  height: 7px;
  background: rgba(255, 255, 255, .12);
  border-radius: 4px;
}

.miyako_data_bar .bar {
  height: 100%;
  background: var(--accent);
  border-radius: 4px;
}

.miyako_data_summary {
  max-width: 820px;
  margin: 44px auto 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 2.1;
  font-weight: 300;
}

/* =====================
  voice
===================== */

.miyako_voice {
  background: var(--paperAlt);
}

.miyako_voice .m_inner {
  max-width: 1040px;
}

.miyako_voice .m_head {
  margin-bottom: 56px;
}

.miyako_voice_list {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.miyako_voice_item {
  display: grid;
  grid-template-columns: 300px 1fr;
  background: var(--paper);
  border: 1px solid #ECE5D6;
}

.miyako_voice_item.reverse {
  grid-template-columns: 1fr 300px;
}

.miyako_voice_item.reverse .miyako_voice_img {
  order: 2;
}

.miyako_voice_img {
  min-height: 300px;
  overflow: hidden;
}

.miyako_voice_body {
  padding: 42px 46px;
}

.miyako_voice_tag {
  display: inline-block;
  font-size: 11px;
  letter-spacing: .12em;
  color: #fff;
  background: var(--accent);
  padding: 5px 12px;
  border-radius: 2px;
}

.miyako_voice_body h3 {
  font-family: 'Shippori Mincho', serif;
  font-size: 23px;
  font-weight: 600;
  color: var(--navy);
  margin: 18px 0 16px;
  line-height: 1.6;
}

.miyako_voice_body p {
  color: var(--muted);
  font-size: 14px;
  line-height: 2.05;
  font-weight: 300;
  margin: 0;
}

/* =====================
  attraction
===================== */

.miyako_attraction {
  background: var(--paper);
}

.miyako_attraction .m_head {
  margin-bottom: 56px;
}

.miyako_attraction_list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
}

.miyako_attraction_list li {
  display: flex;
  gap: 24px;
  background: var(--paperAlt);
  border: 1px solid #ECE5D6;
  padding: 34px 32px;
}

.miyako_attraction_num {
  font-family: 'Cormorant Garamond', serif;
  font-size: 46px;
  color: var(--accent);
  line-height: 1;
  flex: none;
}

.miyako_attraction_list h3 {
  font-family: 'Shippori Mincho', serif;
  font-size: 19px;
  font-weight: 600;
  color: var(--navy);
  margin: 6px 0 12px;
}

.miyako_attraction_list p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.95;
  font-weight: 300;
  margin: 0;
}

/* =====================
  welfare
===================== */

.miyako_welfare {
  background: var(--navy);
}

.miyako_welfare .m_inner {
  max-width: 1040px;
}

.miyako_welfare .m_head {
  margin-bottom: 56px;
}

#miyakohotels .miyako_welfare .m_ttl {
  color: #F6F2EA;
}

.miyako_welfare_lead {
  color: rgba(231, 224, 210, .65);
  font-size: 14px;
  margin: 16px 0 0;
  font-weight: 300;
}

.miyako_welfare_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.miyako_welfare_list li {
  border: 1px solid rgba(168, 136, 78, .4);
  padding: 34px 30px;
}

.miyako_welfare_list h3 {
  font-family: 'Shippori Mincho', serif;
  font-size: 18px;
  font-weight: 600;
  color: var(--accent);
  margin: 0 0 18px;
}

.miyako_welfare_list p {
  color: rgba(231, 224, 210, .82);
  font-size: 13.5px;
  line-height: 2;
  font-weight: 300;
  margin: 0;
}

/* =====================
  jobs
===================== */

.miyako_jobs {
  background: var(--paper);
}

.miyako_jobs .m_head {
  margin-bottom: 56px;
}

.miyako_jobs_list {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #E4DCCB;
  padding: 4px 36px;
}

.miyako_jobs_item {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 28px;
  padding: 22px 0;
  border-top: 1px solid #E4DCCB;
  align-items: start;
}

.miyako_jobs_item:first-child {
  border-top: none;
}

.miyako_jobs_en {
  font-family: 'Cormorant Garamond', serif;
  font-size: 13px;
  letter-spacing: .2em;
  color: var(--accent);
  display: var(--label-display);
}

.miyako_jobs_name h3 {
  font-family: 'Shippori Mincho', serif;
  font-size: 21px;
  font-weight: 600;
  color: var(--navy);
  margin: 4px 0 0;
}

.miyako_jobs_item > p {
  color: var(--muted);
  font-size: 14px;
  line-height: 2;
  font-weight: 300;
  margin: 4px 0 0;
}

/* =====================
  faq
===================== */

.miyako_faq {
  background: var(--paperAlt);
}

.miyako_faq .m_inner {
  max-width: 860px;
}

.miyako_faq .m_head {
  margin-bottom: 52px;
}

.miyako_faq_list {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.miyako_faq_list details {
  background: var(--paper);
  border: 1px solid #E4DCCB;
}

.miyako_faq_list summary {
  list-style: none;
  cursor: pointer;
  position: relative;
  padding: 22px 60px 22px 26px;
  font-size: 15px;
  font-weight: 500;
  color: var(--navy);
  display: flex;
  gap: 14px;
  align-items: flex-start;
}

.miyako_faq_list summary::-webkit-details-marker {
  display: none;
}

/* 開閉アイコン（＋／−） */
.miyako_faq_list summary::before,
.miyako_faq_list summary::after {
  content: '';
  position: absolute;
  right: 26px;
  top: 50%;
  width: 14px;
  height: 2px;
  background: var(--accent);
  transform: translateY(-50%);
  transition: transform .3s ease;
}

.miyako_faq_list summary::after {
  transform: translateY(-50%) rotate(90deg);
}

.miyako_faq_list details[open] summary::after {
  transform: translateY(-50%) rotate(0deg);
}

.miyako_faq_q {
  font-family: 'Cormorant Garamond', serif;
  color: var(--accent);
  font-size: 18px;
}

.miyako_faq_list details > p {
  margin: 0;
  padding: 0 26px 24px 56px;
  color: var(--muted);
  font-size: 14px;
  line-height: 2;
  font-weight: 300;
}

/* =====================
  requirements
===================== */

.miyako_requirements {
  background: var(--paper);
}

.miyako_requirements .m_inner {
  max-width: 900px;
}

.miyako_requirements .m_head {
  margin-bottom: 52px;
}

.miyako_requirements_table {
  border-top: 2px solid var(--navy);
  margin: 0;
}

.miyako_requirements_row {
  display: grid;
  grid-template-columns: 200px 1fr;
  border-bottom: 1px solid #E4DCCB;
}

.miyako_requirements_row dt {
  padding: 22px 24px;
  background: var(--paperAlt);
  font-size: 14px;
  font-weight: 600;
  color: var(--navy);
}

.miyako_requirements_row dd {
  padding: 22px 28px;
  font-size: 14px;
  color: var(--ink);
  line-height: 1.9;
  font-weight: 400;
  margin: 0;
}

/* =====================
  entry
===================== */

#miyakohotels .miyako_entry {
  position: relative;
  padding: 120px 48px;
  background-color: var(--navy);
  background-image: linear-gradient(rgba(20, 32, 45, .82), rgba(20, 32, 45, .82)), url(../images/work01_img.jpg);
  background-size: cover;
  background-position: center;
  overflow: hidden;
}

.miyako_entry .m_inner {
  position: relative;
  z-index: 2;
  max-width: 760px;
  text-align: center;
}

#miyakohotels .miyako_entry .m_label {
  font-size: 15px;
  letter-spacing: .4em;
  margin-bottom: 20px;
}

.miyako_entry h2 {
  font-family: 'Shippori Mincho', serif;
  font-size: 34px;
  font-weight: 600;
  color: #F6F2EA;
  margin: 0 0 24px;
  line-height: 1.6;
  letter-spacing: .03em;
}

.miyako_entry_text {
  color: #F6F2EA;
  font-size: 15px;
  line-height: 2.05;
  font-weight: 400;
  margin: 0 auto 40px;
  max-width: 600px;
}

#miyakohotels .miyako_entry .m_btn {
  margin: 0;
}

#miyakohotels .miyako_entry .m_btn a {
  font-size: 16px;
  padding: 18px 48px;
}

/*-------------------------------------------*/
/*	PC
/*-------------------------------------------*/

@media screen and (min-width:900px) {

  #header::before {
    opacity: .5;
    background: linear-gradient(0deg, rgba(28, 42, 57, 0) 0%, rgba(28, 42, 57, 0.46) 40%, rgba(28, 42, 57, 1) 100%);
  }

}

/*-------------------------------------------*/
/*	SP
/*-------------------------------------------*/

@media screen and (max-width:899px) {

  /* =====================
    共通パーツ
  ===================== */

  #miyakohotels section {
    padding: 64px 24px;
  }

  #miyakohotels .m_label {
    font-size: 12px;
  }

  #miyakohotels .m_ttl {
    font-size: 25px;
  }

  #miyakohotels .m_lead {
    font-size: 13.5px;
    margin-bottom: 40px;
  }

  #miyakohotels .m_btn a {
    font-size: 14px;
    padding: 15px 32px;
  }

  /* =====================
    fv
  ===================== */

  .miyako_fv {
    min-height: 0;
  }

  #miyakohotels .miyako_fv {
    padding: 120px 24px 72px;
  }

  #miyakohotels .miyako_fv .m_label {
    font-size: 13px;
  }

  .miyako_fv_ttl {
    font-size: 32px;
  }

  .miyako_fv_text {
    font-size: 13.5px;
    margin-top: 22px;
  }

  .miyako_fv_btns {
    margin-top: 30px;
    gap: 12px;
  }

  /* =====================
    outline
  ===================== */

  .miyako_outline_list {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  /* =====================
    feature
  ===================== */

  .miyako_feature_list {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .miyako_feature_list li {
    padding: 30px 24px;
  }

  .miyako_feature_list h3 {
    font-size: 20px;
  }

  /* =====================
    hotels
  ===================== */

  #miyakohotels .miyako_hotels {
    padding: 64px 24px;
  }

  .miyako_hotels .m_head {
    margin-bottom: 40px;
  }

  .miyako_hotels_list {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .miyako_hotels_list h3 {
    margin-top: 14px;
  }

  /* =====================
    cta
  ===================== */

  #miyakohotels .miyako_cta {
    padding: 56px 24px;
  }

  .miyako_cta h2 {
    font-size: 18px;
  }

  .miyako_cta_text {
    font-size: 13.5px;
  }

  /* =====================
    recruit（募集情報）
  ===================== */

  .miyako_recruit .m_head {
    margin-bottom: 36px;
  }

  #miyakohotels .miyako_recruit_list {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-bottom: 36px;
  }

  .miyako_recruit_note {
    font-size: 13px;
  }

  /* =====================
    career
  ===================== */

  .miyako_career .m_inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .miyako_career h2 {
    font-size: 24px;
  }

  .miyako_career_text p {
    font-size: 13.5px;
  }

  .miyako_career_img {
    aspect-ratio: 1 / 1;
  }

  /* =====================
    data
  ===================== */

  .miyako_data_grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .miyako_data_summary {
    margin-top: 32px;
    font-size: 13.5px;
  }

  /* =====================
    voice
  ===================== */

  .miyako_voice .m_head {
    margin-bottom: 40px;
  }

  .miyako_voice_item,
  .miyako_voice_item.reverse {
    display: block;
  }

  .miyako_voice_img {
    min-height: 0;
  }

  .miyako_voice_img img {
    height: auto;
  }

  .miyako_voice_body {
    padding: 28px 24px;
  }

  .miyako_voice_body h3 {
    font-size: 19px;
  }

  /* =====================
    attraction
  ===================== */

  .miyako_attraction .m_head {
    margin-bottom: 40px;
  }

  .miyako_attraction_list {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .miyako_attraction_list li {
    gap: 14px;
    padding: 26px 18px;
  }

  .miyako_attraction_num {
    font-size: 28px;
  }

  .miyako_attraction_list h3 {
    font-size: 17px;
  }

  /* =====================
    welfare
  ===================== */

  .miyako_welfare .m_head {
    margin-bottom: 40px;
  }

  .miyako_welfare_list {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  /* =====================
    jobs
  ===================== */

  .miyako_jobs .m_head {
    margin-bottom: 32px;
  }

  .miyako_jobs_list {
    padding: 2px 20px;
  }

  .miyako_jobs_item {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 18px 0;
  }

  /* =====================
    faq
  ===================== */

  .miyako_faq .m_head {
    margin-bottom: 36px;
  }

  .miyako_faq_list summary {
    padding: 18px 44px 18px 18px;
    font-size: 14px;
  }

  .miyako_faq_list summary::before,
  .miyako_faq_list summary::after {
    right: 16px;
    width: 12px;
  }

  .miyako_faq_list details > p {
    padding: 0 18px 20px 44px;
    font-size: 13.5px;
  }

  /* =====================
    requirements
  ===================== */

  .miyako_requirements .m_head {
    margin-bottom: 36px;
  }

  .miyako_requirements_row {
    grid-template-columns: 1fr;
  }

  .miyako_requirements_row dt {
    padding: 12px 16px;
  }

  .miyako_requirements_row dd {
    padding: 14px 16px 18px;
  }

  /* =====================
    entry
  ===================== */

  #miyakohotels .miyako_entry {
    padding: 72px 24px;
  }

  .miyako_entry h2 {
    font-size: 24px;
  }

  .miyako_entry_text {
    font-size: 13.5px;
  }

}
