/**********************************
 共通記述（さわらない）
 **********************************/
 :root {
  --c-red: #c03;
  --c-red_light: #fcccd2;
  --c-black1: #272727;
  --c-black2: #3d3d3d;
  --c-gray1: #f3f3f3;
  --c-gray2: #e5e5e5;
  --disabled: #7d7d7d;
  --main-font-lato: 'Lato', 'Noto Sans JP', Helvetica, Neue Haas Grotesk, Arial;
}

/* reset */
*{
  box-sizing: border-box;
}
body{
  margin:0;
  font-family: "Noto Sans JP", Helvetica, Neue Haas Grotesk, Arial;
  line-height: 1.5;
}
#main h1,
#main h2,
#main h3,
#main h4,
#main p {
  background-color: inherit;
  color: inherit;
  padding: 0;
  border: 0;
  margin: 0;
  min-height: 0;
}
#main img{
  width: 100%;
  vertical-align: bottom;
}
#main a{
  text-underline-offset: 2px;
  color: var(--c-black1);
  text-decoration: underline;
  word-break: break-all;
}
#main a:hover{
  color: var(--c-red);
  text-decoration: none;
}
#main a:hover,
#main a:focus {
  text-decoration: none;
}
#main a:visited {
  opacity: 1;
}
#main table{
  margin-top: 0;
}
#main table th,
#main table td {
  font-weight: normal;
  background-color: inherit;
}
#main ul, #main ol{
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
  margin-top: 0;
}
#main li{
  list-style: none;
  padding: 0;
}
.bootstrap #main p,
.bootstrap #main h1,
.bootstrap #main h2,
.bootstrap #main h3,
.bootstrap #main h4,
.bootstrap #main h5,
.bootstrap #main h6,
.bootstrap #main ol,
.bootstrap #main ul,
.bootstrap #main dl{
  margin-bottom: 0;
}
@media (max-width: 480px) {
  table tr:nth-child(odd), table tr:nth-child(even) {
    background: inherit;
  }
}
#main h1, #main h2, #main h3, #main h4, #main h5, #main h6, #main p{
  font-size: 18px;
  color: var(--c-black1);
  line-height: 1.5;
}
#main h1{
  font-size: 44px;
  font-weight: 700;
}
#main h2{
  font-size: 32px;
  font-weight: 700;
}
#main h3{
  font-size: 24px;
  font-weight: 700;
}
#main h4{
  font-size: 20px;
  font-weight: 700;
}
#main p{
  line-height: 1.7;
}
#main .content-block{
  margin: 80px 0;
}
@media (max-width: 768px) {
  #main p, #main span, #main li, #main th, #main td, #main dt, #main dd{
    font-size: 14px;
  }
  #main h1{
    font-size: 24px;
  }
  #main h2{
    font-size: 24px;
  }
  #main h3{
    font-size: 18px;
  }
  #main h4{
    font-size: 16px;
  }  
}
.breadcrumb{
  max-width: 1224px;
  margin-left: auto;
  margin-right: auto;
}
#block-subsphere-page-title{
  display: none;
}
nav.tabs.tabs{
  margin-bottom: 0;
}
.node__content.node__content{
  margin-top: 0;
}
.text-formatted ul li:before, .table-responsive ul li:before {
  width: auto;
  height: auto;
  background-color: unset;
}
.article-all-back-articles-btn-wrapper{
  display: none;
}
#main .blank-link{
  padding-right: 16px;
}
#main .blank-link--red::after{
  margin-right: 3px;
}
#main .oval-link {
  position: relative;
  display: inline-block;
  width: 320px;
  padding: 15px 40px;
  border-radius: 100vh;
  background: var(--main-clr-wt);
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
  line-height: 1.5;
  text-decoration: none;
}
#main .oval-link--border--red {
  border: 1px solid var(--c-red);
  color: var(--c-red) !important;
}
#main .oval-link::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 24px;
  transform: translateY(-50%);
  display: inline-block;
  width: 14px;
  height: 14px;
}
#main .oval-link--red {
  background: #bc2739;
  color: #ffffff;
}
#main a.oval-link--border--red:hover {
  color: var(--c-red);
}
#main a.oval-link--red:hover {
  color: #ffffff;
}

@media (max-width: 768px) {
  .footer-breadcrumb{
    margin-top: 20px;
  }
  #main .oval-link {
    width: 100%;
    max-width: 320px;
    font-size: 16px;
  }
}
/**********************************
 /共通記述 end
 **********************************/

/* 共通記述（このページのみの設定） */
:root {
  --c-register--lightyellow: #FFF8D8;
  --c-register--darkyellow: #8C7400;
}
#main{
  background: #fff;
}

/**********************************
 component
**********************************/
#main .c-bg__yellow{
  background: var(--c-register--lightyellow);
}
#main .c-1224{
  max-width: 1224px;
  width: 100%;
  margin: auto;
}
#main .c-1024{
  max-width: 1024px;
  width: 100%;
  margin: auto;
}
#main .c-840{
  max-width: 840px;
  width: 100%;
  margin: auto;
}
#main .c-title--cp{
  display: flex;
  justify-content: center;
}
#main .c-title--cp span{
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 4px 32px;
  background: #fff;
  border-top: 2px solid var(--c-black1);
  border-bottom: 2px solid var(--c-black1);
}
/* table */
#main .c-table__wrapper{
  margin-top: 24px;
}
#main .c-table{
  border-collapse: collapse;
  width: 100%;
}
#main .c-table th{
  padding: 18px 24px;
  font-size: 16px;
  vertical-align: middle;
}
#main .c-table td{
  background: #fff;
  padding: 18px 24px;
  border: 1px solid #e5e5e5;
  font-size: 18px;
  vertical-align: middle;
}
#main .c-table td ul li{
  margin-top: 4px;
}
#main .c-table td ul li:first-child{
  margin-top: 0;
}

/* ac */
#main .c-ac {
  margin-bottom: 0;
}
#main .c-ac__q {
  padding: 16px 64px;
  border-bottom: 1px solid #fff;
  background: #fff;
  cursor: pointer;
  border: 1px solid #f1f1f1;
  position: relative;
  font-size: 18px;
  font-weight: 400;
}
#main .c-ac__q::before {
  content: "Q.";
  font-size: 18px;
  font-weight: 500;
  color: var(--c-black1);
  margin-right: 8px;
  position: absolute;
  top: 14px;
  left: 32px;
}
#main .c-ac__q::after{
  content: "";
  background: url(/sites/default/files/media/campaign/common/image/lp_campaign_common_ic_plus.webp);
  background-repeat: no-repeat;
  background-size: contain;
  width: 16px;
  height: 16px;
  position: absolute;
  right: 32px;
  top: 21px;
}
#main .c-ac__q.open::after{
  background: url(/sites/default/files/media/campaign/common/image/lp_campaign_common_ic_minus.webp);
  width: 16px;
  height: 2px;
  right: 32px;
  top: 27px;
}
#main .c-ac__a {
  display: none;
  padding: 16px 64px;
  background-color: #f7f7f7;
  margin-left: 0;
  position: relative;
  margin-bottom: 0;
  font-size: 18px;
}
#main .c-ac__a::before {
  content: "A.";
  font-size: 20px;
  font-weight: 500;
  color: var(--c-red);
  margin-right: 8px;
  position: absolute;
  top: 14px;
  left: 34px;
}
#main .c-link--white{
  color: #fff;
}
#main .c-link--white:hover{
  color: #fff;
  text-decoration: none;
}
#main .c-dot{
  padding-left: 1.1em;
  position: relative;
}
#main .c-dot::before{
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
#main .c-ast{
  padding-left: 1.1em;
  position: relative;
  font-size: 14px;
}
#main .c-ast::before{
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}
#main .c-square{
  padding-left: 1.1em;
  position: relative;
}
#main .c-square::before{
  content: "■";
  position: absolute;
  top: 0;
  left: 0;
}
#main .c-num{
  padding-left: 1.1em;
  counter-increment: count;
  position: relative;
}
#main .c-num:nth-child(n + 10){
  padding-left: 2em;
}
#main .c-num::before{
  content: counter(count) ".";
  position: absolute;
  top: 0;
  left: 0;
}
#main .c-num--paren{
  padding-left: 2em;
  counter-increment: count--paren;
  position: relative;
}
#main .c-num--paren:nth-child(n + 10){
  padding-left: 2.5em;
}
#main .c-num--paren::before{
  content: "（" counter(count--paren) "）";
  position: absolute;
  top: 0;
  left: 0;
  margin-left: -10px;
}
#main .c-ast__num{
  padding-left: 2em;
  counter-increment: count;
  position: relative;
  font-size: 14px;
}
#main .c-ast__num:nth-child(n + 10){
  padding-left: 2.5em;
}
#main .c-ast__num::before{
  content: "※" counter(count);
  position: absolute;
  top: 0;
  left: 0;
}
#main .c-example{
  padding-left: 2em;
  counter-increment: count;
  position: relative;
}
#main .c-example::before{
  content: "例）";
  position: absolute;
  top: 0;
  left: 0;
}


@media (max-width: 768px) {
  #main .c-1224, #main .c-1024, #main .c-840{
    padding-left: 24px;
    padding-right: 24px;
  }
  #main .c-title--cp span{
    font-size: 20px;
  }
  #main .c-ast{
    font-size: 12px;
  }  
  #main .c-table th{
    padding: 16px;
    font-size: 12px;
  }
  #main .c-table td{
    font-size: 14px;
    padding: 16px;
  }
  #main .c-ac__q{
    padding: 12px 32px;
    font-size: 14px;
  }
  #main .c-ac__q::before{
    font-size: 14px;
    top: 11px;
    left: 13px;
  }
  #main .c-ac__q::after{
    width: 12px;
    height: 12px;
    right: 18px;
    top: 16px;
  }
  #main .c-ac__q.open::after{
    width: 12px;
    height: 1.5px;
    right: 17px;
    top: 23px;
  }
  #main .c-ac__a{
    padding: 12px 32px;
    font-size: 14px;
  }
  #main .c-ac__a::before{
    font-size: 14px;
    top: 12px;
    left: 15px;
  }
}
@media (max-width: 768px) {
  #main .c-title span{
    text-align: center;
  }
}

/**********************************
 utility
**********************************/
#main .u-pcOnly{
  display: block;
}
#main .u-spOnly{
  display: none;
}
#main .u-fw--bold{
  font-weight: 700;
}
#main .u-color--primary{
  color: var(--c-red);
}
#main .u-fs--small{
  font-size: 14px;
}
#main .u-mt8{
  margin-top: 8px;
}
@media (max-width: 768px) {
  #main .u-pcOnly{
    display: none;
  }
  #main .u-spOnly{
    display: block;
  }
  #main .u-fs--small{
    font-size: 12px;
  }
}


/**********************************
 mv
**********************************/
#main .p-mv{
  background: url(/sites/default/files/media/campaign/register202501/image/lp_register_mv_bg.webp);
  background-repeat: no-repeat;
  background-size: cover;
  height: 400px;
}
#main .p-mv__box{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
  height: 100%;
}
#main .p-mv__left{
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
#main .p-mv__left__title{
  margin-top: 24px;
}
#main .p-mv__left__term{
  margin-top: 16px;
}

@media (max-width: 768px) {
  #main .p-mv{
    background: url(/sites/default/files/media/campaign/register202501/image/lp_register_mv_bg_sp.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    height: 100%;
    padding: 32px 0;
  }
  #main .p-mv__box{
    flex-direction: column;
    height: 100%;
    gap: 16px;
  }
  #main .p-mv__left{
    max-width: 400px;
  }
  #main .p-mv__right{
    max-width: 480px;
  }  
}
@media (max-width: 500px) {

  #main .p-mv__left{
    max-width: 80%;
  }
  
}
/**********************************
 outline
**********************************/
#main .p-outline{
  padding: 80px 0;
}
#main .p-outline__list{
  display: flex;
  justify-content: center;
  gap: 40px;
}
#main .p-outline__item{
  max-width: 500px;
  width: 100%;
}
#main .p-outline__item__inner{
  box-shadow: 2px 2px 10px rgba(0, 0, 0, .1);
  border-radius: 8px;
  background: #fff;
}
#main .p-outline__item__txt{
  background: var(--c-register--darkyellow);
  color: #fff;
  border-radius: 8px 8px 0 0;
  padding: 16px;
  text-align: center;
}
#main .p-outline__item__img{
  height: 120px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 24px;
}
#main .p-outline__item__img div{
  max-width: 400px;
}
#main .p-outline__more img{
  margin-top: 48px;
}
#main .p-outline__point{
  background: #fff;
  padding: 40px;
  border-radius: 8px;
  box-shadow: 2px 2px 10px rgba(0, 0, 0, .1);
  max-width: 1024px;
  margin: 32px auto 0;
}
#main .p-outline__point__img{
  max-width: 400px;
  margin: auto;
}
#main .p-outline__point__txt{
  margin-top: 16px;
}
@media (max-width: 768px) {
  #main .p-outline__list{
    flex-direction: column;
    gap: 24px;
  }
  #main .p-outline__item{
    max-width: 100%;
  }
  #main .p-outline__item__img{
    height: auto;
    padding: 16px;
  }
  #main .p-outline__item__img div{
    max-width: 400px;
  }
  #main .p-outline__more{
    max-width: 60px;
    margin: auto;
  }  
  #main .p-outline__more img{
    margin-top: 0;
  }
  #main .p-outline__point{
    padding: 32px;
  } 
}

/**********************************
 flow
**********************************/
#main .p-flow{
  padding: 80px 0 0;
}
#main .p-flow__box{
  padding: 40px 0 0;
  background: #fff;
  border-radius: 8px;
  margin-top: 48px;
  box-shadow: 2px 2px 10px rgba(0, 0, 0, .1);
  position: relative;
}
#main .p-flow__box::before{
  content: "";
  background: url(/sites/default/files/media/campaign/register202501/image/lp_register_grayarrow.webp);
  background-repeat: no-repeat;
  background-size: contain;
  width: 45px;
  height: 30px;
  position: absolute;
  bottom: -64px;
  left: 0;
  right: 0;
  margin: auto;
}
#main .p-flow__txt{
  font-size: 20px;
  text-align: center;
  position: relative;
}
#main .p-flow__top{
  display: flex;
  justify-content: center;
  gap: 40px;
  margin-top: 32px;
  padding: 0 40px 40px;
}
#main .p-flow__top__img{
  max-width: 560px;
}
#main .p-flow__register{
  border-radius: 8px;
  background: #fff;
}
#main .p-flow__register__title{
  background: var(--c-register--darkyellow);
  color: #fff;
  border-radius: 8px 8px 0 0;
  padding: 16px;
  text-align: center;
}
#main .p-flow__register__inner{
  padding: 24px;
  border: 2px solid var(--c-register--darkyellow);
  display: flex;
  align-items: center;
  flex-direction: column;
  border-radius: 0 0 8px 8px;
}
#main .p-flow__register__img{
  max-width: 400px;
  margin: auto;
}
#main .p-flow__register__btn{
  margin-top: 8px;
}
#main .p-flow__bottom{
  background: var(--c-register--lightyellow);
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 40px;
  border-radius: 0 0 8px 8px;
  gap: 34px;
}
#main .p-flow__bottom__img{
  max-width: 100px;
}
#main .p-flow__bottom__txt p{
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
}
#main .p-flow__bnr{
  margin-top: 88px;
}
#main .p-flow__order{
  margin-top: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
}
#main .p-flow__order__img{
  max-width: 560px;
}

@media (max-width: 768px) {
  #main .p-flow__txt{
    font-size: 16px;
    padding: 0 24px;
  }
  #main .p-flow__top{
    flex-direction: column;
    padding: 0 24px 40px;
  }
  #main .p-flow__top__img{
    max-width: 100%;
  }
  #main .p-flow__bottom{
    flex-direction: column;
    gap: 24px;
    padding: 40px 24px;
  }
  #main .p-flow__bottom__img{
    max-width: 64px;
  }
  #main .p-flow__bottom__txt p{
    font-size: 14px;
  }
  #main .p-flow__order{
    flex-direction: column-reverse;
    gap: 24px;
  }
  #main .p-flow__order__img{
    max-width: 100%;
  }
}


/**********************************
 video
**********************************/
#main .p-video{
  padding: 96px 0;
  margin-top: 80px;
  position: relative;
}
#main .p-video::before{
  content: "";
  background: url(/sites/default/files/media/campaign/register202501/image/lp_register_video_decoration.webp);
  background-repeat: repeat-x;
  background-size: contain;
  width: 100%;
  min-height: 32px;
  display: block;
  position: absolute;
  top: 0;
}
#main .p-video::after{
  content: "";
  background: url(/sites/default/files/media/campaign/register202501/image/lp_register_video_decoration.webp);
  background-repeat: repeat-x;
  background-size: contain;
  width: 100%;
  min-height: 32px;
  display: block;
  position: absolute;
  bottom: 0;
}
#main .p-video__inner{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
}
#main .p-video__title{
  display: flex;
  align-items: center;
  flex-direction: column;
  text-align: center;
  gap: 8px;
}
#main .p-video__ic{
  max-width: 60px;
}
#main .p-video__iframe{
  width: 50%;
  height: auto;
  aspect-ratio: 16 / 9;
}
 @media (max-width: 768px) {
  #main .p-video{
    padding: 64px 0;
  }
  #main .p-video::before,
  #main .p-video::after{
    min-height: 24px;
  }
  #main .p-video__inner{
    gap: 24px;
    flex-direction: column;
  }
  #main .p-video__iframe{
    width: 100%;
  }  
}

/**********************************
 service
**********************************/
#main .p-service{
  padding-top: 80px;
}
#main .p-service__txt{
  margin-top: 48px;
}
#main .p-service__table {
  margin-top: 32px;
}
#main .p-service__table .c-table th {
  background: var(--c-register--darkyellow);
  color: #fff;
  border: 1px solid #e5e5e5;
  text-align: center;
  font-size: 16px;
  padding: 12px 16px;
}
#main .p-service__table .c-table td {
  background: #fff;
  border: 1px solid #e5e5e5;
  text-align: center;
  font-size: 16px;
  padding: 12px 16px;
}

@media (max-width: 768px) {
  #main .p-service__table {
    overflow: auto;
  }
}

/**********************************
 cta
**********************************/
#main .p-cta{
  padding-top: 80px;
}
#main .p-cta__box{
  background: url(/sites/default/files/media/campaign/register202501/image/lp_register_cta_bg.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
  min-height: 266px;
}
#main .p-cta__left{
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 8px;
  margin-top: -8px;
}
#main .p-cta__left__txt{
  text-align: center;
}
#main .p-cta__left__img{
  max-width: 410px;
}
#main .p-cta__right{
  display: flex;
  align-items: center;
  flex-direction: column;
}
@media (max-width: 768px) {
  #main .p-cta__box{
    background: none;
    padding: 64px 24px;
    background: var(--c-register--lightyellow);
    flex-direction: column;
    gap: 24px;
    position: relative;
  }
  #main .p-cta__box::before{
    content: "";
    background: url(/sites/default/files/media/campaign/register202501/image/lp_register_cta_bg_sp.webp);
    background-repeat: repeat-x;
    background-size: contain;
    width: 100%;
    min-height: 16px;
    display: block;
    position: absolute;
    top: 0;
  }
  #main .p-cta__box::after{
    content: "";
    background: url(/sites/default/files/media/campaign/register202501/image/lp_register_cta_bg_sp.webp);
    background-repeat: repeat-x;
    background-size: contain;
    width: 100%;
    min-height: 16px;
    display: block;
    position: absolute;
    bottom: 0;
  }
  
}

/**********************************
 use
**********************************/
#main .p-use {
  padding-top: 80px;
}
#main .p-use__txt {
  margin-top: 40px;
  text-align: center;
}
#main .p-use__box {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
  margin-top: 32px;
}
#main .p-use__img {
  max-width: 400px;
}
#main .p-use__btn {
  margin-top: 32px;
  text-align: center;
}

@media (max-width: 768px) {
  #main .p-use__box {
    flex-direction: column;
    gap: 24px;
  }
  #main .p-use__img {
    max-width: 100%;
  }
}

/**********************************
 info
**********************************/
#main .p-info {
  padding-top: 80px;
}
#main .p-info__table {
  margin-top: 48px;
}
#main .p-info__table .c-table th {
  background: var(--c-register--darkyellow);
  color: #fff;
  border: 1px solid #e5e5e5;
  text-align: center;
  font-size: 16px;
}
#main .p-info__table .c-table td {
  background: #fff;
  border: 1px solid #e5e5e5;
  font-size: 16px;
}

@media (max-width: 768px) {
  #main .p-info__table{
    margin-top: 32px;
  }
  #main .p-info__table .c-table th {
    font-size: 14px;
  }
  #main .p-info__table .c-table td {
    font-size: 14px;
  }  
}

/**********************************
 faq
**********************************/
#main .p-faq {
  padding: 80px 0;
}
#main .p-faq__table {
  margin-top: 48px;
}

@media (max-width: 768px) {
  #main .p-faq__table{
    margin-top: 32px;
  }
}