@charset "UTF-8";

/* ------------------------
    base contents
------------------------- */

html {
  font-family: Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: .05em;
  font-feature-settings: "palt";
  -webkit-font-feature-settings: "palt";
  color: #3e3e3e;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  word-break: break-all;
}

@media screen and (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

img {
  max-width: 100%;
  width: 100%;
  height: auto;
}

/* ----pc,sp/on_off---- */
.pc {
  display: none;
}

.sp {
  display: block;
}

@media screen and (min-width: 768px){
  .pc {
    display: block;
  }

  .sp {
    display: none;
  }
}

/* ----inner---- */
.inner,
.inner-S {
  max-width: 1024px;
  margin: 0 auto;
  width: calc(100% - 2rem);
}

.inner {
  padding: 72px 0;
}

.inner-S,
.e-text_inner {
  max-width: 900px;
}

.e-text_inner {
  margin: 0 auto;
}

.offset {
  padding: 20px 0;
}

.offset-1 {
  padding: 20px;
}

@media screen and (min-width: 768px){
  .inner {
    padding: 104px 0;
  }

  .offset {
    padding: 40px 0 ;
  }

  .offset-1 {
    padding: 40px;
  }
}

.split-line {
  border-bottom: 1px solid;
}

/* ----contents-margin-bottoms---- */
.group-S > * {
  margin-bottom: .75rem;
}

.group-M > * {
  margin-bottom: 1rem;
}

.group-L > * {
  margin-bottom: 1.25rem;
}

.group-S > *:last-child,
.group-M > *:last-child,
.group-L > *:last-child {
  margin-bottom: 0;
}

/* ----contents-text-align---- */
.ta-C {
  text-align: center;
}

.ta-R {
  text-align: right;
}

.ta-L {
  text-align: center;
}

/* ----margin-bottoms---- */
.mb-S {
  margin-bottom: 1rem;
}

.mb-M {
  margin-bottom: 2rem;
}

.mb-L {
  margin-bottom: 3rem;
}

/* ----padding-bottoms---- */
.pb-S {
  padding-bottom: 1rem;
}

.pb-M {
  padding-bottom: 2rem;
}

.pb-L {
  padding-bottom: 3rem;
}

/* ----margin-tops---- */
.mt-S {
  margin-top: 1rem;
}

.mt-M {
  margin-top: 2rem;
}

.mt-L {
  margin-top: 3rem;
}

/* ----color---- */
.color-1 {
 color: #e8447e;
}

.color-2 {
 color: #fff;
}

.color-3 {
 color: #3e3e3e;
}

/* ----bg-color---- */
.bg-c_1 {
  background-color: #e8447e;
}

.bg-c_2 {
  background-color: #fff;
}

.bg-c_3 {
  background-color: #eaeaea;
}

.bg-c_4 {
  background-color: #F7E3EA;
}

/* ---- display ---- */
.display-block {
  display: block;
}
.display-none {
  display: none;
}

/* ------------------------
    header contents
------------------------- */
.l-header {
  position: fixed;
  width: 100vw;
  padding: 8px;
  z-index: 9;
  background-color: #fff;
  box-shadow: 4px 4px 4px rgb(0 0 0 / 10%);
}

.l-header_wrapper {
  padding: 0;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.l-header-login {
  padding: 8px;
  z-index: 9;
  background-color: #fff;
  box-shadow: 4px 4px 4px rgb(0 0 0 / 10%);
}

.l-header-login_wrapper {
  padding: 8px 0;
  display: block;
}

.l-header_logo {
  width: 128px;
}

.l-header-login_name {
  padding-right: 1rem;
}

.l-header_btn {
  margin: 0;
  max-width: 128px;
  width: 100%;
}

.l-header_btn .btn {
  padding: 8px;
}

.l-main-V{
  padding-top: 56px;
}

@media screen and (min-width:768px){
  .l-header_logo {
    width: 160px;
  }

  .l-header-login_name {
    padding-right: 2rem;
  }

  .l-main-V{
    padding-top: 63px;
  }
}

/* ------------------------
    footer contents
------------------------- */
.l-footer {
  background-color: #f5f5f5;
}

.l-footer_wrapper {
  padding: 40px 0;
  text-align: center;
}

.l-footer-logo {
  width: 60%;
  margin: 0 auto 1rem;
}

.l-footer-nav {
  display: flex;
  justify-content: space-around;
  flex-flow: row wrap;
}

.l-footer-nav > * {
  flex-basis: calc(100% / 3);
  margin-bottom: .8rem;
}

.l-footer-nav > *:nth-child(n+4) {
  flex-basis: calc(100% / 2);
}

@media screen and (min-width:768px){
  .l-footer-logo {
    width: 36%;
  }
  .l-footer-nav > *,
  .l-footer-nav > *:nth-child(n+4) {
    flex-basis: calc(100% / 5);
    margin-bottom: 0;
  }
}


/* ------------------------
    common contents
------------------------- */
/* ----headline---- */
.head-line {
  font-size: 1.5rem;
  letter-spacing: .1em;
  text-align: center;
  margin-bottom: 3rem;
  font-weight: 900;
}

.head-sub {
  font-size: 1.1rem;
  text-align: center;
  margin-bottom: 3rem;
}

/* ----title---- */
.ttl-S,
.ttl-M,
.ttl-L {
  line-height: 1.5;
  letter-spacing: .1em;
}

.ttl-S {
  font-size: 1.1rem;
}

.ttl-M {
  font-size: 1.3rem;
}

.ttl-L {
  font-size: 1.5rem;
}

/* ----text---- */
.txt-S,
.txt-M,
.txt-L {
  line-height: 1.5;
}

.txt-S {
  font-size: .85rem;
}

.txt-M {
  font-size: .9rem;
}

.txt-L {
  font-size: 1rem;
}

/* ----text-style---- */
.bold {
  font-weight: 900;
}

.under {
  text-decoration: underline;
  text-underline-offset: 2px;
}

.txt-bg-1 {
  background-color: #3e3e3e;
  padding: .75rem;
}

.txt-bg-2 {
  background-color: #fff;
  padding: .75rem;
}

.balloon1 {
  position: relative;
  padding: 1.5rem 2.5rem;
  background: #eaeaea;
  border-radius: 64px;
}

.balloon1:before {
  content: "";
  position: absolute;
  left: 56%;
  right: 0;
  width: 20px;
  height: 20px;
  bottom: 0;
  margin-bottom: -32px;
  background: #eaeaea;
  border-radius: 50%;
}

.balloon1:after {
  content: "";
  position: absolute;
  left: 60%;
  right: 0;
  width: 40px;
  height: 40px;
  bottom: 0;
  margin-bottom: -20px;
  background: #eaeaea;
  border-radius: 50%;
}

/* ----icon---- */
.arrow_right{
  position: relative;
  font-size: .9rem;
}

.arrow_right:after {
  position: absolute;
  content: "";
  top: 50%;
  margin-top: -3px;
  right: 1em;
  width: .5em;
  height: .5em;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
}

.arrow_left{
  position: relative;
}

.arrow_left:before {
  position: absolute;
  content: "";
  top: 50%;
  margin-top: -5px;
  left: -16px;
  width: 10px;
  height: 10px;
  border-right: 1px solid;
  border-top: 1px solid;
  transform: rotate(45deg);
}

.arrow_down{
  position: relative;
  font-size: .9rem;
}

.arrow_down:after {
  position: absolute;
  content: "";
  top: 50%;
  margin-top: -4px;
  right: 1.5em;
  width: .5em;
  height: .5em;
  border-left: 2px solid;
  border-bottom: 2px solid;
  transform: rotate(-45deg);
}

@media screen and (min-width:768px) {
  .arrow_right,
  .arrow_down {
    font-size: 1rem;
  }
}

.check-list > * {
  position: relative;
  padding-left: 1.5rem;
}

.check-list > *::before {
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -3px;
  left: -2px;
  display: block;
  width: 2px;
  height: 10px;
  border-radius: 45px;
  background-color: #e8447e;
  transform: rotate(-45deg);
}

.check-list > *::after {
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -8px;
  left: 6px;
  display: block;
  width: 2px;
  height: 16px;
  border-radius: 45px;
  background-color: #e8447e;
  transform: rotate(45deg);
}

/* ----number-counter---- */
.counter,
.counter-1,
.counter-2 {
  counter-reset: num;
  position: relative;
}

.counter > *::after  {
  counter-increment: num;
  content: counter(num);
}

.number-1::after {
  counter-increment: num;
  content: counter(num) " ";
  font-size: 1.5rem;
}

.counter-2_list{
  max-width: 400px;
  margin: 0 auto;
}

.counter-2 > * {
  padding-left: 3rem;
  display: flex;
  align-items: center;
  line-height: 1.5em;
}

.counter-2 > *::before {
  position:absolute;
  counter-increment: num;
  content: counter(num);
  left: 0;
  letter-spacing: 0;
  color: #e8447e;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 2em;
  width: 2em;
  border: 2px solid;
  border-radius: 50%;
}

/* ----button---- */
.btn,
.btn-L {
  display: inline-block;
  max-width: 320px;
  width: 100%;
  margin: 0 auto;
  padding: 1em 0;
  transition: all .3s;
}

.btn-L {
  max-width: 360px;
}

/* -button-bg- */
.btn-1 {
  background-color: #e8447e;
  border: 1px solid #e8447e;
  color: #fff;
  text-align: center;
  letter-spacing: .1em;
}

.btn-1:hover {
  background-color: inherit;
  background-color: #fff;
  color: #e8447e;
}

.btn-1:hover::after {
  border-color: #e8447e;
}

.btn-2 {
  background-color: #3e3e3e;
  border: 1px solid #3e3e3e;
  color: #fff;
  text-align: center;
  letter-spacing: .1em;
}

.btn-2:hover {
  background-color: inherit;
  color: #3e3e3e;
}

/* -button-border- */
.btn-3 {
  border: 1px solid #e8447e;
  color: #e8447e;
  text-align: center;
  background: white;
}

.btn-3:hover {
  background-color: #e8447e;
  color: #fff;
}

/* -button-underline- */
.btn-under {
  text-decoration: underline;
  text-underline-offset: 4px;
  position: relative;
}

.btn-under.arrow_left {
  padding-left: 1rem;
}

.btn-under.arrow_left::before {
  left: 0;
  transform: rotate(225deg);
}

/* -button-banner- */
.btn-bnr {
  display: block;
  transition: all .3s;
}

.btn-bnr:hover {
  opacity: .6;
}

/* -button-loding- */
.btn-loding {
  background: #fff;
  pointer-events: none;
}


/* ----border---- */
.border {
  border: 1px solid;
}

.border-box-S {
  border: 1px solid ;
  padding: .5rem;
}

.border-box {
  border: 1px solid ;
  padding: 3rem;
}

@media screen and (min-width:768px){
  .border-box {
    padding: 3rem 6rem;
  }
}


/* ----flexbox---- */
.fl,
.col_2,
.col_3,
.col_2_3,
.col_2_4,
.col_3_5 {
  display: flex;
  justify-content: space-between;
  flex-flow: row wrap;
}

.col_1,
.col_1_2 {
  display: block;
}

.col_1 > * {
  display: block;
  width: 100%;
}

.col_1_2 > * {
  flex-basis: 100%;
  margin-bottom: 1rem;
}

.col_right > *:last-child {
  flex-basis: calc(75% - .9rem);
}

.col_3 > * {
  flex-basis: calc(100% / 3 - .8rem);
}

.col_2_3 > *,
.col_2_4 > * {
  flex-basis: calc(100% / 2 - .5rem);
  margin-bottom: 1rem;
}

.col_3_5 > * {
  flex-basis: calc(100% / 3 - .8rem);
  margin-bottom: 1rem;
}

@media screen and (min-width: 768px){
  .col_1_2{
    display: flex;
    justify-content: space-between;
  }

  .col_1_2 > * {
    flex-basis: calc(100% / 2 - .8rem);
    margin-bottom: 0;
  }

  .col_right > *:last-child {
    flex-basis: calc(80% - .9rem);
  }

  .col_2_3 > * {
    flex-basis: calc(100% / 3 - 2rem);
    margin-bottom: 0;
  }

  .col_2_4 > * {
    flex-basis: calc(100% / 4 - 1.5rem);
    margin-bottom: 0;
  }

  .col_3_5 > * {
    flex-basis: calc(100% / 5 - .5rem);
    margin-bottom: 0;
  }
}

.jf_fs {
  justify-content: flex-start;
}

.jf_c {
  justify-content: center;
}

.jf_e {
  justify-content: space-evenly;
}

.item-c {
  align-items: center;
}

/* ----grid-layout---- */
.grid,
.grid_1_2,
.grid_3,
.grid_2_4 {
  display: grid;
}

.grid_1_2 {
  grid-template-columns: 1fr;
  grid-gap: 2rem;
}

.grid_2_4 {
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: 1fr;
  grid-gap: 1rem;
}

.grid_3 {
  grid-template-columns: repeat(3, 1fr);
}

.grid_col_1_3{
  grid-column: 1/3;
}

@media screen and (min-width:768px) {
  .grid_1_2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .grid_2_4 {
    grid-template-columns: repeat(4, 1fr);
  }
}


/* ------------------------
    page contents
------------------------- */
/* ----search---- */
.search-box,
.search-box_list {
  padding: .5em;
  font-size: 16px;
}

.search-box {
  width: 8rem;
  font-size: .9rem;
  margin: auto 0;
}

.search-box_list {
  width: 12rem;
  border: 1px solid;
  background-color: #fff;
}

select.search-box_list {
  transform: scale(0.9);
  vertical-align: baseline;
}

.e-select .search-box_list {
  width: 100%;
}

/* ----scroll-effect---- */
.scroll-effect {
  opacity: 0;
  transition: all .8s ease;
}

.scroll-effect.show {
  opacity: 1;
  transform: none;
}

.se-up {
  transform: translate(0, 10px);
}

.se-up1 {
  transition: all .9s ease;
  transform: translate(0, 20px);
}

.se-up2 {
  transition: all 1s ease;
  transform: translate(0, 30px);
}

.se-up3 {
  transition: all 1.1s ease;
  transform: translate(0, 40px);
}

.se-up4 {
  transition: all 1.2s ease;
  transform: translate(0, 50px);
}

/* ----scroll-content-fixed---- */
.fixed_block{
  position: relative;
  height: 188px;
}

.follow.fixed,
.follow.fixed2 {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 100;
}

@media(min-width:768px) {
  .fixed_block{
    height: 296px;
  }
}

/* 2021/11/15 追加 */
@media (orientation: landscape) and (max-width: 1300px){
  .fixed_block {
    height: 248px;
  }
}

/* ----content-img-fit---- */
.fit-img {
  position: relative;
}

.fit-img::before {
  padding-top: 100%;
  display: block;
  content: '';
}

.fit-img img {
  position: absolute;
  object-fit: contain;
  top: 0;
  width: 100%;
  height: 100%;
}

/* ----content-completion-img---- */
@media screen and (min-width:768px){
  .completion-img{
    width: 50%;
    margin: auto;
  }
}


/* ------------------------
    edit contents
------------------------- */

/* 指定フォント ここから */
/* --GreatVibes-font-- */
@font-face {
  font-family: "GreatVibes";
  src: url('/storage/font/GreatVibes-Regular.woff') format('woff'),
  url('/storage/font/GreatVibes-Regular.ttf') format('truetype');
  font-display: swap;
}

/* --DancingScrip-font-- */

@font-face {
  font-family: "DancingScript";
  src: url('/storage/font/DancingScript-Regular.woff') format('woff'),
  url('/storage/font/DancingScript-Regular.ttf') format('truetype');
  font-weight: 400;
  font-display: swap;
}

/* --NotoSerifJP-font-- */
@font-face {
  font-family: "NotoSerifJP";
  src: url('/storage/font/NotoSerifJP-Medium.woff') format('woff'),
  url('/storage/font/NotoSerifJP-Medium.otf') format('opentype');
  font-weight: 400;
  font-display: swap;
}

/* --MPLUSRounded1c-font-- */
@font-face {
  font-family: "MPLUSRounded1cRegular";
  src: url('/storage/font/MPLUSRounded1c-Regular.woff') format('woff'),
  url('/storage/font/MPLUSRounded1c-Regular.ttf') format('truetype');
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "MPLUSRounded1cMedium";
  src: url('/storage/font/MPLUSRounded1c-Medium.woff') format('woff'),
  url('/storage/font/MPLUSRounded1c-Medium.ttf') format('truetype');
  font-weight: 500;
  font-display: swap;
}

/* --NotoSansJP-font-- */
@font-face {
  font-family: "NotoSansJP";
  src: url('/storage/font/NotoSansJP-Regular.woff') format('woff'),
  url('/storage/font/NotoSansJP-Regular.otf') format('truetype');
  font-weight: 400;
  font-display: swap;
}

/* --ReggaeOne-font-- */
@font-face {
  font-family: "ReggaeOne";
  src: url('/storage/font/ReggaeOne-Regular.woff') format('woff'),
  url('/storage/font/ReggaeOne-Regular.ttf') format('truetype');
  font-display: swap;
}
/* 指定フォント ここまで */

.edit-content {
  position: relative;
  max-width: 650px;
  margin: 0 auto 3em;
}

.edit-content textarea{
  font-family: "GreatVibes", "NotoSerifJP";
}

.e-txt {
  position: absolute;
}

.e-txt label {
  background-color: #e8447e;
  padding: .35rem;
  opacity: .8;
  font-size: 12px;
  position: absolute;
  top: calc(-1rem - 0.8rem );
  left: 0;
}

.e-area,
.e-area_txt {
  position: relative;
  width: 100%;
  height: 100%;
  text-align: center;
}

.e-area.display-block {
  border: 2px dotted #e8447e;
}
.e-area.display-none {
  border: 2px dotted rgba(255, 255, 255, 0);
}

.e-detail{
  display: none;
  position: absolute;
  z-index: 2;
  text-align: center;
  width: 3rem;
  height: 3rem;
  right: 0;
  top: 50%;
  margin-top: -1px;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.e-txt label {
  font-size: 50%;
  top: calc(-1rem - 0.4rem);
}

.e-area.active,
.e-text1.active.display-block,
.e-text2.active.display-block,
.e-text3.active.display-block,
.e-text4.active.display-block,
.e-text5.active.display-block {
  display: block;
}

.e-area.tap.active.display-block::after {
  content:"";
  display: block;
  background-image: url(/images/edit-icon.png);
  width: 3rem;
  height: 3rem;
  background-size: cover;
  background-repeat: no-repeat;
  z-index: 1000000;
  position: absolute;
  top: 0;
  right: -40px;
  transform: translate(-50%, -50%);
}

.e-text1,
.e-text2,
.e-text3,
.e-text4,
.e-text5 {
  display: none;
}

@media screen and (max-width:720px){
  .e-area {
    font-size: 16px;
    transform: scale(0.8);
  }
}

/*information内キャンペーンバナーブロック*/

.BlkInformation {
  margin-bottom: 104px;
}
.BlkInformation .BlkUnLink {
display:none;
}
.BlkInformation.scroll-effect{
    display: none;
}

.template-select-wrapper {
  display: flex;
  justify-content: space-between;
  margin-bottom: 50px;
  flex-basis: 100%;
}

.template-select-wrapper .label {
  width: 45%;
  margin-right: 10px;
}

.select-template {
  position: relative;
  width: 190px;
}

.select-template::after {
  content: "";
  position: absolute;
  right: 12px;
  top: 15px;
  width: 9px;
  height: 9px;
  border-top: 2px solid #484848;
  border-left: 2px solid #484848;
  transform: translateY(-50%) rotate(-135deg);
  pointer-events: none;
}

.select-template select {
  width: 190px;
  height: 35px;
  padding: 5px 10px;
  border: 1px solid #BCBCBC;
}

.template-item {
  width: 25%;
  float: left;
  padding: 10px;
}

@media screen and (max-width:720px) {
  .template-item {
      width: 50%;
  }
  .template-select-wrapper {
    max-width: 320px;
    margin-bottom: 20px;
  }
}

.align-center {
  align-items: center;
}

.mb-50 {
  margin-bottom: 50px;
}
