/* 見出しの飾り枠 */
.midashi1 {
  position: relative;
  padding: 1rem 2rem calc(1rem + 10px);
  background: #8DB1E2;
  color: #FFFFFF;
  font-weight: bold;
  text-align: center;
}
.midashi1:before {
  position: absolute;
  top: -7px;
  left: -7px;
  width: 100%;
  height: 100%;
  content: '';
  border: 4px solid #1459C7;
}
.midashi2 {
  position: relative;
  padding: 1rem 2rem calc(1rem + 10px);
  background: #EAB164;
  color: #FFFFFF;
  font-weight: bold;
  text-align: center;
}
.midashi2:before {
  position: absolute;
  top: -7px;
  left: -7px;
  width: 100%;
  height: 100%;
  content: '';
  border: 4px solid #E27203;
}
.midashi3 {
  position: relative;
  padding: 1rem 2rem calc(1rem + 10px);
  background: #98D9A5;
  color: #FFFFFF;
  font-weight: bold;
  text-align: center;
}
.midashi3:before {
  position: absolute;
  top: -7px;
  left: -7px;
  width: 100%;
  height: 100%;
  content: '';
  border: 4px solid #33A837;
}
.midashi4 {
  position: relative;
  padding: 1rem 2rem calc(1rem + 10px);
  background: #98A9D9;
  color: #FFFFFF;
  font-weight: bold;
  text-align: center;
}
.midashi4:before {
  position: absolute;
  top: -7px;
  left: -7px;
  width: 100%;
  height: 100%;
  content: '';
  border: 4px solid #806ABA;
}
.midashi5 {
  position: relative;
  padding: 1rem 2rem calc(1rem + 10px);
  background: #F2A0C6;
  color: #FFFFFF;
  font-weight: bold;
  text-align: center;
}
.midashi5:before {
  position: absolute;
  top: -7px;
  left: -7px;
  width: 100%;
  height: 100%;
  content: '';
  border: 4px solid #BA6A92;
}
.midashi6 {
  position: relative;
  padding: 1rem 2rem calc(1rem + 10px);
  background: #EBAB89;
  color: #FFFFFF;
  font-weight: bold;
  text-align: center;
}
.midashi6:before {
  position: absolute;
  top: -7px;
  left: -7px;
  width: 100%;
  height: 100%;
  content: '';
  border: 4px solid #BA896A;
}
.midashi7 {
  position: relative;
  padding: 1rem 2rem calc(1rem + 10px);
  background: #89B2EB;
  color: #FFFFFF;
  font-weight: bold;
  text-align: center;
}
.midashi7:before {
  position: absolute;
  top: -7px;
  left: -7px;
  width: 100%;
  height: 100%;
  content: '';
  border: 4px solid #6A80BA;
}
/* 重なり */
.overlapping-boxes {
  position: relative;
}
.box-1, .box-2 {
  position: absolute;
  border: 1px solid #ccc;
  border-radius: 5px;
  background-color: #f9f9f9;
}
.box-1 {
  top: 0;
  left: 0px;
  z-index: 1;
  background-color: #FFFFFF;
  border: 2px solid #1459C7;
  border-radius: 20px;
  color: #707070;
  font-size: 1.25rem;
  text-align: justify;
}
.box-2 {
  top: -0.75em;
  left: 0px;
  z-index: 2;
  background-color: #FFFFFF;
  border: 4px solid #1459C7;
  border-radius: 20px;
  font-weight: bold;
  color: #723E11;
  box-shadow: 5px 5px rgb(0, 0, 0, 0.2);
  font-size: 1.25rem;
  text-align: justify;
}
.box-3 {
  top: 0;
  left: 0px;
  z-index: 2;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 20px;
  color: #707070;
  font-size: 1.25rem;
  box-shadow: 5px 5px 5px rgb(0, 0, 0, 0.2);
  line-height: 2rem;
  text-align: justify;
  margin-bottom: -8em;
}
.box-4 {
  left: 0px;
  z-index: 1;
  background-color: #FFFFFF;
  border-radius: 100px;
}
.box-5 {
  top: 0;
  left: 0px;
  z-index: 2;
  background-color: rgba(240, 240, 55, 0.8);
  border-radius: 20px;
  box-shadow: 5px 5px 5px rgb(0, 0, 0, 0.2);
}
.box-6 {
  left: 0px;
  z-index: 1;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 20px;
  top: -2rem;
}
.box-7 {
  left: 0px;
  z-index: 3;
  top: -5rem;
  margin-bottom: -5rem;
}
.box-7-2 {
  left: 0px;
  z-index: 3;
  top: -10rem;
  margin-bottom: -10rem;
}
.box-8 {
  left: 0px;
  z-index: 3;
  top: -5rem;
  margin-bottom: -5rem;
}
.box-8-2 {
  left: 0px;
  z-index: 3;
}

/* レスポンシブ改行 */
p span {
  display: inline-block;
}
h2 span {
  display: inline-block;
}
div span {
  display: inline-block;
}
label span {
  display: inline-block;
}
/* 背景 */
.main-image {
  width: 100%;
  height: 0;
  padding-bottom: 56.25%; /* 16:9 アスペクト比 */
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url(../images/backtop.svg);
}
.main-image-contact {
  width: 100%;
  height: 0;
  padding-bottom: 12.5%; /* 32:9 アスペクト比 */
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url(../images/contact_back.svg);
}
.back1 {
  background-image: url(../images/back1.jpg);
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
}
.back2 {
  background-image: url(../images/back2.jpg);
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
}
.back3 {
  background-image: url(../images/back3.jpg);
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
}
.back4 {
  background-image: url(../images/back4.jpg);
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
}
.back5 {
  background-image: url(../images/back5.jpg);
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
}
.back6 {
  background-image: url(../images/back6.jpg);
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
}
.back7 {
  background-image: url(../images/back7.jpg);
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
}

/* 罫線 */
hr.line2 {
  border: none;
  border-top: 1px dashed #999;
}
/* 文字スタイル */
.tokucho {
  font-weight: bold;
  font-size: x-large;
  color: #E27203;
}
/* TOPアニメ */
.wrapper {
  animation: floating-x 7.2s ease-in-out infinite alternate-reverse;
}
.target {
  animation: floating-y 1.8s ease-in-out infinite alternate-reverse;
}
@keyframes floating-x {
  0% {
    transform: translateX(-10%);
  }
  100% {
    transform: translateX(10%);
  }
}
@keyframes floating-y {
  0% {
    transform: translateY(-3%);
  }
  100% {
    transform: translateY(3%);
  }
}
/* こんなお悩みを解決 */
.onayami1 {
  background-color: #FFFFFF;
  border: 4px solid #1459C7;
  border-radius: 20px;
  box-shadow: 5px 5px rgb(0, 0, 0, 0.2);
}
.onayami2 {
  background-color: #1459C7;
  font-size: xx-large;
  color: #FFFFFF;
  font-weight: bold;
  text-align: center;
  position: relative;
  box-shadow: 0px 0px 0px 5px #1459C7;
  border: dashed 2px white;
  padding: 0.2em 0.5em;
}
.onayami3 {
  background-color: #6D8FEA;
  font-size: x-large;
  color: #FFFFFF;
  font-weight: bold;
  text-align: center;
  position: relative;
  box-shadow: 0px 0px 0px 5px #6D8FEA;
  border: dashed 2px white;
  padding: 0.2em 0.5em;
}
.onayami4 {
  width: 100%;
  height: auto;
}
/* 選べる入稿タイプ */
.nyukotype1 {
  font-size: x-large;
  color: #FFFFFF;
  background-color: #0EB56F;
}
.nyukotype1-2 {
  font-size: x-large;
  color: #FFFFFF;
  background-color: #E27203;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
}
.nyukotype1-3 {
  font-size: x-large;
  color: #FFFFFF;
  background-color: #E27203;
  border-radius: 20px;
}
.nyukotype2 {
  background-color: #FFFFFF;
  color: #707070;
  font-weight: bold;
  font-size: 1.25rem;
  text-align: justify;
}
.nyukotype2-2 {
  text-indent: -1em;
  padding-left: 1em;
}
.nyukotype2-3 {
  background-color: #FFFFFF;
  font-weight: bold;
  font-size: 1.25rem;
  text-align: justify;
  border: 3px solid #E27203;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
}
.nyukotype3 {
  width: 100%;
  height: auto;
  border-radius: 100%;
  -webkit-box-shadow: 3px 3px 6px 0px #A3A3A3;
  box-shadow: 3px 3px 6px 0px #A3A3A3;
}
.nyukotype3-2 {
  width: 100%;
  height: auto;
}
/* アルバム作成の流れ */
.step1 {
  font-size: x-large;
  font-weight: bold;
  text-align: center;
}
.step2 {
  font-size: 1.25rem;
  font-weight: bold;
  text-align: center;
}
.step2-3 {
  font-size: 1.25rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.5rem;
}
.step2-2 {
  font-size: 1.25rem;
  font-weight: bold;
  text-align: center;
  background-color: #FF0000;
  color: #FFFFFF;
  border-radius: 10px;
}
.step3 {
  width: 100%;
  height: auto;
}
/* よくあるご質問 */
.shitsumon1 {
  font-size: x-large;
  color: #FFFFFF;
  background-color: #E28DB2;
  font-weight: bold;
  border: 1px solid #707070;
  text-align: center;
}
.shitsumon2 {
  font-size: 1.25rem;
  color: #707070;
  background-color: #FFFFFF;
  font-weight: bold;
  border: 1px solid #707070;
}
/* 運営会社 */
.company1 {
  color: #707070;
  font-weight: bold;
}
.company2 {
  width: 100%;
  height: auto;
  border-radius: 20px;
  box-shadow: 5px 5px 5px rgb(0, 0, 0, 0.2);
}
.company3 {
  background-color: #FFFFFF;
}
/* 問い合わせフォームバナー */
.contact_banner1 {
  font-size: x-large;
  color: #FFFFFF;
  font-weight: bold;
  text-align: center;
  background-color: #003A89;
  -webkit-box-shadow: 5px 5px 5px rgb(0, 0, 0, 0.3);
  box-shadow: 5px 5px 5px rgb(0, 0, 0, 0.3);
}
.contact_banner2 {
  font-size: 1.25rem;
  color: #FFFFFF;
  font-weight: bold;
  text-align: center;
}
/* 矢印 */
.yazirusi {
  display: flex;
}
.yazirusi::after {
  content: '';
  width: 100%;
  height: 15px;
  border-bottom: solid 1px;
  border-right: solid 1px;
  transform: skew(45deg);
}
/* スマホ表示時の調整 */
@media (max-width: 767px) {
  .box-3 {
    margin-bottom: -2em; /* スマホ表示時に重なりを少なくする */
  }
  .box-6 {
    top: -1rem;
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .box-7 {
    top: 0rem;
    margin-bottom: 0rem;
  }
  .box-7-2 {
    top: 0rem;
    margin-bottom: 0rem;
  }
  .box-8 {
    top: 0rem;
    margin-bottom: 0rem;
  }
	.main-image-contact {
 height: auto; /* 高さを自動に */
    padding-bottom: 25%; /* パディングを無効に */
		    background-size: cover; /* 画像が全体にフィットするようにカバー */
    background-position: center center; /* 中央に配置 */
}
}
/* スマホ表示時の調整 */
@media (max-width: 991px) {
  .main-image {
    height: auto; /* 高さを自動に */
    padding-bottom: 0; /* パディングを無効に */
    background-image: url(../images/backtop2.svg);
    background-size: cover; /* 画像が全体にフィットするようにカバー */
    background-position: center center; /* 中央に配置 */
  }
	
  .topparts2 {
    top: -4em;
  }
  .topparts1 {
    content: url(../images/topparts1-2.svg); /* ここで画像を変更 */
    margin-top: 2em;
  }
  .nyukotype1 {
    text-align: center;
  }
  .nyukotype1-2 {
    text-align: center;
  }
  .nyukotype3 {
    margin-top: 1em;
  }
  .nyukotype3-2 {
    margin-top: 1em;
  }
}