 @charset "utf-8";
 /* CSS Document */
 @import url("https://fonts.googleapis.com/css?family=Roboto:300,500,700");
 @import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap");

 /* ===============================
	base
 =============================== */
 html {
   font-size: 62.5%;
 }

 body {
   font-family: "Roboto", "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック",
     "Yu Gothic", "メイリオ", sans-serif;
   font-size: 1.6rem;
   font-weight: 400;
   line-height: 1.8;
   font-feature-settings: "palt" 1;
   -webkit-text-size-adjust: 100%;
   letter-spacing: 0.1em;
   background-color: #F2F2E1;
 }

 header {}

 .sct-wid {
   max-width: 700px;
   width: 100%;
   margin: 0 auto;
   position: relative;
   padding: 0 50px;
 }

 .btn {
   display: block;
   width: 65%;
   margin: 0 auto;
   box-shadow: 6px 6px 10px 0px rgba(0, 0, 0, 0.4);
   border-radius: 100px;
 }

 img {
   width: 100%;
   margin: 0 auto;
   height: auto;
   object-fit: cover;
 }

 @media screen and (max-width: 768px) {
   .sct-wid {
     padding: 0 8vw;
   }

   .btn {
     box-shadow: 0.2vw 0.2vw 1vw 0 rgba(0, 0, 0, 0.4);
   }
 }

 /* ===============================
body {
  background-image: url(../imgs/all.png);
  background-repeat: no-repeat;
  background-position-x: center;
}
 =============================== */

 @media screen and (max-width: 768px) {
   body {
     font-size: 1.4rem;
   }
 }

 #mv {
   position: relative;
 }

 #mv figure,
 #title figure {
   text-align: center;
 }

 .mv__btn {
   position: absolute;
   top: 70%;
   left: 50%;
   transform: translateX(-50%);
 }

 .title {
   background-color: #f7b515;
   text-align: center;
   padding-bottom: 40px;
 }

 #title figure {
   position: relative;
 }

 #title figure img {
   margin-top: -64px;
   max-width: 750px;
   width: 100%;
 }

 @media screen and (max-width: 767px) {

   #title figure img {
     margin-top: -9%;
   }
 }

 @media screen and (max-width: 414px) {
   #title figure img {}
 }

 main {
   width: 100%;
   margin: 0 auto;
   display: block;
   overflow: hidden;
 }


 section {
   text-align: center;
 }


 /* ===============================
mv
 =============================== */
 .mv {
   position: relative;
   max-width: 700px;
   width: 100%;
   margin: 0 auto;
   padding: 40px 0 120px;
 }

 .mv-house {
   width: 70%;
   position: absolute;
   bottom: 39%;
   left: 50%;
   transform: translateX(-50%);
   z-index: 2;
 }

 .mv-txt {
   position: relative;
   z-index: 1;
   margin-top: 10%;
 }

 .mv-txt2 {
   display: block;
   width: 90%;
   margin: 5% auto 0;
 }


 @media screen and (max-width: 768px) {
   .mv {
     padding: 4vw 0 20vw;
   }
 }


 /* ---------------gift------------------ */
 .plan {
   background-image: url(../imgs/plan-bg.png);
   background-size: cover;
   background-position: center;
 }

 .plan-txt-1 {
   margin-top: -13%;
 }


 .plan-btn {
   margin: 8% auto;
 }

 .plan-txt-2 {
   width: 65%;
   margin: 0 auto;
 }

 .plan-sns {
   width: 40%;
   margin: 5% auto;
   display: flex;
   justify-content: space-between;
 }

 .plan-sns-link {
   width: 45%;
 }

 .plan-sns-link.mail {
   width: 43%;
 }

 .plan-note {
   margin-bottom: 8%;
 }


 @media screen and (max-width: 768px) {

   .plan-btn {
     width: 90%;
   }

   .plan-txt-2 {
     width: 90%;
   }

   .plan-sns {
     width: 47%;
     margin: 6% auto;
   }

   .plan-sns-link {
     width: 41%;
   }

   .plan-sns-link.mail {
     width: 39%;
   }
 }

 /* ---------------gift------------------ */

 /* ---------------insta------------------ */
 .insta {
   background-color: #fff;
   padding: 60px 0;
 }

 .insta.-bottom {
   padding-bottom: 140px;
 }

 .insta.-footer {
   padding-bottom: 100px;
 }

 .insta-ttl {
   width: 50%;
   margin: 0 auto;
 }

 .insta-txt {
   width: 80%;
   margin: 6% auto 2%;
 }

 .insta-list {
   display: flex;
   justify-content: space-between;
   width: 95%;
   margin: 5% auto 0;
 }

 .insta-link {
   width: 48%;
 }

 .insta-link img {
   aspect-ratio: 3/4;
   object-fit: cover;
 }

 @media screen and (max-width: 768px) {
   .insta {
     padding: 10vw 0;
   }

   .insta.-bottom {
     padding-bottom: 22vw;
   }

   .insta.-footer {
     padding-bottom: 12vw;
   }

 }

 /* ---------------insta------------------ */


 /* ---------------sct01------------------ */
 .sct1 {
   background-color: #fff;
   padding-bottom: 50px;
 }

 .sct1-box {
   display: flex;
   flex-direction: column;
 }

 .sct1-01,
 .sct1-02,
 .sct1-03,
 .sct1-04,
 .sct1-05 {
   margin-bottom: 5%;
 }

 @media screen and (max-width: 768px) {
   .sct1 {
     padding-bottom: 6vw;
   }

   .sct1-01,
   .sct1-02,
   .sct1-03,
   .sct1-04,
   .sct1-05 {
     margin-bottom: 8%;
   }
 }


 /* ---------------sct01------------------ */

 /* ---------------sct02------------------ */

 .sct2 {
   position: relative;
   background-image: url(../imgs/sct2-bg.png);
   background-size: 100% 100%;
 }

 .sct2::before {
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 500px;
   background-color: #fff;
   z-index: -1;
 }

 .sct2-box {
   padding: 140px 50px;
 }

 .sct2-01 {
   margin-bottom: 12%;
 }



 @media screen and (max-width: 768px) {
   .sct2-box {
     padding: 18vw 8vw 22vw;
   }

   .sct2-01 {
     margin-bottom: 16%;
   }
 }

 /* ---------------sct02------------------ */

 /* --------------- sct03 アコーディオン------------------ */

 .tab {
   position: relative;
   margin-bottom: 5%;
   width: 100%;
   color: #fff;
   overflow: hidden;
 }

 input {
   position: absolute;
   opacity: 0;
   z-index: -1;
 }

 label {
   position: relative;
   display: block;
   font-weight: bold;
   line-height: 3;
   cursor: pointer;
   padding-bottom: 2%;
   border-bottom: 4px dashed #9FA0A0;
 }

 .tab-content {
   max-height: 0;
   overflow: hidden;
   -webkit-transition: max-height .35s;
   -o-transition: max-height .35s;
   transition: max-height .35s;
   color: #000;
 }


 /* :checked */
 input:checked~.tab-content {
   max-height: 100%;
 }


 /* Icon */
 label::after,
 label::before {
   content: "";
   position: absolute;
   right: 0;
   top: 50%;
   transform: translateY(-50%);
   display: block;
   width: 50px;
   height: 7px;
   background-color: #898989;
 }

 label::before {
   top: 49%;
   transform: rotate(90deg);
 }


 input[type=checkbox]:checked+label::after {
   transform: rotate(315deg);
 }

 input[type=checkbox]:checked+label::before {
   transform: rotate(405deg);
   top: 50%;
 }

 input[type=radio]:checked+label::after {
   transform: rotateX(180deg);
 }

 .sct3 {
   margin-bottom: 80px;
 }

 .sct3-01 {
   width: 80%;
   display: flex;
   justify-content: center;
   margin: 5% auto;
 }

 .sct3-02,
 .sct3-04,
 .sct3-06 {
   width: 88%;
 }

 @media screen and (max-width: 768px) {
   label {
     border-bottom: 0.6vw dashed #9FA0A0;
   }

   /* Icon */
   label::after,
   label::before {
     width: 6vw;
     height: 0.8vw;
   }

   .sct3 {
     margin-bottom: 12vw;
   }
 }

 /* --------------- sct03 アコーディオン------------------ */


 /* ---------------switch------------------ */
 .switch {
   padding: 50px 0;
   background-color: #fff;
 }

 .switch-lists {
   display: flex;
   justify-content: space-between;
   width: 80%;
   margin: 0 auto 10%;
 }

 .switch-list {
   position: relative;
   width: 46%;
   opacity: 0.7;
   transition: opacity 0.3s;
 }

 .switch-list.active {
   opacity: 1;
 }

 .switch-list:hover {
   opacity: 1;
 }

 .switch-list:hover::before {
   bottom: -35px;
 }

 .switch-list::before {
   content: "";
   position: absolute;
   bottom: 0;
   left: 50%;
   transform: translateX(-50%);
   width: 0;
   height: 0;
   border-style: solid;
   border-right: 40px solid transparent;
   border-left: 40px solid transparent;
   border-top: 90px solid #5a632d;
   border-bottom: 0;
   transition: all 0.3s;
 }

 .switch-list.active::before {
   bottom: -35px;
 }

 .switch-list img {
   position: relative;
   z-index: 2;
 }


 .switch-img-lists {
   position: relative;
 }

 .switch-img-list {
   display: none;
 }

 .switch-img-list.active {
   display: block;
 }



 @media screen and (max-width: 768px) {
   .switch {
     padding: 8vw 0;
   }

   .switch-list::before {
     border-right: 4vw solid transparent;
     border-left: 4vw solid transparent;
     border-top: 7vw solid #5a632d;
   }

   .switch-list:hover::before {
     bottom: -4vw;
   }

   .switch-list.active::before {
     bottom: -4vw;
   }
 }

 /* ---------------switch------------------ */

 /* ---------------sct4------------------ */
 .sct4 {
   background-color: #fff;
   padding-bottom: 80px;
 }


 .sct4-01 {
   margin-bottom: 3%;
 }

 @media screen and (max-width: 768px) {
   .sct4 {
     padding-bottom: 10vw;
   }

   .sct4-01 {
     margin-bottom: 6%;
   }
 }

 /* ---------------sct4------------------ */


 /* ---------------footer------------------ */
 .footer {
   position: relative;
   background-image: url(../imgs/footer-bg.png);
   background-size: 100% 100%;
   background-color: #fff;
 }

 .footer-box {
   padding: 120px 50px;
 }

 .footer-01 {
   width: 80%;
 }

 .footer-06 {
   width: 90%;
 }

 .footer-link {
   display: block;
   margin: 4% 0 8%;
 }

 .footer-sns {
   width: 50%;
   margin: 8% auto;
   display: flex;
   justify-content: space-between;
 }

 .footer-tel {
   display: block;
   margin: 5% 0;
 }

 @media screen and (max-width: 768px) {
   .footer-box {
     padding: 12vw 8vw;
   }
 }

 /* ---------------footer------------------ */


 /* ===============================
	page top
 =============================== */

 .page-top {
   display: none;
   margin: 0;
   padding: 0;
 }

 .page-top p {
   margin: 0;
   padding: 0;
   position: fixed;
   right: 20px;
   bottom: 50px;
   z-index: 99;
 }

 .move-page-top {
   display: block;
   background: rgba(0, 0, 0, 0.7);
   width: 50px;
   height: 50px;
   cursor: pointer;
   color: #fff;
   line-height: 48px;
   font-size: 24px;
   text-decoration: none;
   text-align: center;
   -webkit-transition: all 0.3s;
   -moz-transition: all 0.3s;
   transition: all 0.3s;
 }

 .move-page-top:hover {
   background: rgba(0, 0, 0, 0.3);
 }

 @media screen and (max-width: 767px) {
   .page-top p {
     right: 0px;
     bottom: 20px;
   }
 }

 /* メディアクエリサンプル */
 /* ===============================
	device setting
 =============================== */
 @media screen and (min-width: 1281px) {
   /*画面幅が1281px以上（PC専用スタイル）*/
 }

 @media screen and (max-width: 1280px) {
   /*画面幅が1280px以下（タブレット・スマホ共通スタイル）*/
 }

 @media screen and (min-width: 768px) and (max-width: 1280px) {
   /*画面幅が768px～1280px（タブレット専用スタイル）*/
 }

 @media screen and (max-width: 767px) {
   /*画面幅が767px以下（スマートフォン専用スタイル）*/
 }

 @media screen and (max-width: 414px) {
   /*画面幅が414px以下（スマートフォン縦向き専用スタイル）*/
 }

 /* 印刷用スタイル */
 /* ===============================
	print setting
 =============================== */
 @media print {
   .printNl {
     page-break-before: always;
   }
 }

 .footer figure {
   text-align: center;
 }