@charset "UTF-8";

.garamond {
   font-family: 'EB Garamond', serif;
}

.delay1_pc {
   transition-delay: 0.3s;
}

/* メインコンテンツ
***************************************************************/
.scAbout {
   padding-bottom: 10rem;
}
.subTitle .txt1 {
   margin-top: 9rem;
   line-height: 1.8;
}
.topBox02 .textItem p {
   font-size: 1.8rem;
   letter-spacing: 0.1em;
   line-height: 48px;
   text-align: center;
}
.topBox02 .imgItem {
   margin-top: 5.8rem;
}
.topBox02 .imgItem img {
   width: 100%;
}
.pagenavi {
   display: flex;
   justify-content: center;
   flex-wrap: wrap;
   width: 1200px;
   margin: 100px auto 0;
}
.pagenavi li {
   width: calc(100% / 3);
   margin: 0 -0.5px;
   border-left: 1px solid #707070;
   border-right: 1px solid #707070;
}
.pagenavi li a {
   display: block;
   padding-bottom: 2rem;
   font-size: 2rem;
   letter-spacing: 0.1em;
   text-align: center;
   position: relative;
}
.pagenavi li a .big {
   font-size: 2.4rem;
   font-weight: 500;
}
.pagenavi li a::before {
   content: '';
   position: absolute;
   bottom: 0;
   left: 50%;
   transform: translateX(-50%) rotate(45deg);
   width: 11px;
   height: 11px;
   border-right: 1.5px solid #4E4E4E;
   border-bottom: 1.5px solid #4E4E4E;
}
@media all and (min-width: 681px) {
   .pagenavi li a::before {
      transition: bottom 0.3s ease;
   }
   .pagenavi li a:hover::before {
      bottom: -5px;
   }
}
@media all and (max-width: 680px) {
   .scAbout {
      padding-bottom: 5rem;
   }
   .subTitle {
      margin-bottom: 0;
   }
   .subTitle .txt1 {
      margin-top: 3rem;
      font-size: 2.2rem;
      line-height: 1.5;
   }
   .topBox02 {
      display: flex;
      flex-direction: column;
   }
   .topBox02 .textItem {
      order: 2;
      background: #fff;
      width: calc(100% - 40px);
      margin: -18px auto 0;
      padding-top: 23px;
      position: relative;
      z-index: 1;
   }
   .topBox02 .textItem p {
      font-size: 1.6rem;
      letter-spacing: 0;
      line-height: 2.12;
      font-weight: 500;
   }
   .topBox02 .imgItem {
      order: 1;
      margin-top: 2rem;
   }
   .pagenavi {
      display: block;
      width: 100%;
      padding: 0 2rem;
      margin: 2.7rem auto 0;
   }
   .pagenavi li {
      width: 100%;
      margin: 0;
      border-top: 1px solid #707070;
      border-left: none;
      border-right: none;
   }
   .pagenavi li:last-child {
      border-bottom: 1px solid #707070;
   }
   .pagenavi li a {
      padding: 2.2rem 2rem 3rem;
      letter-spacing: 0;
      font-weight: 500;
      text-align: left;
   }
   .pagenavi li a .num {
      font-size: 1.5rem;
      letter-spacing: 0.1em;
      font-weight: 400;
   }
   .pagenavi li a .big {
      display: inline-block;
      font-size: 2rem;
      text-indent: -1rem;
   }
   .pagenavi li a::before {
      top: 50%;
      bottom: auto;
      left: auto;
      right: 18px;
      transform: translateY(-50%) rotate(45deg);
   }
}
/* メインコンテンツ
***************************************************************/

/* STEP共通
***************************************************************/
.scStep {
   display: block;
   padding: 10rem 0 11rem;
}
.scStep:last-of-type {
   padding-bottom: 0;
}
.scStep:nth-of-type(odd) {
   background: #F7F9FA;
}
.scStep:nth-of-type(even) {
   background: #fff;
}
.scStep .inner {
   width: 1200px;
   margin: 0 auto;
}
.scStep .scStepTitle {
   letter-spacing: 0.1em;
   text-align: center;
}
.scStep .scStepTitle .num {
   display: block;
   padding-bottom: 13px;
   font-size: 2.6rem;
   font-weight: 400;
   position: relative;
}
.scStep .scStepTitle .num::before {
   content: '';
   position: absolute;
   bottom: 0;
   left: 50%;
   transform: translateX(-50%);
   width: 42px;
   height: 1px;
   background: #222;
}
.scStep .scStepTitle .title {
   display: block;
   margin-top: 13px;
   font-size: 3.1rem;
   font-weight: 500;
}
.scStep .scStepText {
   font-size: 2.2rem;
   letter-spacing: 0.05em;
   line-height: 27px;
   text-align: center;
   margin-top: 13px;
}
.scStep-list {
   display: flex;
   flex-wrap: wrap;
   gap: 4rem;
   margin-top: 6rem;
}
.scStep-list li {
   width: calc((100% - 40px)/2);
}
.scStep-list li .listTitleEn {
   font-size: 3rem;
   letter-spacing: 0.1em;
   text-align: center;
}
.scStep-list li .listTitleJp {
   font-size: 1.9rem;
   letter-spacing: 0.144em;
   text-align: center;
   margin-top: 13px;
}
.scStep-list li .listTitleJp span {
   display: inline-block;
   padding: 0 28px;
   position: relative;
}
.scStep-list li .listTitleJp span::before,
.scStep-list li .listTitleJp span::after {
   content: '';
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   width: 20px;
   height: 1px;
   background: #222;
}
.scStep-list li .listTitleJp span::before {
   left: 0;
}
.scStep-list li .listTitleJp span::after {
   right: 0;
}

.scStep-banner {
   display: block;
   width: 865px;
   margin: 7.7rem auto 0;
}

.scStep-table {
   width: 989px;
   margin: 10rem auto 0;
}
.scStep-table-note {
   width: 989px;
   margin: 3rem auto 0;
   font-size: 1.2rem;
   letter-spacing: 0;
   line-height: 17px;
}

.scStep-plan {
   width: 992px;
   margin: 10rem auto 0;
}
.scStep-plan-title {
   font-size: 3rem;
   letter-spacing: 0.1em;
   font-weight: 500;
   color: #fff;
   text-align: center;
   background: #2F4969;
   padding: 11px 0 15px;
}
.scStep-plan-item {
   display: flex;
   align-items: center;
   gap: 42px;
   margin-top: 60px;
}
.scStep-plan-item + .scStep-plan-item {
   margin-top: 40px;
}
.scStep-plan-item-imgBox {
   order: 2;
   width: 574px;
}
.scStep-plan-item-textBox {
   order: 1;
   width: calc(100% - 574px - 42px);
}
.scStep-plan-item-titleEn {
   font-size: 3rem;
   letter-spacing: 0.1em;
   text-align: center;
}
.scStep-plan-item-titleJp {
   font-size: 1.9rem;
   letter-spacing: 0.144em;
   text-align: center;
   margin-top: 13px;
}
.scStep-plan-item-titleJp span {
   display: inline-block;
   padding: 0 28px;
   position: relative;
}
.scStep-plan-item-titleJp span::before,
.scStep-plan-item-titleJp span::after {
   content: '';
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   width: 20px;
   height: 1px;
   background: #222;
}
.scStep-plan-item-titleJp span::before {
   left: 0;
}
.scStep-plan-item-titleJp span::after {
   right: 0;
}
.scStep-plan-item-btnList {
   margin-top: 32px;
}
.scStep-plan-item-btnList li + li {
   margin-top: 10px;
}
.scStep-plan-item-btnList li a {
   display: block;
   padding: 14px 0 15px;
   border: 1px solid #222;
   font-size: 1.4rem;
   letter-spacing: 0.02em;
   text-align: center;
   position: relative;
}
.scStep-plan-item-btnList li a::before {
   content: '';
   position: absolute;
   top: 50%;
   right: 17px;
   transform: translateY(-50%) rotate(-45deg);
   width: 8px;
   height: 8px;
   border-right: 1px solid #222;
   border-bottom: 1px solid #222;
}

.scStep-details {
   background: #EFEFEF;
   padding: 42px 35px;
   margin-top: 10rem;
}
.scStep-details-title {
   font-size: 2.4rem;
   letter-spacing: 0.1em;
   font-weight: 500;
   text-align: center;
}
.scStep-details-text {
   font-size: 1.8rem;
   letter-spacing: 0.05em;
   text-align: center;
   margin-top: 9px;
}
.scStep-details-list {
   display: flex;
   flex-wrap: wrap;
   gap: 20px;
   margin-top: 42px;
}
.scStep-details-list > li {
   width: calc((100% - 20px)/2);
   background: #fff;
   padding: 32px 42px;
}
.scStep-details-list-title {
   font-size: 2rem;
   letter-spacing: 0.1em;
   font-weight: 600;
   text-align: center;
}
.scStep-details-list-c {
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
   margin-top: 24px;
}
.scStep-details-list-c > li {
   width: calc((100% - 10px)/2);
}
.scStep-details-list-c > li a {
   display: flex;
   align-items: center;
   justify-content: center;
   height: 82px;
   font-size: 1.8rem;
   letter-spacing: 0;
   text-align: center;
   position: relative;
}
.scStep-details-list-c > li .arrow {
   display: block;
   position: absolute;
   right: 13px;
   bottom: 11px;
   width: 50px;
   height: 6px;
}
.scStep-details-list-c > li .arrow::before,
.scStep-details-list-c > li .arrow::after {
   content: "";
   position: absolute;
   background: #707070;
}
.scStep-details-list-c > li .arrow::before {
   left: 0;
   bottom: 0;
   width: 100%;
   height: 1px;
}
.scStep-details-list-c > li .arrow::after {
   top: 0;
   right: 2.5px;
   transform: rotate(-45deg);
   width: 1px;
   height: 100%;
}
.scStep-details-list-c > li a.order {
   background: #EDF2F4;
}
.scStep-details-list-c > li a.select {
   background: #F4F4EF;
}
@media all and (min-width: 681px) {
   .scStep-banner:hover {
      opacity: 0.7;
   }
   .scStep-plan-item-btnList li a {
      transition: background 0.3s ease, border 0.3s ease, color 0.3s ease;
   }
   .scStep-plan-item-btnList li a::before {
      transition: right 0.3s ease,border 0.3s ease;
   }
   .scStep-plan-item-btnList li a:hover {
      color: #fff;
      background: #9ea9b7;
      border-color: #9ea9b7;
   }
   .scStep-plan-item-btnList li a:hover::before {
      right: 12px;
      border-color: #fff;
   }
   .scStep-details-list-c > li .arrow {
      transition: width 0.3s ease;
   }
   .scStep-details-list-c > li a:hover {
      opacity: 0.7;
   }
   .scStep-details-list-c > li a:hover .arrow {
      width: 30px;
   }
}
@media all and (max-width: 680px) {
   .scStep {
      display: block;
      padding: 5rem 0;
   }
   .scStep:last-of-type {
      padding-bottom: 0;
   }
   .scStep .inner {
      width: 100%;
   }
   .scStep .scStepTitle .num {
      padding-bottom: 10px;
      font-size: 1.8rem;
   }
   .scStep .scStepTitle .num::before {
      width: 30px;
   }
   .scStep .scStepTitle .title {
      display: block;
      font-size: 2.2rem;
   }
   .scStep .scStepText {
      font-size: 1.6rem;
      letter-spacing: 0.08em;
      line-height: 27px;
      margin-top: 13px;
   }
   .scStep-list {
      display: block;
      padding: 0 2rem;
      margin-top: 4rem;
   }
   .scStep-list li {
      width: 100%;
   }
   .scStep-list li + li {
      margin-top: 3rem;
   }
   .scStep-list li .listTitleEn {
      font-size: 2.2rem;
   }
   .scStep-list li .listTitleJp {
      font-size: 1.5rem;
      margin-top: 10px;
   }
   .scStep-list li .listTitleJp span {
      padding: 0 26px;
   }

   .scStep-banner {
      width: 74.67%;
      margin: 4rem auto 0;
   }

   .scStep-table {
      width: calc(100% - 4rem);
      margin: 5rem auto 0;
   }
   .scStep-table-note {
      width: calc(100% - 4rem);
      margin: 1rem auto 0;
      letter-spacing: 0.05em;
      line-height: 1.417;
   }
   
   .scStep-plan {
      width: calc(100% - 4rem);
      margin: 6.8rem auto 0;
   }
   .scStep-plan-title {
      font-size: 2.2rem;
      padding: 4px 0 6px;
   }
   .scStep-plan-item {
      display: block;
      margin-top: 3rem;
   }
   .scStep-plan-item + .scStep-plan-item {
      margin-top: 4rem;
   }
   .scStep-plan-item-imgBox {
      width: 100%;
   }
   .scStep-plan-item-textBox {
      width: 100%;
      padding-top: 15px;
   }
   .scStep-plan-item-titleEn {
      font-size: 1.8rem;
   }
   .scStep-plan-item-titleJp {
      font-size: 1.5rem;
      margin-top: 6px;
   }
   .scStep-plan-item-titleJp span {
      padding: 0 26px;
   }
   .scStep-plan-item-btnList {
      width: 85%;
      margin: 20px auto 0;
   }
   .scStep-plan-item-btnList li + li {
      margin-top: 5px;
   }
   .scStep-plan-item-btnList li a {
      display: block;
      padding: 14px 0 15px;
      letter-spacing: 0;
   }
   .scStep-plan-item-btnList li a::before {
      width: 6px;
      height: 6px;
      right: 11px;
   }

   .scStep-details {
      padding: 42px 20px;
      margin-top: 4rem;
   }
   .scStep-details-title {
      font-size: 2.2rem;
   }
   .scStep-details-text {
      font-size: 1.6rem;
      letter-spacing: 0;
      line-height: 27px;
      margin-top: 9px;
   }
   .scStep-details-list {
      display: block;
      margin-top: 25px;
   }
   .scStep-details-list > li {
      width: 100%;
      padding: 16px 14px 18px;
   }
   .scStep-details-list > li + li {
      margin-top: 10px;
   }
   .scStep-details-list-title {
      font-size: 1.8rem;
   }
   .scStep-details-list-c {
      gap: 5px;
      margin-top: 13px;
   }
   .scStep-details-list-c > li {
      width: calc((100% - 5px)/2);
   }
   .scStep-details-list-c > li a {
      height: 65px;
      padding-bottom: 8px;
      font-size: 1.6rem;
   }
   .scStep-details-list-c > li .arrow {
      right: auto;
      left: 50%;
      bottom: 15px;
      transform: translateX(-50%);
      width: 28px;
      height: 4px;
   }
   .scStep-details-list-c > li .arrow::after {
      height: 100%;
      right: 1.5px;
   }
}
/* STEP共通
***************************************************************/

/* STEP1
***************************************************************/
.scStep1-list li .listTextBox {
   background: #fff;
   padding: 5rem 0 4rem;
}
.scStep1-list li .listText {
   font-size: 1.6rem;
   letter-spacing: 0.1em;
   line-height: 35px;
   text-align: center;
   margin-top: 14px;
}
.scStep1-list li .listBtn {
   display: flex;
   align-items: center;
   justify-content: center;
   width: 137px;
   height: 34px;
   margin: 20px auto 0;
   border: 1px solid #222;
   font-size: 1.2rem;
   letter-spacing: 0;
   font-weight: 500;
   text-align: center;
   position: relative;
}
.scStep1-list li .listBtn .en,
.scStep1-list li .listBtn .jp {
   position: absolute;
   top: 50%;
   left: 0;
   transform: translateY(-50%);
   width: 100%;
   transition: opacity 0.3s ease;
}
.scStep1-list li .listBtn .jp {
   opacity: 0;
}
@media all and (min-width: 681px) {
   .scStep1-list li .listBtn {
      transition: background 0.3s ease,border 0.3s ease,color 0.3s ease;
   }
   .scStep1-list li .listBtn:hover {
      color: #fff;
      border-color: #9ea9b7;
      background: #9ea9b7;
   }
   .scStep1-list li .listBtn:hover .en {
      opacity: 0;
   }
   .scStep1-list li .listBtn:hover .jp {
      opacity: 1;
   }
}
@media all and (max-width: 680px) {
   .scStep1-list li + li {
      margin-top: 3rem;
   }
   .scStep1-list li .listTextBox {
      padding: 4rem 0 3rem;
   }
   .scStep1-list li .listText {
      font-size: 1.5rem;
      line-height: 2;
   }
}
/* STEP1
***************************************************************/

/* STEP2
***************************************************************/
.scStep2-list li .top {
   padding: 5rem 6rem 2.6rem;
}
.scStep2-list li .listText {
   font-size: 1.6rem;
   letter-spacing: 0.05em;
   line-height: 35px;
   text-align: justify;
   margin-top: 14px;
}
.scStep2-list li .bottom {
   padding: 3.2rem 6.5rem 6rem;
}
.scStep2-list li .listSubTitle {
   font-size: 1.9rem;
   letter-spacing: 0.144em;
   text-align: center;
   padding-bottom: 20px;
   position: relative;
}
.scStep2-list li .listSubTitle::before {
   content: '';
   position: absolute;
   bottom: 0;
   left: 50%;
   transform: translateX(-50%);
   width: 28px;
   height: 1px;
   background: #707070;
}
.scStep2-list li .listCheckText {
   font-size: 1.7rem;
   letter-spacing: 0;
   line-height: 30px;
   margin-top: 20px;
   padding-left: 29px;
   position: relative;
}
.scStep2-list li .listCheckText::before {
   content: "";
   position: absolute;
   left: 0;
   top: 5px;
   width: 20px;
   height: 20px;
   background: url(../../img/lineup/icon_check.svg)no-repeat center / cover;
}
.scStep2-list li .listCheckText + .listCheckText {
   margin-top: 10px;
}
.scStep2-list li:nth-of-type(odd) .top {
   background: #E9EFF2;
}
.scStep2-list li:nth-of-type(odd) .bottom {
   background: #DBE5EA;
}
.scStep2-list li:nth-of-type(even) .top {
   background: #F4F4EF;
}
.scStep2-list li:nth-of-type(even) .bottom {
   background: #EBEBE2;
}
@media all and (min-width: 681px) {
   
}
@media all and (max-width: 680px) {
   .scStep2-list {
      padding: 0 2rem;
   }
   .scStep2-list li .top {
      padding: 4rem 2.2rem 2rem;
   }
   .scStep2-list li .listText {
      font-size: 1.5rem;
      letter-spacing: 0;
      line-height: 2;
   }
   .scStep2-list li .bottom {
      padding: 3.2rem 0 3rem;
   }
   .scStep2-list li .listSubTitle {
      font-size: 1.6rem;
      letter-spacing: 0;
      padding-bottom: 16px;
   }
   .scStep2-list li .listCheckText {
      font-size: 1.6rem;
      line-height: 1.5;
      width: 71%;
      margin: 16px auto 0;
   }
   .scStep2-list li .listCheckText.size2 {
      width: 91%;
   }
   .scStep2-list li .listCheckText::before {
      top: 2px;
   }
}
/* STEP2
***************************************************************/


/* コメントアウト
***************************************************************/
@media all and (max-width: 680px) {
   
}
@media all and (min-width: 681px) {
   
}
/* コメントアウト
***************************************************************/