@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap');

/* -------------------------------------------------------------------------------------------------------------
  SP
------------------------------------------------------------------------------------------------------------- */
@media screen and (max-width: 767px) {
  #mirumiruContainer .pc {
    display: none !important;
  }
}
/* -------------------------------------------------------------------------------------------------------------
	TAB / PC
------------------------------------------------------------------------------------------------------------- */
@media screen and (min-width: 768px), print {
  #mirumiruContainer .sp {
    display: none !important;
  }
}



#mirumiruContainer {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  box-sizing: border-box;
}
#mirumiruContainer * {
  box-sizing: border-box;
}
#mirumiruContainer img {
  display: inline-block;
}
#mirumiruContainer h2,
#mirumiruContainer h3,
#mirumiruContainer h4,
#mirumiruContainer p {
  font-family: "Zen Kaku Gothic New", sans-serif;
  margin: 0;
  padding: 0;
}
.mn_ttl {
  font-size: calc(40dvw/768*100);
  text-align: center;
  font-weight: 600;
}
@media screen and (min-width: 768px), print {
  .mn_ttl {
    font-size: calc(34dvw/1400*100);
  }
}


/* -------------------------------------------------------------------------------------------------------------
  Navigation
------------------------------------------------------------------------------------------------------------- */
.section_page-nav {
  display: flex;
  justify-content: space-between;
  position: absolute;
  z-index: 10;
  margin: calc(20dvw/1400*100) 0 0 calc(16dvw/1400*100); 
}
.section_page-nav-link {
  width: 100%;
  display: flex;
  justify-content: space-between;
  background-color: #f8f6e7;
  border-radius: 8px;
  padding: calc(10dvw/1400*100) calc(14dvw/1400*100);
}
.section_page-nav-link .nav_list-item {
  line-height: 1.4;
  font-weight: 500;
  text-align: center;
}
.section_page-nav-link .nav_list-item a {
  display: block;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(18dvw/1400*100);
  color: #000000;
  outline: none;
  text-decoration: none;
  position: relative;
}
.section_page-nav-link .nav_list-item a:hover {
  opacity: .5;
}
.section_page-nav-link .nav_list-item:nth-child(3) a {
  margin: 0 calc(30dvw/1400*100);
}
.section_page-nav-link .nav_list-item:nth-child(3) a::before,
.section_page-nav-link .nav_list-item:nth-child(3) a::after {
  content: "";
	display: inline-block;
  position: absolute;
	top: 50%;
	left: calc(-15dvw/1400*100);
  transform: translate(0, -48%);
	width: 1px;
	height: calc(20dvw/1400*100);
  background-color: #000;
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: contain;
}
.section_page-nav-link .nav_list-item:nth-child(3) a::after {
	left: auto;
	right: calc(-15dvw/1400*100);
}
.is_fixed-base { 
  position: fixed !important; 
  top: 0;
  z-index: 15;
}
/* 最下部（#mainの下端）に到達したときのスタイル */
.is_bottom-reached {
  position: absolute !important;
  top: auto !important;
  bottom: 0 !important;
  z-index: 15;
}
body.is_fixed {
  overflow: hidden !important;
  height: 100% !important;
}
.accordion_trigger {
  display: none;
}
.section_page-nav-link .nav_close-btn {
  display: none;
}
@media screen and (min-width: 769px) and (max-width: 800px) {
  .section_page-nav {
    position: relative !important;
    background: transparent;
  }
  .is_fixed-base {
    position: relative !important;
    box-shadow: none !important;
    transform: none !important;
  }
  .is_bottom-reached {
    position: relative !important;
  }
}


@media screen and (max-width: 768px) {
  .section_page-nav {
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    max-width: 100%;
    margin: 0 !important;
    display: block !important;
    z-index: 11;
  }
  .section_page-nav.is_fixed-base {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    background: #ffffff !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    z-index: 15;
  }
  /* スマホ時：最下部到達のスタイルを調整 */
  .section_page-nav.is_bottom-reached {
    position: absolute !important;
    top: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    background: #ffffff !important;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
    z-index: 15;
  }
  .accordion_trigger {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: bold;
    display: flex;
    justify-content: space-between;
    align-items: center;
    justify-content: center;
    height: calc(80dvw/768*100);
    background-color: #f8f6e7;
    cursor: pointer;
    position: relative;
    z-index: 13;
    padding: 0 10px 0 0;
  }
  .accordion_trigger span {
    font-family: "Zen Kaku Gothic New", sans-serif;
  }  
  .accordion_trigger::after {
    content: "";
    width: calc(18dvw/768*100);
    height: calc(18dvw/768*100);
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    transform: translate(calc(12dvw/768*100) , calc(-2dvw/768*100)) rotate(135deg);
    transition: transform 0.3s ease;
  }
  .section_page-nav-link {
    display: none;
    position: absolute;
    top: calc(130dvw/768*100);
    left: 3%;
    width: 94%;
    background-color: #f8f6e7;
    border-radius: 12px;
    z-index: 12;
    padding: 0 calc(40dvw/768*100) calc(50dvw/768*100);
  }
  .section_page-nav-link::before {
    content: "";
    display: inline-block;
    position: absolute;
    top: calc(-27dvw/768*100);
    left: 50%;
    transform: translate(-50%, 0);
    width: calc(38dvw/768*100);
    height: calc(27dvw/768*100);
    background-color: #f8f6e7;
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
  }
  .section_page-nav-link .nav_list-item {
    width: 100%;
    text-align: left;
  }
  .section_page-nav-link .nav_list-item a {
    display: block;
    font-size: calc(36dvw/768*100);
    font-weight: 500;
    text-align: center;
    background-color: #fff;
    text-decoration: none;
    margin: calc(20dvw/768*100) 0 0 0;
    padding: calc(15dvw/768*100) 0;
  }
  .section_page-nav-link .nav_list-item:nth-child(3) a {
    margin: calc(20dvw/768*100) 0 0 0;
  }
  .section_page-nav-link .nav_list-item:nth-child(3) a::before,
  .section_page-nav-link .nav_list-item:nth-child(3) a::after {
    display: none;
  }
  .section_page-nav-link .nav_close-btn {
    display: block;
    text-align: center;
    font-size: calc(40dvw/768*100);
    font-weight: bold;
    color: #fff;
    width: calc(72dvw/768*100);
    height: calc(72dvw/768*100);
    background: #000;
    border-radius: 50%;
    cursor: pointer;
    transition: background 0.2s;
    margin: calc(20dvw/768*100) 0 0 auto;
  }
  .section_page-nav-link .nav_close-btn:active {
    background: #e5e5e5;
  }
  .nav_overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.4);
    z-index: 10;
  }
}


/* -------------------------------------------------------------------------------------------------------------
	KV
------------------------------------------------------------------------------------------------------------- */
#mnKv {
  min-height: calc(1535dvw/768*100);
  background-image: url("/-/Media/cojp/sustainability/well-being/eyecare/mirumirunobiru/kv_img_sp.png");
  background-position: 0 0;
  background-size: 100% 100%;
  padding: calc(200dvw/768*100) 0 0 0;
}
#mnKv .mn_kv-logo {
  width: calc(497dvw/768*100);
  margin-bottom: calc(78dvw/768*100);
  margin-inline: auto;
}
#mnKv .mn_kv-txt p {
  font-size: calc(28dvw/768*100);
  font-weight: 600;
  line-height: 1.9;
  letter-spacing: 0.04em;
  text-align: center;
  padding: 0 0 calc(32dvw/768*100);
}
@media screen and (min-width: 768px), print {
  #mnKv {
    position: relative;
    z-index: 1;
    min-height: calc(1260dvw/1400*100);
    background-image: url("/-/Media/cojp/sustainability/well-being/eyecare/mirumirunobiru/kv_img_pc.png");
    background-position: 0 0;
    background-size: 100% 100%;
    padding: calc(220dvw/1400*100) 0 0 0;
  }
  #mnKv .mn_kv-logo {
    width: calc(497dvw/1400*100);
    margin-bottom: calc(54dvw/1400*100);
  }
  #mnKv .mn_kv-txt p {
    font-size: calc(18dvw/1400*100);
    line-height: 1.80;
    padding: 0 0 calc(24dvw/1400*100);
  }
}


/* -------------------------------------------------------------------------------------------------------------
	About
------------------------------------------------------------------------------------------------------------- */
#mnAbout {
  background-image: url("/-/Media/cojp/sustainability/well-being/eyecare/mirumirunobiru/about_bg_sp.png");
  background-position: 0 0;
  background-size: 100% 100%;
  padding: calc(40dvw/768*100) 0 calc(120dvw/768*100) 0;
}
#mnAbout .mn_about-stl {
  font-size: calc(36dvw/768*100);
  font-weight: bold;
  line-height: 1.5;
  width: calc(668dvw/768*100);
  margin-inline: auto; 
  padding: calc(36dvw/768*100) 0 0 0;
}
#mnAbout p {
  font-size: calc(32dvw/768*100);
  line-height: 1.6;
  width: calc(668dvw/768*100);
  margin-top: calc(32dvw/768*100);
  margin-inline: auto;
}
@media screen and (min-width: 768px), print {
  #mnAbout {
    background-image: url("/-/Media/cojp/sustainability/well-being/eyecare/mirumirunobiru/about_bg_pc.png");
    padding: calc(40dvw/1400*100) 0 calc(90dvw/1400*100) 0;
  }
  #mnAbout .mn_about-stl {
    font-size: calc(36dvw/1400*100);
    width: calc(750dvw/1400*100);
    max-width: 100%;
    margin-inline: auto; 
    padding: calc(36dvw/1400*100) 0 calc(46dvw/1400*100) 0;
  }
  #mnAbout p {
    font-size: calc(18dvw/1400*100);
    line-height: 1.8;
    width: calc(750dvw/1400*100);
    max-width: 100%;
    margin: 0;
    margin-bottom: calc(22dvw/1400*100);
    margin-inline: auto;
  }
}


/* -------------------------------------------------------------------------------------------------------------
  Event
------------------------------------------------------------------------------------------------------------- */
#mnEvent {
  text-align: center;
  background-color: #f8f6e7;
  background-image: url("/-/Media/cojp/sustainability/well-being/eyecare/mirumirunobiru/event_bg01_sp.png");
  background-position: 0 0;
  background-size: 100% 100%;
  padding: calc(40dvw/768*100) 0 calc(80dvw/768*100) 0;
}
#mnEvent .mn_event-wrap {
  width: calc(708dvw/768*100);
  background-image: url("/-/Media/cojp/sustainability/well-being/eyecare/mirumirunobiru/event_bg02_sp.png");
  background-position: 0 0;
  background-size: 100% 100%;
  margin-top: calc(60dvw/768*100);
  margin-inline: auto;
  padding: calc(84dvw/768*100) 0 calc(60dvw/768*100) 0;
}
#mnEvent .mn_event-stl {
  width: calc(586dvw/768*100);
  margin-bottom: calc(28dvw/768*100);
  margin-inline: auto;
}
#mnEvent .mn_event-m-text {
  font-size: calc(28dvw/768*100);
  font-weight: 500;
  text-align: center;
  line-height: 1.5;
  width: calc(600dvw/768*100);
  max-width: 100%;
  background-image: -moz-linear-gradient( 180deg, rgb(248,188,49) 0%, rgb(252,212,44) 25%, rgb(255,235,39) 100%);
  background-image: -webkit-linear-gradient( 180deg, rgb(248,188,49) 0%, rgb(252,212,44) 25%, rgb(255,235,39) 100%);
  background-image: -ms-linear-gradient( 180deg, rgb(248,188,49) 0%, rgb(252,212,44) 25%, rgb(255,235,39) 100%);
  border-radius: 100px;
  margin-bottom: calc(36dvw/768*100);
  margin-inline: auto;
  padding: calc(17dvw/768*100) 0;
  position: relative;
}
#mnEvent .mn_event-m-text::before,
#mnEvent .mn_event-m-text::after {
  content: "";
  display: inline-block;
	position: absolute;
	top: 34%;
	left: 8%;
  width: calc(32dvw/768*100);
	height: calc(54dvw/768*100);
	background-image: url("/-/Media/cojp/sustainability/well-being/eyecare/mirumirunobiru/event_slash_l.png");
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: contain;
}
#mnEvent .mn_event-m-text::after {
	left: auto;
	right: 8%;
	background-image: url("/-/Media/cojp/sustainability/well-being/eyecare/mirumirunobiru/event_slash_r.png");
}
#mnEvent .mn_event-contents li {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(28dvw/768*100);
  font-weight: bold;
  line-height: 1.6;
  text-align: center;
  width: calc(600dvw/768*100);
  max-width: 100%;
  border: 1px solid #cccccc;
  border-bottom: none;
  margin-inline: auto;
  padding: calc(26dvw/768*100) 0 calc(22dvw/768*100);
}
#mnEvent .mn_event-contents li:first-child {
  border-radius: 10px 10px 0 0;
}
#mnEvent .mn_event-contents li:last-child {
  border-bottom: 1px solid #cccccc;
  border-radius: 0 0 10px 10px;
}
#mnEvent .mn_event-contents li span {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(36dvw/768*100);
  background: linear-gradient(transparent 72%, #ffeb27 60%);
}
#mnEvent .mn_event-info {
  font-size: calc(30dvw/768*100);
  font-weight: 500;
  line-height: 1;
  width: calc(600dvw/768*100);
  max-width: 100%;
  margin-bottom: calc(40dvw/768*100);
  margin-inline: auto;
}
#mnEvent .mn_event-info dl {
  display: flex;
  align-items: center;
  flex-shrink: 1;
  padding: calc(52dvw/768*100) 0 0 0;
}
#mnEvent .mn_event-info dl:last-child {
  padding: calc(30dvw/768*100) 0 0 0;
}
#mnEvent .mn_event-info dt,
#mnEvent .mn_event-info dd {
  font-family: "Zen Kaku Gothic New", sans-serif;
}
#mnEvent .mn_event-info dt {
  font-size: calc(27dvw/768*100);
  font-weight: normal;
  padding: 0 calc(40dvw/768*100) 0 calc(60dvw/768*100);
  position: relative;
  z-index: 2;
}
#mnEvent .mn_event-info dt::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -48%);
  z-index: -1;
  width: calc(140dvw/768*100);
  height: calc(80dvw/768*100);
  background-image: url("/-/Media/cojp/sustainability/well-being/eyecare/mirumirunobiru/event_bg03_pc.png");
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: contain;
}
#mnEvent .mn_event-info dt::after {
  content: "";
  display: inline-block;
  position: absolute;
  z-index: -1;
  top: 50%;
  left: calc(20dvw/768*100);
  transform: translate(0, -50%);
  width: calc(30dvw/768*100);
  height: calc(40dvw/768*100);
  background-image: url("/-/Media/cojp/sustainability/well-being/eyecare/mirumirunobiru/icon_venue.png");
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: contain;
}
#mnEvent .mn_event-info dl:last-child dt::after {
  left: calc(20dvw/768*100);
  width: calc(34dvw/768*100);
  height: calc(36dvw/768*100);
  background-image: url("/-/Media/cojp/sustainability/well-being/eyecare/mirumirunobiru/icon_date.png");
}
#mnEvent .mn_event-info dd {
  text-align: left;
  line-height: 1.45;
}
#mnEvent .mn_event-info dd span {
  font-size: 150%;
}
#mnEvent .mn_event-info dd small {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(32dvw/768*100);
  font-weight: normal;
}
#mnEvent .mn_event-note {
  font-size: calc(23dvw/768*100);
  font-weight: normal;
  margin: calc(5dvw/768*100) 0 0 0;
}
@media screen and (min-width: 768px), print {
  #mnEvent {
    background-image: url("/-/Media/cojp/sustainability/well-being/eyecare/mirumirunobiru/event_bg01_pc.png");
    padding: calc(30dvw/1400*100) 0 calc(90dvw/1400*100) 0;
  }
  #mnEvent .mn_event-wrap {
    width: calc(1200dvw/1400*100);
    max-width: 100%;
    background-image: url("/-/Media/cojp/sustainability/well-being/eyecare/mirumirunobiru/event_bg02_pc.png");
    margin-top: calc(54dvw/1400*100);
    padding: calc(90dvw/1400*100) 0 calc(94dvw/1400*100) 0;
  }
  #mnEvent .mn_event-stl {
    width: calc(693dvw/1400*100);
    margin-bottom: calc(23dvw/1400*100);
  }
  #mnEvent .mn_event-m-text {
    font-size: calc(26dvw/1400*100);
    width: calc(920dvw/1400*100);
    margin-bottom: calc(36dvw/1400*100);
    padding: calc(12dvw/1400*100) 0;
  }
  #mnEvent .mn_event-m-text::before,
  #mnEvent .mn_event-m-text::after {
    top: 30%;
    left: 5%;
    width: calc(17dvw/1400*100);
    height: calc(28dvw/1400*100);
  }
  #mnEvent .mn_event-m-text::after {
    left: auto;
    right: 5%;
  }
  #mnEvent .mn_event-contents li {
    font-size: calc(20dvw/1400*100);
    font-weight: bold;
    line-height: 1;
    text-align: center;
    width: calc(840dvw/1400*100);
    max-width: 100%;
    border: 1px solid #cccccc;
    border-bottom: none;
    margin-inline: auto;
    padding: calc(28dvw/1400*100) 0;
  }
  #mnEvent .mn_event-contents li:first-child {
    border-radius: 10px 10px 0 0;
  }
  #mnEvent .mn_event-contents li:last-child {
    border-bottom: 1px solid #cccccc;
    border-radius: 0 0 10px 10px;
  }
  #mnEvent .mn_event-contents li span {
    font-size: calc(32dvw/1400*100);
  }
  #mnEvent .mn_event-info {
    font-size: calc(20dvw/1400*100);
    font-weight: bold;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    margin-bottom: calc(40dvw/1400*100);
    margin-inline: auto;
  }
  #mnEvent .mn_event-info dl {
    display: flex;
    align-items: center;
    padding: calc(50dvw/1400*100) 0 0 0;
  }
  #mnEvent .mn_event-info dl:last-child {
    padding: calc(50dvw/1400*100) 0 0 calc(50dvw/1400*100);
  }
  #mnEvent .mn_event-info dt {
    font-size: calc(18dvw/1400*100);
    padding: 0 calc(30dvw/1400*100) 0 calc(46dvw/1400*100);
  }
  #mnEvent .mn_event-info dt::before {
    content: "";
    display: inline-block;
    position: absolute;
    z-index: -1;
    top: 50%;
    left: calc(5dvw/1400*100);
    transform: translate(0, -50%);
    width: calc(94dvw/1400*100);
    height: calc(54dvw/1400*100);
    background-image: url("/-/Media/cojp/sustainability/well-being/eyecare/mirumirunobiru/event_bg03_pc.png");
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: contain;
  }
  #mnEvent .mn_event-info dt::after {
    content: "";
    display: inline-block;
    position: absolute;
    z-index: -1;
    top: 50%;
    left: calc(20dvw/1400*100);
    transform: translate(0, -50%);
    width: calc(20dvw/1400*100);
    height: calc(27dvw/1400*100);
    background-image: url("/-/Media/cojp/sustainability/well-being/eyecare/mirumirunobiru/icon_venue.png");
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: contain;
  }
  #mnEvent .mn_event-info dl:last-child dt::after {
    left: calc(20dvw/1400*100);
    width: calc(24dvw/1400*100);
    height: calc(25dvw/1400*100);
    background-image: url("/-/Media/cojp/sustainability/well-being/eyecare/mirumirunobiru/icon_date.png");
  }
  #mnEvent .mn_event-info dd span {
    font-size: 150%;
  }
  #mnEvent .mn_event-info dd small {
    font-size: calc(20dvw/1400*100);
  }
  #mnEvent .mn_event-note {
    font-size: calc(16dvw/1400*100);
    margin: calc(10dvw/768*100) 0 0 0;
  }
}