@charset "UTF-8";

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  background-color: #eaf4fc;
  font-family: 'Zen Kaku Gothic New', sans-serif;
}

header,
footer {
  width: 100%;
  margin: 0 auto;
}

main {
  margin-left: auto;
  margin-right: auto;
}

.zen-kaku-gothic-new-regular {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
}

ul {
  padding-left: 0;
}

/*------------ スリック --------------*/

.slick-slide img {
  width: 100%;
  padding-left: 0 !important;
}

.slick-prev,
.slick-next {
  color: #d8c7a0;
  display: none !important;
}



/*------------- #header ---------------*/

/* .header-top {
  margin-top: 100px;
  width: 100%;
} */

.header-area {
  background-color: #0f2350;
  width: 100%;
  z-index: 10;
  position: fixed;
  left: 0;
  top: 0;

}

/*--------------- nav ---------------*/
.header-area-nav {
  background-color: #0f2350;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100px;
  margin: 0 auto;
  max-width: 1080px;
  z-index: 1;
}

.header-logo-area {
  width: calc(55px + 256px + 30px);
  padding: 15px 0 15px 15px;
}

.header-logo-area img {
  width: 55px;
  /*rogoサイズ*/
  padding-right: 5px;
}

header .header-logo-area a {
  display: flex;
  align-items: center;
  color: #eaf4fc;
  font-size: 20px;
  text-decoration: none;
}

.header-logo-area a:hover {
  opacity: 0.6;
}

.menu-content .gnav ul li span {
  color: #fcc800;
}


/* -----------main-----------------*/

.section-top .top-gallery {
  margin-top: 100px;
  margin-bottom: 100px;
  width: 100%;
}




.top-coment {
  text-align: center;
}

.top-coment .top-c {
  font-size: 30px;
  font-weight: 150;
  padding: 40px 10px;
}

.top-coment p {
  width: 300px;
  line-height: 40px;
  padding-bottom: 30px;
  font-size: 16px;
  margin: 0 auto;
}

/* -----------#About--------------*/

#About h2 {
  font-size: 30px;
  font-weight: 150;
  text-align: center;
  padding: 30px;
}


/* ---- ABOUT US 画像の上に文字が出る効果 ----- */

.image_link {
  display: block;
  position: relative;
  text-decoration: none;
}

.image_link img {
  display: block;
  width: 100%;
}

.image_link:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 2;
  background: #0f2350;
  /* 好みの色に変えてください。 */
  opacity: 0.3;
  transition: 0.3s;
}

.image_link:after {
  content: "ABOUT US こちらから";
  /* 好みの文章に変更してください。 */
  display: block;
  color: #fff;
  line-height: 48px;
  width: 45%;
  border: solid 1px #fff;
  border-radius: 5px;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  opacity: 1;
  z-index: 3;
  transition: 0.3s;
  font-weight: bold;
  letter-spacing: 0.2em;
}

/* .image_link:hover:before {
  opacity: 0.5;
} */

.image_link:hover:after {
  opacity: 1;
  margin-top: -0.5em;
}

/* ---- ABOUT US 画像の上に文字が出る効果ここまで ----- */

.about-img {
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding: 5% 12% 10%;
}

.about-img p {
  position: absolute;
  color: #0f2350;
  font-size: 16px;
  text-align: center;
  top: 50px;
  left: 50px;
}

.about-img:hover {
  opacity: 0.6;
}

#About p:hover {
  text-decoration: underline;
  color: #0f2350;
}

.bg-max-white {
  width: 100%;
  text-align: center;
  background-color: #fff;
  padding-bottom: 10px;
  margin-bottom: 50px;
}

.bg-white {
  max-width: 1080px;
  margin: 0 auto 50px;
  padding-bottom: 10px;
  background-color: #fff;
}

#Gallery h2 {
  font-size: 30px;
  font-weight: 150;
  text-align: center;
  padding: 30px;
}

.gallery-photo img {
  width: 300px;
  margin: 0 auto;
  padding-bottom: 20px;
}

.gallery-coment {
  text-align: center;
}

#Plan {
  text-align: center;

}

#Plan h2 {
  font-size: 30px;
  font-weight: 150;
  text-align: center;
  padding: 30px;
}

#Plan p {
  font-size: 16px;
}



/*----------ボタン ---------------*/

.btn-gallery a {
  width: fit-content;
  padding: 0.3em 2em;
  display: block;
  text-align: center;
  font-size: 20px;
  font-weight: 150;
  margin: 25px auto;
  border: solid 1px;
  text-decoration: none;
}

.btn-plan a {
  width: fit-content;
  padding: 0.3em 3em;
  display: block;
  text-align: center;
  font-size: 20px;
  font-weight: 150;
  margin: 25px auto;
  border: solid 1px;
  text-decoration: none;
}

.contact {
  text-align: center;
}

.btn-contact a {
  width: fit-content;
  padding: 0.3em 3em;
  display: block;
  text-align: center;
  font-size: 20px;
  font-weight: 150;
  margin: 80px auto;
  border: solid 1px;
  background-color: #ffec47;
  text-decoration: none;
}

.btn-gallery a:hover,
.btn-plan a:hover {
  background-color: #ffec47;
  color: #0f2350;
}

.btn-contact a:hover {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  color: #0f2350;
  opacity: 0.6;
}




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

footer {
  background-color: #0f2350;
  color: #eaf4fc;
  text-align: center;
  padding: 20px;
}

.footer-area-nav {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  width: 100%;
}

.footer-logo {
  margin: 0 auto;
  padding-top: 60px;
  width: fit-content;
}

.footer-logo:hover,
.sns img:hover {
  opacity: 0.6;
}


.footer-sitmap ul {
  list-style: none;
  display: flex;
  text-align: center;
  padding: 0;
  margin: 0 auto 10px;
  flex-direction: column;
}

.footer-sitmap li {
  text-align: center;
  width: 100%;
}

.footer-coment {
  text-align: center;
}


.footer-sitmap li a {
  display: block;
  padding: 5px;
  color: #fff;
  text-align: center;
  text-decoration: none;
  font-size: 15px;
  cursor: pointer;
}

.footer-sitmap .privacy-li {
  text-align: left;
}

.footer-sitmap li a:hover {
  text-decoration: underline;
  /* text-decoration-color: #ffec47; */
  text-decoration-color: #eaf4fc;
}

.footer-sitmap ul li span {
  color: #fcc800;
}

/* SNS */

.sns {
  display: flex;
  justify-content: center;
  gap: 15px;
  margin: 20px 0;
  padding-left: 0;
}

.sns img {
  width: 30px;
  height: 30px;
}

/* .sns img:hover {
  opacity: 0.6;;
} */


/* 
三本線実装部分のcss①
---------------------- */
.menu-btn {
  position: fixed;
  top: 10px;
  right: 10px;
  display: flex;
  height: 60px;
  width: 60px;
  justify-content: center;
  align-items: center;
  z-index: 90;
  background-color: #0f2350;
  border-radius: 15%;

}

.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
  content: '';
  display: block;
  height: 3px;
  width: 25px;
  border-radius: 3px;
  background-color: #ffffff;
  position: absolute;
}

.menu-btn span:before {
  bottom: 8px;
}

.menu-btn span:after {
  top: 8px;
}

/* 三本線を「×」にするcss②
  ---------------------- */

#menu-btn-check:checked~.menu-btn span {
  background-color: rgba(255, 255, 255, 0);
}

#menu-btn-check:checked~.menu-btn span::before {
  bottom: 0;
  transform: rotate(45deg);
}

#menu-btn-check:checked~.menu-btn span::after {
  top: 0;
  transform: rotate(-45deg);
}

/* チェックボックスを隠すcss③
  ---------------------- */

#menu-btn-check {
  display: none;
}

/* ここからメニューの装飾ですcss④
  ------------------------------- */
.menu-content {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 100%;
  z-index: 80;
  transition: all 0.5s;
  /* アニメーション設定 */
}

/* メニュー部分タップするとメニューが開く⑤
  ------------------------------- */
#menu-btn-check:checked~.menu-content {
  left: 120px;
}

.menu-content ul li.Contact-area {
  background-color: #ffec47;
}

.menu-content li.Contact-area a {
  color: #0f2350;
}


.menu-content ul li {
  background-color: #fff;
  opacity: 0.95;
  list-style: none;
}

.menu-content ul li a,
.menu-content ul li span {
  display: block;
  width: 100%;
  font-size: 15px;
  box-sizing: border-box;
  color: #0f2350;
  text-decoration: none;
  padding: 9px 15px 10px 30px;
  position: relative;
}

.menu-content ul li a::before {
  content: "";
  width: 7px;
  height: 7px;
  transform: rotate(45deg);
  position: absolute;
  right: 11px;
  top: 16px;
}

.menu-content ul li a:hover {
  text-decoration: underline;
  opacity: 0.8;
}

/* ----aboutここから-----------------*/

main {
  background-color: #eaf4fc;
}

.about-container {
  max-width: 1080px;
  margin: 0 auto;
  margin-bottom: 50px;
}

.aboutp-img {
  max-width: 100%;
  text-align: center;
  margin-top: 80px;
  margin-bottom: 50px;
}

.main-container {
  display: block;
  margin-bottom: 30px;
  position: relative;
}

.ap-bg-white {
  margin: -80px auto 0;
  width: 280px;
  height: 320px;
  background-color: #fff;
  text-align: center;
}


#about-main h2 {
  padding-top: 50px;
  font-size: 25px;
  font-weight: 400;
}

#about-main img {
  display: inline-block;
  margin-top: 60px;
  width: 80px;
  height: 80px;
}

.about-coment h3 {
  margin-top: 50px;
  padding: 8%;
  font-size: 24px;
  font-weight: 400;
}

.about-coment h3 {
  white-space: pre-line;
  word-break: keep-all;
  overflow-wrap: break-word;
}

.about-coment h3 span {
  display: inline-block;/* 鍵カッコ対策 */
}

.about-coment p {
  margin-top: 30px;
  padding: 8%;
  line-height: 45px;
  font-size: 18px;
  text-align: justify;
}

.about-coment .aboutp-br {
  display: none;
}


/*-------- PLANここから------------- */


main {
  background-color: #eaf4fc;
}

.plan-container {
  max-width: 1080px;
  margin: 0 auto;
  margin-bottom: 50px;
}

.plan-img {
  max-width: 100%;
  text-align: center;
  margin-top: 80px;
  margin-bottom: 50px;
}

#plan-main h2 {
  padding-top: 50px;
  font-size: 25px;
  font-weight: 400;
}

#plan-main img {
  display: inline-block;
  margin-top: 60px;
  width: 80px;
  height: 80px;
}

.plan-coment h3 {
  margin-top: 50px;
  padding: 5%;
  font-size: 24px;
  font-weight: 400;
}

.plan-coment p {
  padding: 5%;
  line-height: 45px;
  font-size: 18px;
  text-align: justify;
}

#plan-area-white {
  background-color: #fff;
  max-width: 1080px;
  margin: 0 auto 10%;
  padding-bottom: 5%;
}

#plan-area-white h3 {
  font-size: 25px;
  font-weight: 400;
  text-align: center;
  padding-top: 30px;
}

.plan-main-area {
  background-color: #eaf4fc;
  max-width: 950px;
  text-align: center;
  margin: 5% 10%;
  padding: 5% 10%;
}

.plan-main-area h4 {
  font-size: 22px;
  font-weight: 400;
  text-align: center;
  padding: 5%;
}

.plan-main-area .plan-menu p {
  padding-bottom: 5%;
  font-size: 20px;
}

.plan-main-area .plan-p p {
  line-height: 18px;
  font-size: 15px;
  text-align: left;
  margin: 0 auto;
}

#plan-area-bwhite {
  background-color: #fff;
  max-width: 1080px;
  margin: 0 auto 10%;
  padding-bottom: 5%;
}

#plan-area-bwhite h3 {
  font-size: 25px;
  font-weight: 400;
  text-align: center;
  padding-top: 30px;
}

#plan-area-bwhite .plan-aria1,
.plan-aria2,
.plan-aria3,
.plan-aria4 {
  background-color: #eaf4fc;
  max-width: 950px;
  text-align: center;
  margin: 5% 10%;
  padding: 5% 10%;
}

.plan-aria1,
.plan-aria2,
.plan-aria3,
.plan-aria4,
h4 {
  font-size: 20px;
  font-weight: 400;
  text-align: center;
  padding-bottom: 5%;
}

.plan-aria1,
.plan-aria2,
.plan-aria3,
.plan-aria4,
p {
  font-size: 18px;
  font-weight: 300;
  text-align: center;
}

#plan-area-bwhite .plan-bottom p {
  font-size: 14px;
  text-align: justify;
  padding: 8%;
}


/* -----------galleryここから ------------*/

/* .gallery-top-container {
  display: grid;
  gap: 20px;
  grid-template-rows: 1fr 1fr 1fr 1fr 1fr;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
}
.item {
  background: #ddd;;
}
.boxL {
  grid-column: 1 / 5;
}
.boxM-left {
grid-column: 1 / 4;
}

.boxM-right {

} */

/* .gallery-items {
  margin-bottom: 0;
} */

/*----- gallery,contact,contact,Privacy共通スペース -----*/

#gallery,
#contact,
#contact,
#Privacy {
  margin-top: 150px;
}

#gallery h2,
#contact h2,
#Privacy h2 {
  font-size: 25px;
  font-weight: 400;
  text-align: center;
  margin-top: 200px;
}

/*---- gallery,contact,contact,Privacy共通スペースここまで---- */

#gallery h2 {
  padding-bottom: 40px;
}

.gallery-bg-white {
  max-width: 1080px;
  background-color: #fff;
  margin: 0 auto;
}

.gallery-top-container {
  margin: 0 auto;
  padding: 50px 10px 50px 10px;
}


/* 写真の横幅 */
.gallery-items>p {
  width: 100%;
  margin-bottom: 20px;
}

.gallery-items.col2 p img,
.gallery-items.col3 p img {
  aspect-ratio: 1.7 / 1;
  object-fit: cover;
}

/* 写真の位置を変更 */
/* 写真A */
.gallery-items.col2 p.big-item img.big-item-a {
  object-position: center 20%;
}


/* 写真G */
.gallery-items.col3 p.small-item img.small-item-g {
  object-position: center 20%;
}

/* 写真H */
.gallery-items.col2 p.big-item img.big-item-h {
  object-position: center -10px;
}

/* 写真のドロップシャドウ */

.gallery-top-container>div>p {
  box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.5);
}

/*---------- contactここから -------------*/

.contact-bg-white {
  background-color: #fff;
  max-width: 1080px;
  text-align: center;
  margin: 0 auto;
}

.contact-section {
  margin: 40px 10px 40px;
  padding: 10%;
}

.contact-section p {
  font-size: 15px;
  text-align: left;
}

.contact-section p small {
  padding: 0;
  text-align: left;
}

.contact-coment p {
  font-size: 18px;
}

.contact-main {
  font-size: 16px;
  text-align: left;
  padding: 15px 0 15px 0;
}

.contact-main input[type="text"],
.contact-main input[type="tel"] {
  width: 100%;
  max-width: 33em;
}

.contact-main input[type="email"] {
  width: 100%;
  max-width: 33em;
}

.contact-main input[type="text"]:focus,
.contact-main input[type="tel"]:focus,
.contact-main input[type="email"]:focus {
  border-left: 7px solid #0f2350;
}

.contact-main textarea {
  width: 100%;
  max-width: 50em;
}

.contact-textarea {
  margin: 20px 0 10px 0;
}

.contact-coment {
  padding-top: 50px;
}

.contact-coment small {
  font-size: 13px;
}

.contact-btn {
  text-align: center;
  margin: 10%;
}


.button {
  display: inline-block;
  border-radius: 0%;
  /* 角丸       */
  font-size: 16pt;
  /* 文字サイズ */
  text-align: center;
  /* 文字位置   */
  cursor: pointer;
  /* カーソル   */
  padding: 12px 50px;
  /* 余白       */
  background: #0f2350;
  /* 背景色     */
  color: #ffffff;
  /* 文字色     */
  line-height: 1em;
  /* 1行の高さ  */
  transition: .3s;
  /* なめらか変化 */
  box-shadow: 3px 3px 10px #666666;
  /* 影の設定 */
  border: 2px solid #0f2350;
  /* 枠の指定 */
}

.button:hover {
  box-shadow: none;
  /* カーソル時の影消去 */
  color: #0f2350;
  /* 背景色     */
  background: #ffffff;
  /* 文字色     */
}



/*--------- Privacyここから --------------*/



.Privacy-container {
  padding-top: 40px;
}

.Privacy-bg-white {
  background-color: #fff;
  max-width: 1080px;
  text-align: center;
  margin: 0 auto 10%;
  padding: 10% 10%;
}

.Privacy-area,
.Privacy-top {
  margin: 20px;
  font-size: 18px;
}

.Privacy-area h3 {
  font-size: 20px;
  padding: 5% 0 2% 0;
  text-align: left;
}

.Privacy-container p,
.Privacy-area p {
  text-align: left;
}

/* スクロール フェードイン
---------------------------------*/

/* 初期状態は透明にしておく */
.fade-in-up,
.fade-in-down,
.fade-in-left,
.fade-in-right {
  opacity: 0;
  transition: 0.5s;
}

/* 上がる */
.fade-in-up {
  transform: translate(0, 30px);
}

/* 下がる */
.fade-in-down {
  transform: translate(0, -10px);
}

/* 左へ */
.fade-in-left {
  transform: translate(10px, 0);
}

/* 右へ */
.fade-in-right {
  transform: translate(-10px, 0);
}

/* スクロールして画面内に入った時 */
.scroll-in {
  opacity: 1;
  transform: translate(0, 0);
}

/* デュレイ（アニメーションの開始を遅らせる） */
.delay01 {
  transition-delay: 0.1s;
}

.delay02 {
  transition-delay: 0.2s;
}

.delay03 {
  transition-delay: 0.3s;
}

.delay04 {
  transition-delay: 0.4s;
}

.delay05 {
  transition-delay: 0.5s;
}

.delay06 {
  transition-delay: 0.6s;
}

.delay07 {
  transition-delay: 0.7s;
}

.delay08 {
  transition-delay: 0.8s;
}

.delay09 {
  transition-delay: 0.9s;
}

.delay10 {
  transition-delay: 1s;
}

.delay11 {
  transition-delay: 1.1s;
}

.delay12 {
  transition-delay: 1.2s;
}