@charset "UTF-8";

.l-content {
 margin-top: min(6.5rem, calc(65vw / 13.66));
}

/*                    melsplan_contents                    */

.page_ttl {
 width: 100%;
 margin: 0 auto;
 display: flex;
 justify-content: center;
 align-items: center;
 gap: 0 min(2rem, calc(20vw / 13.66));
 margin-bottom: min(8rem, calc(80vw / 13.66));
}
.page_ttl .img {
 width: min(7rem, calc(70vw / 13.66));
}
.page_ttl .title {
 font-size: 28px;
 font-size: 2.8rem;
 font-weight: 600;
 text-align: center;
 letter-spacing: 0.15em;
}

.melsplan_inner {
 position: relative;
}
.melsplan_inner_img {
 position: absolute;
 width: min(27.7rem, calc(277vw / 13.66));
 top: 0;
 right: 0;
 z-index: 1;
}

.melsplan_top {
 position: relative;
 padding-bottom: min(0.8rem, calc(8vw / 13.66));
}

.melsplan_top_ttl {
 width: min(80rem, calc(800vw / 13.66));
 margin: 0 auto min(5rem, calc(50vw / 13.66));
}
.melsplan_top_txt {
 width: min(82rem, calc(820vw / 13.66));
 margin: 0 auto;
 position: relative;
 border-radius: min(0.8rem, calc(8vw / 13.66));
 box-sizing: border-box;
 padding: min(3rem, calc(30vw / 13.66)) min(5.5rem, calc(55vw / 13.66)) min(4rem, calc(40vw / 13.66));
 background-color: #0b2f5f;
}
.melsplan_top_txt p {
 color: #fff;
 font-size: 1.6rem;
 letter-spacing: 0.1em;
 line-height: 2.25;
 text-align: left;
}
.melsplan_top_txt p span {
 display: block;
 font-size: 2.4rem;
 font-weight: 600;
 letter-spacing: 0.14em;
 margin-bottom: min(1rem, calc(10vw / 13.66));
}

.melsplan_top_img {
 position: absolute;
 top: min(11.5rem, calc(115vw / 13.66));
 width: min(19rem, calc(190vw / 13.66));
 left: max(-4rem, calc(-40vw / 13.66));
}
.melsplan_top_img img {
 height: auto;
}

.melsplan_main_inner {
 background-color: #fff;
 padding: min(5.5rem, calc(55vw / 13.66)) 0 min(8.5rem, calc(85vw / 13.66));
 margin-top: min(3rem, calc(30vw / 13.66));
}
.melsplan_item {
 width: min(99.2rem, calc(992vw / 13.66));
 margin: min(5.5rem, calc(55vw / 13.66)) auto 0;
}
.melsplan_item_01 {
 margin-top: 0;
}
.melsplan_item_03 {
 margin-top: min(11rem, calc(110vw / 13.66));
}
.melsplan_item_ttl {
 display: inline-block;
 font-size: 2.2rem;
 font-weight: 600;
 line-height: 1.6;
 letter-spacing: 0.1em;
 border-bottom: min(0.4rem, calc(4vw / 13.66)) solid #59b2d1;
 padding-bottom: min(0.5rem, calc(5vw / 13.66));
 margin-bottom: min(3rem, calc(30vw / 13.66));
}
.melsplan_item_flex {
 display: flex;
 justify-content: space-between;
}
.melsplan_item_txt {
 font-size: 1.6rem;
 font-weight: 500;
 letter-spacing: 0.05em;
 line-height: 2.25;
 text-align: justify;
 position: relative;
}
.melsplan_item_txt span.line {
 background: #fff;
 background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 60%, rgba(255, 255, 0, 1) 60%, rgba(255, 255, 0, 1) 100%);
}

.melsplan_item_detail {
 width: min(46.4rem, calc(464vw / 13.66));
}

.melsplan_item_02 .melsplan_item_flex {
 align-items: flex-end;
}
.melsplan_item_flex_re {
 margin: min(5rem, calc(50vw / 13.66)) 0;
 flex-direction: row-reverse;
}
.melsplan_item_detail_ttl {
 font-size: 2.8rem;
 font-weight: 600;
 letter-spacing: 0.1em;
 display: flex;
 align-items: flex-end;
 margin-bottom: min(2.5rem, calc(25vw / 13.66));
 line-height: 1.35;
 display: flex;
 justify-content: space-between;
}
.melsplan_item_detail_ttl .num {
 width: min(12rem, calc(120vw / 13.66));
 font-size: 0;
}
.melsplan_item_txt sup {
 font-size: 1.2rem;
 vertical-align: super;
}
.melsplan_item_txt .note {
 font-size: 1.2rem;
 font-weight: 500;
 letter-spacing: 0.05em;
 position: absolute;
 bottom: 0;
 right: 0;
}

.melsplan_item_img {
 width: min(48rem, calc(480vw / 13.66));
}

.melsplan_item_box {
 width: min(31.2rem, calc(312vw / 13.66));
}
.melsplan_item_box .melsplan_item_img {
 width: 100%;
}
.melsplan_item_box .melsplan_item_txt {
 font-size: 1.4rem;
 line-height: 2;
 letter-spacing: 0.04em;
 margin-top: min(1.5rem, calc(15vw / 13.66));
}

.melsplan_related_inner {
 background-color: #ffff;
 padding: min(5.4rem, calc(54vw / 13.66)) min(4rem, calc(40vw / 13.66)) min(6.4rem, calc(64vw / 13.66));
 margin-top: min(12rem, calc(120vw / 13.66));
}
.melsplan_related_ttl {
 text-align: center;
 font-size: 2.4rem;
 letter-spacing: 0.12em;
 font-weight: 600;
}
.melsplan_related_menu {
 display: flex;
 justify-content: flex-start;
 gap: min(6.4rem, calc(64vw / 13.66)) min(4rem, calc(40vw / 13.66));
 margin-top: min(3.5rem, calc(35vw / 13.66));
}
.melsplan_related_menu li {
 width: min(32rem, calc(320vw / 13.66));
 background-color: #fff;
 display: flex;
 justify-content: space-between;
 background-color: #fff;
 border-radius: min(0.8rem, calc(8vw / 13.66));
 box-shadow: 0 min(0.4rem, calc(4vw / 13.66)) min(0.2rem, calc(2vw / 13.66)) #0000001a;
 transition: 0.4s;
}

.melsplan_related_menu li .item a {
 display: block;
 width: 100%;
 text-align: left;
 transition: all 0.4s;
 padding-bottom: min(2.4rem, calc(24vw / 13.66));
 height: 100%;
}
.melsplan_related_menu li .item .icon_new {
 position: absolute;
 top: max(-2.8rem, calc(-28vw / 13.66));
 left: max(-2.8rem, calc(-28vw / 13.66));
 background: #e3bb64;
 width: min(5.6rem, calc(56vw / 13.66));
 height: min(5.6rem, calc(56vw / 13.66));
 line-height: min(5.6rem, calc(56vw / 13.66));
 border-radius: 50%;
 text-align: center;
 color: #fff;
 font-size: 1.4rem;
 font-weight: 500;
 letter-spacing: 0.08em;
 z-index: 10;
}
.melsplan_related_menu li .item a .img {
 overflow: hidden;
 border-radius: min(0.8rem, calc(8vw / 13.66)) min(0.8rem, calc(8vw / 13.66)) 0 0;
}
.melsplan_related_menu li .item a .img img {
 border-radius: min(0.8rem, calc(8vw / 13.66)) min(0.8rem, calc(8vw / 13.66)) 0 0;
 transition: 0.4s;
}
.melsplan_related_menu li .item a:hover img {
 transform: scale(1.05);
}
.melsplan_related_menu li .item a .detail {
 padding: 0 min(1.5rem, calc(15vw / 13.66));
}

.melsplan_related_menu li .item a .title {
 color: #3498be;
 font-size: 1.4rem;
 font-weight: 600;
 letter-spacing: 0.1em;
 margin: min(1.6rem, calc(16vw / 13.66)) 0 0;
 display: flex;
 justify-content: space-between;
 font-weight: 500;
}

.melsplan_related_menu li .item a .title .date {
 color: #595757;
}
.melsplan_related_menu li .item a .text {
 font-size: 1.7rem;
 margin: 8px 0 0;
 text-align: justify;
 font-weight: 600;
 line-height: 1.55;
 transition: 0.4s;
}
.melsplan_related_menu li .item a:hover .text {
 color: #3498be;
}

.melsplan_contact_inner {
 background-color: #002D5C;
 padding: min(5.4rem, calc(54vw / 13.66)) min(6.4rem, calc(64vw / 13.66)) min(6.4rem, calc(64vw / 13.66));
 margin-top: min(12rem, calc(120vw / 13.66));
}
.melsplan_contact_ttl {
 font-size: 2.4rem;
 color: #fff;
 letter-spacing: 0.12em;
 text-align: center;
 font-weight: 600;
 margin-bottom: min(4rem, calc(40vw / 13.66));
}

.melsplan_contact_item {
 overflow: visible;
 height: 100%;
}
.melsplan_contact_item iframe {
 width: 100%;
 height: 1720px;
}

@media screen and (max-width: 1056px) {
.melsplan_contact_item iframe {
 height: 1870px;
}
}
@media screen and (max-width: 881px) {
.melsplan_contact_item iframe {
 height: 1894px;
}
}
@media screen and (max-width: 806px) {
.melsplan_contact_item iframe {
 height: 1930px;
}
}
@media screen and (max-width: 767px) {
.melsplan_contact_item iframe {
 height: calc(2735px - 100vw);
}
}

@media screen and (max-width: 767px) {
 .l-content {
  margin-top: 2rem;
 }

 /*                    melsplan_contents                    */

 .page_ttl {
  gap: 0 1rem;
  margin-bottom: 4rem;
 }
 .page_ttl .img {
  width: 4.2rem;
 }
 .page_ttl .img img {
  height: auto;
 }
 .page_ttl .title {
  font-size: 2rem;
  letter-spacing: 0.05em;
 }

 .melsplan_inner {
  position: relative;
 }
 .melsplan_inner_img {
  position: absolute;
  width: 14rem;
  top: 0;
  right: 0;
  z-index: 1;
 }
 .melsplan_inner_img img {
  height: auto;
 }

 .melsplan_top {
  position: relative;
  padding-bottom: 0;
 }

 .melsplan_top_ttl {
  width: 17.8rem;
  margin: 0 auto 3.8rem;
  margin-left: 1.5rem;
 }
 .melsplan_top_ttl img {
  height: auto;
 }

 .melsplan_top_txt {
  width: 100%;
  border-radius: 0.8rem;
  padding: 2.5rem 1.5rem 2.5rem;
 }
 .melsplan_top_txt p {
  font-size: 1.4rem;
  letter-spacing: 0.08em;
  line-height: 1.7;
  text-align: justify;
 }
 .melsplan_top_txt p span {
  font-size: 1.7rem;
  line-height: 1.7;
  letter-spacing: 0.2em;
  margin-bottom: 2rem;
 }

 .melsplan_top_img {
  position: static;
  width: 8rem;
  margin: 1.5rem auto 0;
  margin: 0 0 0 5rem;
 }
 .melsplan_top_img img {
  height: auto;
 }

 .melsplan_main_inner {
  padding: 3.5rem 0;
  margin-top: 6rem;
 }
 .melsplan_item {
  width: 28.5rem;
  margin: 5rem auto 0;
 }
 .melsplan_item_01 {
  margin-top: 0;
 }
 .melsplan_item_03 {
  margin-top: 5rem;
 }
 .melsplan_item_ttl {
  font-size: 1.6rem;
  border-bottom: 0.3rem solid #59b2d1;
  padding-bottom: 0.5rem;
  margin-bottom: 2.5rem;
  display: block;
 }
 .melsplan_item_flex {
  flex-direction: column;
  gap: 1.2rem 0;
 }
 .melsplan_item_txt {
  font-size: 1.4rem;
  line-height: 1.7;
  letter-spacing: 0.08em;
 }
 .melsplan_item_detail {
  width: 100%;
 }

 .melsplan_item_02 .melsplan_item_flex {
  align-items: flex-end;
  gap: 2rem 0;
 }
 .melsplan_item_flex_re {
  margin: 3rem 0;
  flex-direction: column;
 }
 .melsplan_item_detail_ttl {
  font-size: 1.9rem;
  letter-spacing: 0.05em;
  margin-bottom: 1.5rem;
 }
 .melsplan_item_detail_ttl .num {
  width: 5.7rem;
 }
 .melsplan_item_detail_ttl .num img {
  height: auto;
 }
 .melsplan_item_txt sup {
  font-size: 1rem;
  vertical-align: super;
 }
 .melsplan_item_txt .note {
  font-size: 1.1rem;
  display: block;
  position: relative;
  margin-top: 0.5rem;
 }
 .melsplan_item_img {
  width: 100%;
 }
 .melsplan_item_img img {
  height: auto;
 }

 .melsplan_item_box {
  width: 100%;
 }
 .melsplan_item_04 .melsplan_item_flex {
  gap: 2.4rem 0;
 }
 .melsplan_item_box .melsplan_item_txt {
  font-size: 1.4rem;
  line-height: 1.7;
  margin-top: 1.5rem;
 }

 .melsplan_related_inner {
  padding: 3.5rem 0 4rem;
  margin-top: 6rem;
 }
 .melsplan_related_ttl {
  font-size: 2rem;
  letter-spacing: 0.05em;
 }
 .melsplan_related_menu {
  flex-direction: column;
  width: 28.2rem;
  margin: 0 auto;
  gap: 3rem 0;
  margin-top: 3rem;
 }
 .melsplan_related_menu li {
  width: 100%;
  border-radius: 0.8rem;
  box-shadow: 0 0.4rem 0.2rem #0000001a;
 }

 .melsplan_related_menu li .item a {
  padding-bottom: 2.4rem;
 }
 .melsplan_related_menu li .item .icon_new {
  top: -28rem;
  left: -28rem;
  width: 5.6rem;
  height: 5.6rem;
  line-height: 5.6rem;
 }
 .melsplan_related_menu li .item a .img {
  overflow: hidden;
  border-radius: 0.8rem 0.8rem 0 0;
 }
 .melsplan_related_menu li .item a .img img {
  border-radius: 0.8rem 0.8rem 0 0;
 }
 .melsplan_related_menu li .item a .detail {
  padding: 0 1.5rem;
 }

 .melsplan_related_menu li .item a .title {
  font-size: 1.3rem;
  margin: 1.6rem 0 0;
 }
 .melsplan_related_menu li .item a .text {
  font-size: 1.6rem;
  margin: 0.6rem 0 0;
 }

 .melsplan_contact_inner {
  padding: 3.8rem 1.5rem 4rem;
  margin-top: 6rem;
 }
 .melsplan_contact_ttl {
  font-size: 2rem;
  letter-spacing: 0.05em;
  line-height: 1.4;
  margin-bottom: 3rem;
 }
}
