@charset "UTF-8";
/* ////////////////////////////////////////////////
	sassを使用しています。css編集の際はご注意ください。
//////////////////////////////////////////////// */
.fixed {
  overflow: hidden;
  width: 100%;
  height: 100%;
}

/* ----------------------------------------------------
header
---------------------------------------------------- */
header {
  position: relative;
}
header .header_Wrap {
  position: absolute;
  z-index: 999999;
  top: 0;
  width: 100%;
}
@media (max-width: 750px) {
  header .header_Wrap {
    position: fixed;
    /* ☆スマホ版で、ヘッダー固定しない時
    　└（コメントアウト外すのは４か所：.header_Wrap .nav_Wrap .logoBox main ）
    　└header.phpにも記述あり（logoBoxクラスで囲った部分）
    position: initial;
    */
    height: 16.27vw;
    background-color: #D9CBF5;
    display: flex;
    align-items: center;
  }
}
header .header_Wrap .header_back {
  position: relative;
  width: 100%;
  margin: 0 auto;
}
@media (max-width: 750px) {
  header .header_Wrap .header_back {
    display: none;
  }
}
header .header_Wrap .header_back::before {
  content: "";
  width: 100%;
  height: 176px;
  position: absolute;
  right: 48%;
  background-color: #D9CBF5;
  border-radius: 0 0 20px 0;
}
@media (max-width: 1420px) {
  header .header_Wrap .header_back::before {
    height: 12.54vw;
    border-radius: 0 0 1.42vw 0;
  }
}
@media (max-width: 750px) {
  header .header_Wrap .header_back::before {
    display: none;
  }
}
header .header_Wrap .header_cont {
  background-color: rgba(255, 255, 255, 0.7);
  position: relative;
  width: 100%;
  height: 80px;
  margin-top: 48px;
  box-shadow: 0px 3px 6px #00000029;
}
@media (max-width: 1420px) {
  header .header_Wrap .header_cont {
    height: 5.7vw;
    margin-top: 3.42vw;
  }
}
@media (max-width: 750px) {
  header .header_Wrap .header_cont {
    width: 85.33vw;
    height: 9.33vw;
    margin-top: 0;
    border-radius: 0 100px 100px 0;
  }
}
header .header_Wrap .header_cont .h_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 1404px;
  height: 100%;
  margin: 0 auto;
  padding: 0 10px;
}
@media (max-width: 1420px) {
  header .header_Wrap .header_cont .h_inner {
    width: 100%;
    padding: 0 1.42vw;
  }
}
@media (max-width: 750px) {
  header .header_Wrap .header_cont .h_inner {
    width: 100%;
    padding: 0 2.67vw;
  }
}
header .header_Wrap .header_cont .h_inner .logo {
  width: 587px;
}
@media (max-width: 1420px) {
  header .header_Wrap .header_cont .h_inner .logo {
    width: 41.81vw;
  }
}
@media (max-width: 750px) {
  header .header_Wrap .header_cont .h_inner .logo {
    width: 78.4vw;
    margin-left: 2.13vw;
  }
}
header .header_Wrap .header_cont .h_inner .nav_Wrap {
  width: 800px;
  height: auto;
  /* ☆スマホ版で、ヘッダー固定しない時
  　└（コメントアウト外すのは４か所：.header_Wrap .nav_Wrap .logoBox main ）
  　└header.phpにも記述あり（logoBoxクラスで囲った部分）
  .logoBox {
  	display: none;
  	@include sp {
  		display: flex;
  		align-items: center;
  		height: $wsp61;
  	}
  	ul {
  		@include sp {
  			display: flex;
  			align-items: center;
  			background-color: rgba(255,255,255,0.7);
  			width: auto;
  			width: $wsp320;
  			height: $wsp35;
  			border-radius: 0 100px 100px 0;
  			box-shadow: 0px 3px 6px #00000029;
  			padding: 0 $wsp8;
  		}
  		li {
  			@include sp {
  				width: $wsp294;
  				margin-left: $wsp10;
  			}
  		}
  	}
  }
  */
}
@media (max-width: 1420px) {
  header .header_Wrap .header_cont .h_inner .nav_Wrap {
    width: 56.98vw;
  }
}
@media (max-width: 750px) {
  header .header_Wrap .header_cont .h_inner .nav_Wrap {
    position: fixed;
    z-index: 999999;
    top: 16.27vw;
    /* ☆スマホ版で、ヘッダー固定しない時
    　└（コメントアウト外すのは４か所：.header_Wrap .nav_Wrap .logoBox main ）
    　└ header.phpにも記述あり（logoBoxクラスで囲った部分）
    top: 0;
    */
    left: initial;
    transform: initial;
    right: -1000px;
    transition: all .8s;
    width: 100%;
    height: 100vh;
    margin-top: 0;
    background-color: #D9CBF5;
  }
  header .header_Wrap .header_cont .h_inner .nav_Wrap.active {
    right: 0;
    transition: all .5s;
  }
}
header .header_Wrap .header_cont .h_inner .nav_Wrap nav ul {
  display: flex;
  justify-content: flex-end;
}
@media (max-width: 750px) {
  header .header_Wrap .header_cont .h_inner .nav_Wrap nav ul {
    flex-direction: column;
    width: 44.8vw;
    margin: 0 auto;
  }
}
header .header_Wrap .header_cont .h_inner .nav_Wrap nav ul p {
  display: none;
}
@media (max-width: 750px) {
  header .header_Wrap .header_cont .h_inner .nav_Wrap nav ul p {
    display: block;
    font-size: 4.27vw;
    color: #B77DD8;
    padding: 9.07vw 0 10.13vw;
    text-align: center;
    border-bottom: solid 1px #B77DD8;
  }
}
header .header_Wrap .header_cont .h_inner .nav_Wrap nav ul li {
  padding-left: 44px;
}
@media (max-width: 1420px) {
  header .header_Wrap .header_cont .h_inner .nav_Wrap nav ul li {
    padding-left: 3.13vw;
  }
}
@media (max-width: 750px) {
  header .header_Wrap .header_cont .h_inner .nav_Wrap nav ul li {
    padding: 0;
  }
}
header .header_Wrap .header_cont .h_inner .nav_Wrap nav ul li a {
  font-size: 18px;
  font-weight: bold;
}
@media (max-width: 1420px) {
  header .header_Wrap .header_cont .h_inner .nav_Wrap nav ul li a {
    font-size: 1.28vw;
  }
}
@media (max-width: 750px) {
  header .header_Wrap .header_cont .h_inner .nav_Wrap nav ul li a {
    font-size: 4.8vw;
    height: 16vw;
    display: flex;
    justify-content: center;
    align-items: center;
    border-bottom: solid 1px #B77DD8;
  }
}
header .header_Wrap .header_cont .h_inner .nav_Wrap nav ul li.current a {
  color: #B77DD8;
}
header .header_Wrap .header_cont .h_inner .nav_Wrap ul.snsBox {
  display: none;
}
@media (max-width: 750px) {
  header .header_Wrap .header_cont .h_inner .nav_Wrap ul.snsBox {
    display: flex;
    justify-content: center;
    padding-top: 12.27vw;
  }
}
@media (max-width: 750px) {
  header .header_Wrap .header_cont .h_inner .nav_Wrap ul.snsBox li {
    width: 17.87vw;
    height: 10.67vw;
    margin: 0 1.33vw;
  }
}
@media (max-width: 750px) {
  header .header_Wrap .header_cont .h_inner .nav_Wrap ul.snsBox li a {
    display: block;
    width: 100%;
    height: 100%;
    text-align: center;
    background-color: #fff;
    box-shadow: 0px 3px 6px #00000029;
    border-radius: 3.73vw;
    padding: 2.67vw 0;
  }
}
@media (max-width: 750px) {
  header .header_Wrap .header_cont .h_inner .nav_Wrap ul.snsBox li a img {
    width: auto;
    height: 100%;
  }
}

/* ----------------------------------------------------
.hamburger ハンバーガーメニューのボタン
---------------------------------------------------- */
.hamburger {
  display: none;
}
@media (max-width: 750px) {
  .hamburger {
    display: block;
    position: fixed;
    z-index: 999999;
    top: 0;
    right: 0;
  }
  .hamburger .btn_Wrap {
    position: relative;
    width: 14.67vw;
    height: 14.4vw;
  }
  .hamburger .btn_Wrap .btn_trigger {
    position: absolute;
    cursor: pointer;
    top: 3.73vw;
    left: 50%;
    transform: translateX(-50%);
    display: inline-block;
    transition: all .5s;
    width: 7.2vw;
    height: 5.87vw;
  }
  .hamburger .btn_Wrap .btn_trigger span {
    position: absolute;
    left: 0;
    display: inline-block;
    transition: all .5s;
    width: 100%;
    height: 2px;
    background-color: #B77DD8;
  }
  .hamburger .btn_Wrap .btn_trigger span:nth-of-type(1) {
    top: 0;
  }
  .hamburger .btn_Wrap .btn_trigger span:nth-of-type(2) {
    top: 2.67vw;
  }
  .hamburger .btn_Wrap .btn_trigger span:nth-of-type(3) {
    bottom: 0;
  }
  .hamburger .btn_Wrap .btn_trigger.active span:nth-of-type(1) {
    transform: translateY(2.67vw) rotate(-45deg);
  }
  .hamburger .btn_Wrap .btn_trigger.active span:nth-of-type(2) {
    opacity: 0;
  }
  .hamburger .btn_Wrap .btn_trigger.active span:nth-of-type(3) {
    transform: translateY(-2.67vw) rotate(45deg);
  }
  .hamburger .btn_Wrap .btn_txt {
    position: absolute;
    bottom: 0;
    width: 100%;
    text-align: center;
    color: #B77DD8;
    font-size: 2.67vw;
  }
}

/* ----------------------------------------------------
.to_top 「ページ上部へ」ボタン
---------------------------------------------------- */
.to_top {
  position: fixed;
  z-index: 10000;
  bottom: 80px;
  right: 95px;
  width: 89px;
  height: 89px;
  display: none;
}
@media (max-width: 1420px) {
  .to_top {
    bottom: 5.7vw;
    right: 6.77vw;
    width: 6.34vw;
    height: 6.34vw;
  }
}
@media (max-width: 750px) {
  .to_top {
    bottom: 6.4vw;
    right: 4.8vw;
    width: 13.33vw;
    height: 13.33vw;
  }
}
.to_top.view {
  display: block;
  animation: fadeIn 0.5s ease;
  /* stickyクラスが付与されたときにアニメーション「fadeIn」を適用 */
}
.to_top a:hover {
  opacity: 1;
}
.to_top img {
  width: 100%;
}

/* ----------------------------------------------------
main
---------------------------------------------------- */
@media (max-width: 750px) {
  main {
    padding-top: 16.27vw;
    /* ☆スマホ版で、ヘッダー固定しない時
    　└（コメントアウト外すのは４か所：.header_Wrap .nav_Wrap .logoBox main ）
    　└header.phpにも記述あり（logoBoxクラスで囲った部分）
    padding-top: 0;
    */
  }
}

/* ----------------------------------------------------
.bread パンくずリスト
---------------------------------------------------- */
/* ----------------------------------------------------
footer
---------------------------------------------------- */
footer {
  width: 100%;
}
footer .footer_image {
  position: relative;
  bottom: 0;
  width: 1180px;
  margin: 0 auto;
}
@media (max-width: 1420px) {
  footer .footer_image {
    width: 84.05vw;
  }
}
@media (max-width: 750px) {
  footer .footer_image {
    width: 100%;
    display: none;
  }
}
@media (max-width: 750px) {
  .home footer .footer_image {
    display: block;
  }
}
footer .footer_image .photo {
  position: absolute;
  bottom: -250px;
  right: 52px;
  z-index: 100;
  width: 120px;
}
@media (max-width: 1420px) {
  footer .footer_image .photo {
    bottom: -17.81vw;
    right: 3.7vw;
    width: 8.55vw;
  }
}
.home footer .footer_image .photo {
  bottom: -60px;
  right: 100px;
  width: 233px;
}
@media (max-width: 1420px) {
  .home footer .footer_image .photo {
    bottom: -4.27vw;
    right: 7.12vw;
    width: 16.6vw;
  }
}
@media (max-width: 750px) {
  .home footer .footer_image .photo {
    bottom: -2.13vw;
    right: 10.13vw;
    width: 24.8vw;
  }
}
footer .footer_image .name {
  position: absolute;
  bottom: -182px;
  right: -10px;
  z-index: 100;
  width: 51px;
}
@media (max-width: 1420px) {
  footer .footer_image .name {
    bottom: -12.96vw;
    right: -0.71vw;
    width: 3.63vw;
  }
}
.home footer .footer_image .name {
  bottom: 48px;
  right: -20px;
  width: 103px;
}
@media (max-width: 1420px) {
  .home footer .footer_image .name {
    bottom: 3.42vw;
    right: -1.42vw;
    width: 7.34vw;
  }
}
@media (max-width: 750px) {
  .home footer .footer_image .name {
    bottom: 27.73vw;
    right: 0;
    width: 10.67vw;
  }
}
footer .logo_cont,
footer .address_cont {
  width: 1180px;
  margin: 0 auto;
}
@media (max-width: 1420px) {
  footer .logo_cont,
  footer .address_cont {
    width: 84.05vw;
  }
}
@media (max-width: 750px) {
  footer .logo_cont,
  footer .address_cont {
    width: 89.33vw;
  }
}
footer .share_Wrap {
  height: 120px;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 1420px) {
  footer .share_Wrap {
    height: 8.55vw;
  }
}
@media (max-width: 750px) {
  footer .share_Wrap {
    height: auto;
    padding-top: 5.33vw;
    padding-bottom: 5.33vw;
  }
}
footer .share_Wrap ul {
  display: flex;
}
footer .share_Wrap ul li {
  text-decoration: none !important;
}
footer .share_Wrap ul li a {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  width: 120px;
  height: 100%;
}
@media (max-width: 1420px) {
  footer .share_Wrap ul li a {
    width: 8.55vw;
  }
}
@media (max-width: 750px) {
  footer .share_Wrap ul li a {
    width: 21.33vw;
  }
}
footer .share_Wrap ul li a img {
  width: 50px;
}
@media (max-width: 1420px) {
  footer .share_Wrap ul li a img {
    width: 3.56vw;
  }
}
@media (max-width: 750px) {
  footer .share_Wrap ul li a img {
    width: 10.67vw;
  }
}
footer .share_Wrap ul li a span {
  font-size: 14px;
  padding-top: 5px;
}
@media (max-width: 1420px) {
  footer .share_Wrap ul li a span {
    font-size: 1vw;
    padding-top: 0.36vw;
  }
}
@media (max-width: 750px) {
  footer .share_Wrap ul li a span {
    font-size: 3.2vw;
    padding-top: 1.33vw;
  }
}
footer .share_Wrap ul li.x a {
  color: #000;
}
footer .share_Wrap ul li.x a img {
  width: 42px;
  margin-top: 4px;
}
@media (max-width: 1420px) {
  footer .share_Wrap ul li.x a img {
    width: 2.99vw;
    margin-top: 0.28vw;
  }
}
@media (max-width: 750px) {
  footer .share_Wrap ul li.x a img {
    width: 8.53vw;
    margin-top: 1.07vw;
  }
}
footer .share_Wrap ul li.fb a {
  color: #0866ff;
}
footer .share_Wrap ul li.line a {
  color: #06c755;
}
footer .logo_Wrap {
  width: 100%;
  background-color: #F4EFFC;
}
footer .logo_Wrap .logo_cont {
  display: flex;
  align-items: center;
  height: 110px;
}
@media (max-width: 1420px) {
  footer .logo_Wrap .logo_cont {
    height: 7.83vw;
  }
}
@media (max-width: 750px) {
  footer .logo_Wrap .logo_cont {
    height: 17.33vw;
  }
}
footer .logo_Wrap .logo_cont .logo {
  width: 587px;
}
@media (max-width: 1420px) {
  footer .logo_Wrap .logo_cont .logo {
    width: 41.81vw;
  }
}
@media (max-width: 750px) {
  footer .logo_Wrap .logo_cont .logo {
    width: 88.53vw;
  }
}
footer .address_Wrap {
  background-color: #D9CBF5;
}
footer .address_Wrap .address_cont {
  min-height: 212px;
  padding: 44px 0 40px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media (max-width: 1420px) {
  footer .address_Wrap .address_cont {
    min-height: 15.1vw;
    padding: 3.13vw 0 2.85vw;
  }
}
@media (max-width: 750px) {
  footer .address_Wrap .address_cont {
    min-height: 97.33vw;
    padding: 8.53vw 0 9.6vw;
  }
}
footer .address_Wrap .address_cont address {
  display: flex;
  font-style: normal;
  line-height: 1.4;
}
@media (max-width: 750px) {
  footer .address_Wrap .address_cont address {
    flex-direction: column;
  }
}
footer .address_Wrap .address_cont address div {
  font-size: 18px;
  padding: 0 20px;
  border-left: solid 1px #fff;
}
@media (max-width: 1420px) {
  footer .address_Wrap .address_cont address div {
    font-size: 1.28vw;
    padding: 0 1.42vw;
  }
}
@media (max-width: 750px) {
  footer .address_Wrap .address_cont address div {
    font-size: 4.27vw;
    padding: 2.13vw 4.27vw;
    margin-bottom: 5.33vw;
  }
}
footer .address_Wrap .address_cont .linkbnr {
  margin-top: 40px;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
}
footer .address_Wrap .address_cont .linkbnr + .linkbnr {
  margin-top: 20px;
}
@media (max-width: 750px) {
  footer .address_Wrap .address_cont .linkbnr {
    margin-top: 20px;
    margin-bottom: 10px;
  }
}
footer .address_Wrap .address_cont .linkbnr li {
  width: 200px;
  margin-bottom: 20px;
}
footer .address_Wrap .address_cont .linkbnr li:nth-last-child(-n + 3) {
  margin-bottom: 0;
}
@media (max-width: 1420px) {
  footer .address_Wrap .address_cont .linkbnr li {
    width: 14.25vw;
  }
}
@media (max-width: 750px) {
  footer .address_Wrap .address_cont .linkbnr li {
    width: 45%;
  }
}
footer .address_Wrap .address_cont .copyright {
  margin-top: 30px;
  font-size: 14px;
  text-align: right;
}
@media (max-width: 1420px) {
  footer .address_Wrap .address_cont .copyright {
    font-size: 1vw;
  }
}
@media (max-width: 750px) {
  footer .address_Wrap .address_cont .copyright {
    font-size: 3.2vw;
    text-align: left;
  }
}

/* ----------------------------------------------------
.Container
---------------------------------------------------- */
.Container {
  width: 1404px;
  margin: 0 auto;
  padding: 0 112px;
}
@media (max-width: 1420px) {
  .Container {
    width: 100%;
    padding: 0 7.98vw;
  }
}
@media (max-width: 750px) {
  .Container {
    width: 100%;
    padding: 0;
  }
}

/* ----------------------------------------------------
title
---------------------------------------------------- */
.title01 {
  width: 1404px;
  margin: 0 auto;
  padding: 0 112px 72px;
}
@media (max-width: 1420px) {
  .title01 {
    width: 100%;
    padding: 0 7.98vw 5.13vw;
  }
}
@media (max-width: 750px) {
  .title01 {
    width: 100%;
    margin: 0;
    padding: 0 0 8vw;
  }
}
.page .title01 {
  margin-top: 60px;
}
@media (max-width: 1420px) {
  .page .title01 {
    margin-top: 4.27vw;
  }
}
@media (max-width: 750px) {
  .page .title01 {
    margin-top: 8vw;
  }
}
.title01 .image {
  width: 100%;
  height: 70px;
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}
@media (max-width: 1420px) {
  .title01 .image {
    height: 4.99vw;
    margin-bottom: 1.42vw;
  }
}
@media (max-width: 750px) {
  .title01 .image {
    height: 8.53vw;
    margin-bottom: 1.6vw;
  }
}
.title01 .image img {
  width: auto;
  height: 100%;
}
.title01 .text::before {
  content: "";
  display: block;
  width: 100%;
  height: 20px;
  border-bottom: solid 1px #B77DD8;
}
@media (max-width: 1420px) {
  .title01 .text::before {
    height: 1.42vw;
  }
}
@media (max-width: 750px) {
  .title01 .text::before {
    height: 3.47vw;
  }
}
.title01 .text .tBox {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 40px;
  margin-top: -20px;
  color: #fff;
  font-size: 26px;
  font-weight: bold;
}
@media (max-width: 1420px) {
  .title01 .text .tBox {
    height: 2.85vw;
    margin-top: -1.42vw;
    font-size: 1.85vw;
  }
}
@media (max-width: 750px) {
  .title01 .text .tBox {
    height: 6.93vw;
    margin-top: -3.47vw;
    font-size: 4.27vw;
  }
}
.title01 .text .tBox span {
  align-self: stretch;
  background-color: #B77DD8;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 40px;
}
@media (max-width: 1420px) {
  .title01 .text .tBox span {
    padding: 0 2.85vw;
  }
}
@media (max-width: 750px) {
  .title01 .text .tBox span {
    padding: 0 11.73vw;
  }
}

.title02 {
  /*page02.cssに記述あり*/
}

.title03 {
  /*page02.cssに記述あり*/
}

.title04 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 40px;
  color: #fff;
  background-color: #67A6DF;
  font-size: 22px;
  font-weight: bold;
  border-radius: 10px;
  margin: 30px 0;
  padding: 6px 10px;
}
@media (max-width: 1420px) {
  .title04 {
    min-height: 2.85vw;
    font-size: 1.57vw;
    border-radius: 0.71vw;
    margin: 2.14vw 0;
    padding: 0.43vw 0.71vw;
  }
}
@media (max-width: 750px) {
  .title04 {
    min-height: 10.67vw;
    font-size: 5.87vw;
    border-radius: 2.67vw;
    margin: 5.33vw 0;
    padding: 1.6vw 2.67vw;
  }
}

/* ----------------------------------------------------
.btm01
---------------------------------------------------- */
.btm01 a {
  cursor: pointer;
  min-width: 308px;
  min-height: 66px;
  background-color: #fff;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 24px;
  font-weight: bold;
  color: #B77DD8;
  border: solid 1px #B77DD8;
  border-radius: 20px;
  box-shadow: 0px 3px 6px #00000029;
}
@media (max-width: 1420px) {
  .btm01 a {
    min-width: 21.94vw;
    min-height: 4.7vw;
    font-size: 1.71vw;
    border-radius: 1.42vw;
  }
}
@media (max-width: 750px) {
  .btm01 a {
    min-width: 69.33vw;
    min-height: 13.33vw;
    font-size: 4.27vw;
    border-radius: 5.33vw;
  }
}

/* ----------------------------------------------------
.aaa
---------------------------------------------------- */
