@charset "UTF-8";
/* CSS Document */
@font-face {
  font-family: 'Muller-bold';
  src: url('../font/Muller-ExtraBold-DEMO.otf') format('opentype');
}
@font-face {
  font-family: 'Muller-thin';
  src: url('../font/Muller-Thin-DEMO.otf') format('opentype');
}
.muller-600 {
  font-family: 'Muller-bold';
}
.muller-200 {
  font-family: 'Muller-thin';
}
figure img {
  width: 100%;
  vertical-align: bottom;
}
@media screen and (min-width: 581px) {
  .pc_none {
    display: none;
  }
}
@media screen and (max-width: 580px) {}
/*---------------------------------

  header

---------------------------------*/
#globalContainer {
  position: relative;
}
@media screen and (min-width: 1025px) {
  header, #logo * {
    transition: .3s;
  }
  header {
    background: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10;
  }
  header .wrap {
    height: 100px;
    width: 100%;
    position: relative;
  }
  header .wrap #logo {
    /*background: #333333;*/
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
  }
  header .wrap #logo a {
    display: block;
    padding: 40px 60px;
  }
  header .wrap #logo img {
    width: 100%;
  }
  /*  
  ナビゲーション
---------------------------------*/
  header .wrap #gnav_main ul > li.pc_none, header .wrap .pc_none {
    display: none;
  }
  header .wrap #gnav_main {
    padding-top: 30px;
    width: 100%;
    position: relative;
  }
  header .wrap #gnav_main .gnav {
    padding: 0 50px 0 400px;
    position: relative;
    width: 100%;
    z-index: 2;
  }
  header .wrap #gnav_main ul {
    display: flex;
    justify-content: flex-end;
    list-style: none;
    transition: .3s;
  }
  header .wrap #gnav_main ul.main_nav {
    margin-top: 40px;
  }
  header .wrap #gnav_main ul li {
    margin-left: 10px;
  }
  header .wrap #gnav_main ul li a {
    display: block;
    color: #fff;
    font-size: 1.9rem;
    font-weight: 500;
    padding: 0 20px 30px;
    position: relative;
  }
  header .wrap #gnav_main ul li a::after {
    content: '';
    background: #fff;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 3px;
    opacity: 0;
  }
  header .wrap #gnav_main ul li a:hover, header .wrap #gnav_main ul li a:hover::after, header .wrap #gnav_main ul li a.active::after {
    opacity: 1;
  }
  /* インスタ */
  header .wrap #gnav_main ul li.insta {
    margin-left: 30px;
    width: 30px;
    height: 30px;
  }
  header .wrap #gnav_main ul li.insta a {
    display: block;
    padding: 0;
    width: 100%;
    height: 100%;
  }
  header .wrap #gnav_main ul li.insta a .icon {
    background: url("../images/insta.svg") no-repeat;
    background-size: contain;
    display: block;
    width: 100%;
    height: 100%;
  }
  header .wrap #gnav_main ul li.insta a::after {
    content: none;
  }
  /* メガメニュー */
  header .wrap #gnav_main .dropdown a {
    position: relative;
  }
  /* メガメニューオンマウス時に他のメニューを暗くする */
  header .wrap #gnav_main .none a {
    color: #7A7775;
  }
  /* メガメニューオンマウス時 */
  header .wrap #gnav_main .dropdown.current a {
    color: #fff;
  }
  header .wrap #gnav_main .dropdown.current a::after {
    opacity: 1;
  }
  header .wrap #gnav_main .in_menu {
    background: #000;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    display: none;
    padding: 0;
    width: 100%;
    max-width: 1500px;
  }
  header .wrap #gnav_main .in_menu a {
    color: #fff !important;
    font-weight: 500 !important;
  }
  header .wrap #gnav_main .in_menu a:hover {
    color: #A79F99;
    opacity: 1;
  }
  header .wrap #gnav_main .in_menu ul.child {
    justify-content: space-between;
    margin: 0;
    padding: 0;
  }
  header .wrap #gnav_main .in_menu ul.child li {
    margin: 0;
  }
  header .wrap #gnav_main .in_menu ul.child li .me__wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    position: relative;
    transition: all .3s;
  }
  header .wrap #gnav_main .in_menu ul.child li .me__wrap::after {
    content: none;
  }
  header .wrap #gnav_main .in_menu ul.child li .me__wrap p {
    font-weight: 400;
    font-size: 2.3rem;
    letter-spacing: 2px;
    line-height: 1.5;
    position: relative;
    text-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
    z-index: 1;
  }
  header .wrap #gnav_main .in_menu ul.child li .me__wrap p::before {
    content: '+';
    margin-right: .6em;
  }
  header .wrap #gnav_main .in_menu ul.child li .me__wrap .img {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  header .wrap #gnav_main .in_menu ul.child li .me__wrap .img::after {
    background: rgba(0, 0, 0, 0.5);
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  header .wrap #gnav_main .in_menu ul.child li .me__wrap:hover .img::after {
    background: rgba(0, 0, 0, 0.25);
  }
  /* メガメニューの中のリンクをホバーした時他の物が暗くなる */
  header .wrap #gnav_main .in_menu ul.child:hover li .me__wrap:not(:hover) {
    opacity: .5;
  }
  /* 医院紹介 */
  header .wrap #gnav_main .in_menu.clinic_menu ul.child li {
    width: 50%;
  }
  header .wrap #gnav_main .in_menu.clinic_menu ul.child li .me__wrap {
    padding: 20px 50px;
    height: 250px;
  }
  /* 診療案内 */
  header .wrap #gnav_main .in_menu.medical_menu ul.child {
    flex-wrap: wrap;
  }
  header .wrap #gnav_main .in_menu.medical_menu ul.child li.pc_none {
    display: none;
  }
  header .wrap #gnav_main .in_menu.medical_menu ul.child li {
    width: 33.333%;
  }
  header .wrap #gnav_main .in_menu.medical_menu ul.child li:nth-child(n + 4) {
    width: 25%;
  }
  header .wrap #gnav_main .in_menu.medical_menu ul.child li .me__wrap {
    padding: 20px 50px;
    height: 150px;
  }
  header .wrap #gnav_main .in_menu.medical_menu ul.child li:nth-child(-n+3) .me__wrap {
    padding: 20px 50px;
    height: 250px;
  }
  header .wrap #gnav_main .in_menu ul.child li.masui .me__wrap {
    flex-wrap: wrap;
    align-content: center;
  }
  header .wrap #gnav_main .in_menu ul.child li.masui .me__wrap p {
    color: #fff;
    text-align: center;
    width: 100%;
  }
  header .wrap #gnav_main .in_menu ul.child li.masui .me__wrap p a {
    display: inline-block;
    padding: 0;
    margin: 0;
  }
  header .wrap #gnav_main .in_menu ul.child li.masui .me__wrap p a::after {
    content: none;
  }
  /*  
	オーバーレイ（メガメニューが開いている時）
	---------------------------------*/
  #globalContainer {
    position: relative;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
  }
  #globalContainer::after {
    width: 100%;
    height: 100%;
    position: absolute;
    background-color: rgba(0, 0, 0, 0.5);
    content: '';
    left: 0;
    top: 0;
    z-index: -1;
    opacity: 0;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
  }
  #globalContainer.overlay::after {
    z-index: 1;
    opacity: 1;
  }
  #globalContainer.overlay #logo {
    z-index: 1;
    opacity: .5;
  }
	#globalContainer.overlay .tel_box {
    z-index: 1;
    opacity: .5;
  }
  /*    
	電話番号
	---------------------------------*/
  header .wrap .tel_box {
    display: none;
    margin: 70px 0 0 50px;
    max-width: 300px;
  }
	header .wrap .tel_box a {
		display: block;
	}
  header .wrap .tel_box img {
    width: 100%;
    vertical-align: bottom;
  }
  /*  
  スクロールアクション
	---------------------------------*/
  header.is-animation {
    background: #fff;
  }
  header.is-animation::after {
    width: 100%;
    height: 100%;
    position: absolute;
    background-color: rgba(0, 0, 0, 0.5);
    content: '';
    left: 0;
    top: 0;
    z-index: -1;
    opacity: 0;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
  }
  header.is-animation.none::after {
    z-index: 1;
    opacity: 1;
  }
  header.is-animation .wrap {
    height: 90px;
    width: 100%;
  }
  header.is-animation .wrap #logo {
    background: #544B40;
  }
  header.is-animation .wrap #logo a {
    padding: 20px 30px;
  }
  header.is-animation .wrap #logo img {
    max-width: 160px;
  }
  header.is-animation .wrap #gnav_main {
    padding-top: 30px;
  }
  header.is-animation .wrap #gnav_main .gnav {
    padding: 0 340px 0 220px;
  }
  header.is-animation .wrap #gnav_main ul {
    margin: 0;
  }
  header.is-animation .wrap #gnav_main ul li a {
    font-size: 1.6rem;
    padding: 0 15px 35px;
  }
  header.is-animation .wrap #gnav_main ul li a::after {
    background: #333;
  }
  header.is-animation .wrap #gnav_main ul li a {
    color: #333;
  }
  header.is-animation .wrap #gnav_main ul li.insta {
    margin-left: 15px;
    margin-top: 5px;
    width: 20px;
    height: 20px;
  }
  header.is-animation .wrap #gnav_main ul li.insta a {
    padding: 0;
  }
  header.is-animation .wrap #gnav_main ul li.insta a .icon {
    background: url("../images/insta_b.svg") no-repeat;
  }
  header.is-animation .wrap #gnav_main .dropdown.current a {
    color: #fff;
  }
  header.is-animation .wrap #gnav_main .dropdown.current a::after {
    background: #fff;
  }
  header.is-animation .wrap .tel_box {
    display: block;
    background: #487794;
    margin: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 400px;
		z-index: 3;
  }
	header.is-animation .wrap .tel_box a {
		padding: 20px 20px;
	}
}
@media screen and (max-width: 1200px) {
  header.is-animation .wrap #gnav_main ul li {
    margin: 0;
  }
  header.is-animation .wrap #gnav_main ul li a {
    padding: 0 10px 15px;
  }
}
/*  
  1024px〜トグルメニュー（ipad proサイズから）
---------------------------------*/
@media screen and (max-width: 1024px) {
	.no-scroll {
    overflow: hidden;
    touch-action: none;
  }
  header {
    position: relative;
    z-index: 11;
  }
  header .wrap {
    height: 70px;
    position: absolute;
    top: 0;
  }
  header #logo {
    min-width: 200px;
    width: 250px;
    position: absolute;
    top: 20px;
    left: 30px;
    z-index: 2;
  }
  header .wrap .tel_block {
    display: none;
  }
  header #gnav_main {
    width: 100%;
    display: block;
    z-index: 100;
    position: relative;
  }
  .navToggle {
    color: #fff;
    cursor: pointer;
    position: fixed;
    top: 14px;
    right: 15px;
    display: block;
    width: 50px;
    height: 50px;
    background: transparent;
    -moz-transition: all 0.6s;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
    text-align: center;
    z-index: 100;
  }
  .navToggle::after {
    content: 'MENU';
    font-size: 1rem;
    line-height: 1;
    position: absolute;
    bottom: -5px;
    left: 0;
    right: 0;
    margin: auto;
  }
  .navToggle span {
    display: block;
    position: absolute;
    left: 10px;
    width: 30px;
    height: 2.2px;
    -moz-transition: all 0.3s;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    background-color: #fff;
  }
  .navToggle span:nth-of-type(1) {
    top: 15px;
  }
  .navToggle span:nth-of-type(2) {
    top: 25px;
  }
  .navToggle span:nth-of-type(3) {
    top: 35px;
  }
  .navToggle.active::after {
    color: #333;
    content: 'CLOSE';
  }
  .navToggle.active span {
    background-color: #333;
  }
  .navToggle.active span:nth-of-type(1) {
    display: none;
  }
  .navToggle.active span:nth-of-type(2) {
    width: 30px;
    -moz-transform: rotate(-135deg);
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
    top: 25px;
    right: 0;
  }
  .navToggle.active span:nth-of-type(3) {
    width: 30px;
    -moz-transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    top: 25px;
    right: 0;
  }
  header.is-animation .navToggle {
    color: #333;
  }
  header.is-animation .navToggle span {
    background: #333;
  }
	/* このクラスを、jQueryで付与・削除する */
  .overlay.active {
    background: rgba(0, 0, 0, 0.5);
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100vw;
    height: calc(100vh);
    transition: all 0.6s;
    overflow: hidden;
    z-index: 1;
  }
  /* このクラスを、jQueryで付与・削除する */
  nav.globalMenuSp {
    position: fixed;
    z-index: 3;
    top: 0;
    right: 0;
    background: rgba(243, 243, 243, 0.9);
    color: #000;
    text-align: left;
    transform: translateX(100%);
    transition: all 0.6s;
    max-width: 300px;
    width: 100%;
    height: 100vh;
    overflow-y: scroll;
  }
  nav.globalMenuSp.active {
    transform: translateX(0%);
  }
  nav.globalMenuSp ul {
    margin: 0 auto;
    padding: 0;
    width: 100%;
  }
  /* :::::: drawer menu :::::: */
  header #gnav_main .gnav .pc_none {
    display: block;
  }
  header #gnav_main .gnav ul {
    padding: 70px 0 0;
    list-style-type: none;
    display: block;
  }
  header #gnav_main .gnav ul li {
    width: 100%;
    /*border-bottom: 1px solid #eee;*/
  }
  header #gnav_main .gnav ul li a {
    display: block;
    width: 100%;
    padding: 0.3em 1em;
    color: #4E4947;
    overflow: hidden;
    position: relative;
    font-size: 1.5rem;
    line-height: 45px;
    margin-right: 10px;
  }
  header #gnav_main .gnav ul li a:hover {
    opacity: 1;
  }
  /* ドロップダウン */
  header #gnav_main .gnav ul li.dropdown {
    position: relative;
  }
  header #gnav_main .gnav ul li.dropdown .ac-btn {
    width: 100%;
    height: 50px;
    position: absolute;
    top: 0;
    right: 0;
    cursor: pointer;
  }
  header #gnav_main .gnav ul li.dropdown .ac-btn::before {
    content: '';
    width: 14px;
    height: 10px;
    background: url("../images/ac_btn.svg") no-repeat;
    background-size: contain;
    position: absolute;
    top: 0px;
    right: 20px;
    bottom: 0;
    margin: auto;
    transition: all .3s;
  }
  header #gnav_main .gnav ul li.dropdown .ac-btn.active::before {
    transform: rotate(-180deg);
  }
  /* 子カテゴリー */
  header #gnav_main .gnav .in_menu {
    padding: 0;
    display: none;
  }
  header #gnav_main .gnav .in_menu ul.child {
    padding: 0;
  }
  header #gnav_main .gnav ul.child li {
    /*border-top: 1px dotted #ccc;*/
    border-bottom: none;
    margin-bottom: 0;
    background: rgba(235, 234, 229, 0.9);
  }
  header #gnav_main .gnav ul.child li a {
    line-height: 35px;
    margin-right: 10px;
    padding: .5rem 2.2em;
    font-size: 1.4rem;
    position: relative;
  }
  header #gnav_main .gnav ul.child li a::before {
    content: '';
    width: 7px;
    height: 10px;
    background: url("../images/ac_child.svg") no-repeat;
    background-size: contain;
    position: absolute;
    top: 0px;
    left: 20px;
    bottom: 0;
    margin: auto;
  }
  header .wrap #gnav_main ul li.insta {
    margin: 15px 20px 0 auto;
    width: 30px;
    height: 30px;
  }
  header .wrap #gnav_main ul li.insta a {
    display: block;
    padding: 0;
    width: 100%;
    height: 100%;
  }
  header .wrap #gnav_main ul li.insta a::after {
    content: none;
  }
  header .wrap #gnav_main ul li.insta a .icon {
    background: url("../images/insta_b.svg") no-repeat;
    background-size: contain;
    display: block;
    width: 100%;
    height: 100%;
  }
  header .wrap .tel_box {
    background: #487794;
    text-align: center;
    margin: 0;
    position: fixed;
    left: 0;
    bottom: 0;
    width: 85%;
    z-index: 30;
  }
	header .wrap .tel_box a {
		padding: 25px 20px;
		display: block;
	}
  header .wrap .tel_box img {
    max-width: 300px;
    width: 100%;
    vertical-align: bottom;
  }
  /*  
	スクロールアクション
	---------------------------------*/
  header.is-animation #gnav_main .open::after {
    color: #333;
  }
  header.is-animation #gnav_main .open span {
    background-color: #333;
  }
}
@media screen and (max-width: 580px) {
  header #logo {
    width: 200px;
    position: absolute;
    top: 10px;
    left: 20px;
  }
  header #logo span {
    display: block;
    font-size: 1.4rem;
    font-weight: 400;
    letter-spacing: 2px;
    margin-bottom: 8px;
  }
  header .wrap .tel_box {
    width: 75%;
  }
	header .wrap .tel_box a {
		padding: 20px;
	}
  header .wrap .tel_box img {
    max-width: 220px;
  }
} /* SPend */
/*---------------------------------

  footer上写真（ページごとに写真変更）

---------------------------------*/
.pict_block {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 400px;
}
.pict_block span.soyadentalclnic {
  background: url("../images/soyadentalclinic.svg") no-repeat center;
  background-size: contain;
  width: 90%;
  height: 70px;
}
@media screen and (max-width: 896px) {}
@media screen and (max-width: 580px) {
  .pict_block {
    height: 250px;
  }
}
/*---------------------------------

	footer

---------------------------------*/
footer {
  background: #fff;
  color: #333;
  padding: 100px 0 50px;
}
footer .wrap {
  display: flex;
  justify-content: space-between;
  margin: auto;
  max-width: 1200px;
  width: 90%;
}
footer .wrap .logo {
  display: flex;
  align-items: center;
  padding-right: 60px;
  width: 450px;
}
footer .wrap .logo img {
  vertical-align: bottom;
}
footer .wrap .logo img.mark {
  width: 80px;
  margin-right: 1.5em;
}
footer .wrap .logo img.text {
  width: 280px;
}
footer .wrap .f_nav {
  width: 50%;
}
footer .wrap .f_nav ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
}
footer .wrap .f_nav ul li {
  margin-bottom: 1em;
  width: 33%;
}
footer .wrap .f_nav ul li a {
  color: #333;
  display: block;
  font-weight: 500;
}
footer .wrap .f_nav ul li a span::before {
  background: url("../images/a_deco.svg") no-repeat;
  content: '';
  display: inline-block;
  width: 13px;
  height: 13px;
  margin-right: .5em;
  transition: transform .3s;
}
footer .wrap .f_nav ul li a:hover span::before {
  transform: rotate(45deg);
}
footer .wrap .f_nav ul li.policy {
	font-size: 1.3rem;
	margin-top: .8rem;
}
/*
	バナー
---------------------------------*/
footer .bunner_wrap {
  padding: 70px 0;
  margin: auto;
  max-width: 1200px;
  width: 90%;
}
footer .bunner_wrap .bunner_list {
  display: flex;
  justify-content: center;
  list-style: none;
}
footer .bunner_wrap .bunner_list li {
  text-align: center;
  margin: 0 20px;
}
footer .bunner_wrap .bunner_list li a {
  display: block;
}
footer .bunner_wrap .bunner_list li img {
  margin: auto;
  width: auto;
  max-width: 100%;
  vertical-align: bottom;
  height: 80px;
}
footer .bunner_wrap .bu_selection {
  border: 1px solid #ccc;
  margin: 50px auto 0;
  max-width: 350px;
  width: 100%;
}
footer .bunner_wrap .bu_selection a {
  display: block;
}
footer .bunner_wrap .bu_selection a img {
  width: 100%;
  vertical-align: bottom;
}
/*  矢印  */
footer .bunner_wrap #arrows2 {
  margin: auto;
  max-width: 1100px;
  width: 90%;
  position: relative;
  z-index: 1;
  padding-top: 80px;
}
footer .bunner_wrap #arrows2 .slick-arr {
  display: block;
  cursor: pointer;
  position: absolute;
  top: 0;
  right: 0;
  width: 60px;
  height: 60px;
	transform: none;
}
footer .bunner_wrap #arrows2 .slick-arr.prev {
  right: 80px;
	left: auto;
}
footer .bunner_wrap #arrows2 .slick-arr span {
  box-shadow: 4px 4px 3px 0 rgba(119, 114, 114, 0.1);
  border-radius: 50%;
  display: block;
  width: 100%;
  height: 100%;
}
footer .bunner_wrap #arrows2 .slick-arr.prev span {
  background: url("../images/content_slide_arr_prev.svg") no-repeat;
}
footer .bunner_wrap #arrows2 .slick-arr.next span {
  background: url("../images/content_slide_arr_next.svg") no-repeat;
}
/*
	コピーライト
---------------------------------*/
footer .copylight {
  color: #aaa;
  text-align: center;
}
footer .copylight small {
  font-size: 1.2rem;
  letter-spacing: 2px;
}
@media screen and (max-width: 1024px) {
  footer {
    padding: 100px 0 150px;
  }
  footer .wrap {
    display: block;
  }
  footer .wrap .logo {
    justify-content: center;
    padding-right: 0;
    margin-bottom: 50px;
    width: 100%;
  }
  footer .wrap .f_nav {
    display: none;
  }
  footer .wrap .f_nav ul li {
    width: 25%;
  }
}
@media screen and (max-width: 896px) {}
@media screen and (max-width: 580px) {
  footer {
    padding: 50px 0 150px;
  }
  footer .wrap .logo {
    display: block;
    margin-bottom: 30px;
  }
  footer .wrap .logo img {
    display: block;
    margin: auto;
  }
  footer .wrap .logo img.mark {
    margin-right: auto;
    margin-bottom: 20px;
  }
  footer .bunner_wrap {
    padding: 20px 0 50px;
  }
  footer .bunner_wrap .bunner_list li {
    text-align: center;
    margin: 0 5px;
  }
  footer .bunner_wrap .bunner_list li a {
    display: block;
  }
  footer .bunner_wrap .bunner_list li img {
    width: 100%;
    max-width: 100%;
    height: auto;
  }
}
/*---------------------------------

	pagetop

---------------------------------*/
#page-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 10;
}
#page-top a {
  background: #544B40;
  text-decoration: none;
  color: #fff;
  width: 50px;
  height: 50px;
  text-align: center;
  display: block;
  border-radius: 50%;
  position: relative;
}
#page-top a .arrow {
  display: block;
}
#page-top a .arrow::before {
  content: '';
  width: 12px;
  height: 12px;
  background: url("../images/pagetop_arrow.svg") no-repeat;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  transition: all .3s;
}
#page-top a:hover {
  opacity: 1;
  text-decoration: none;
  background: #38322B;
}
#page-top a:hover .arrow::before {
  top: -10px;
}
@media screen and (max-width: 1024px) {
  #page-top {
    position: fixed;
    bottom: 0;
    right: 0;
    width: 15%;
  }
  #page-top a {
    border-radius: 0%;
    width: 100%;
    height: 108px;
  }
  #page-top a .arrow::before {
    width: 20px;
    height: 16px;
    background: url("../images/pagetop_arrow.svg") no-repeat;
    position: absolute;
  }
}
@media screen and (max-width: 580px) {
  #page-top {
    width: 25%;
  }
  #page-top a {
    height: 83px;
  }
}
/*=======================================================
  サブページ共通
=======================================================*/
/*---------------------------------

  ページタイトル

---------------------------------*/
#page_headtitle {
  background-size: cover;
  background-position: center;
  height: 350px;
  position: relative;
}
#page_headtitle::before {
  background: rgba(0, 0, 0, 0.1);
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#page_headtitle h1 {
  background-repeat: no-repeat;
  background-size: contain;
  background-position: right;
  position: absolute;
  right: 0;
  bottom: -3px;
  width: 100%;
  height: 150px;
}
#page_headtitle h1 span {
  opacity: 0;
}
@media screen and (max-width: 480px) {
  #page_headtitle {
    height: 240px;
  }
}
/*
  パンくず
---------------------------------*/
#breadlist {
  font-size: 1.4rem;
  font-weight: 300;
  list-style: none;
  margin: 20px auto;
  width: 90%;
}
#breadlist li {
  display: inline-block;
}
#breadlist li::after {
  border-style: solid;
  border-width: 3px 0 3px 6px;
  border-color: transparent transparent transparent #ccc;
  content: '';
  display: inline-block;
  margin: 0 5px;
  width: 0;
  height: 0;
}
#breadlist li:last-child::after {
  content: none;
}
#breadlist li a, #breadlist li {
  color: #333;
}
@media screen and (max-width: 480px) {
  #breadlist {
    font-size: 1.2rem;
  }
}
/*---------------------------------

  共通

---------------------------------*/
.page section .wrap {
  margin: 0 auto;
  max-width: 1200px;
  width: 90%;
}
/*
  テキスト
---------------------------------*/
section .txt {
  font-weight: 300;
  line-height: 1.85;
  text-align: justify;
}
section .txt p + p {
  margin-top: .8em;
}
/*
  テキストリンク
---------------------------------*/
section .txt_link {
  margin-top: 20px;
}
section .txt_link a {
  color: #333;
  display: inline-block;
  font-weight: 500;
  position: relative;
}
section .txt_link a span {
  color: #333;
  background: linear-gradient(#C7B299, #C7B299) left bottom / 100% 1px no-repeat;
  transition: background-size .4s;
  display: inline;
  line-height: 2;
  padding: 0px 0 .5em 1.1em;
  position: relative;
}
section .txt_link a span::before {
  background: url("../images/a_deco.svg") no-repeat;
  content: '';
  position: absolute;
  top: 0.8rem;
  left: 0;
  width: 13px;
  height: 13px;
  transition: transform .3s;
}
section .txt_link a:hover {
  opacity: 1;
}
section .txt_link a:hover span {
  background-position: right bottom;
  background-size: 0 1px;
}
section .txt_link a:hover span::before {
  transform: rotate(45deg);
}
@media screen and (max-width: 896px) {}
@media screen and (max-width: 480px) {
  section .txt_link a span::before {
    top: 0.4rem;
  }
}
/*
  画像（バッググラウンド）
---------------------------------*/
section figure .img {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 100%;
  height: 100%;
}
/*
  テキスト
---------------------------------*/
.page .outline_block .copy_menu_wrap {
  display: flex;
  align-items: center;
  margin-bottom: 40px;
}
.page .outline_block .copy_menu_wrap .copy_ttl {
  color: #444;
  line-height: 1.7;
}
.page .outline_block .copy_menu_wrap .copy_ttl h2 {
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-size: 5rem;
  letter-spacing: 5px;
  font-weight: 400;
}
.page .outline_block .copy_menu_wrap .copy_ttl p {
  text-align: justify;
  font-weight: 300;
	margin-right: 20px;
  margin-top: 10px;
}
/* ページ内メニュー */
.page .outline_block .copy_menu_wrap .page_link_menu {
  margin: auto;
  width: 320px;
}
.page .outline_block .copy_menu_wrap .page_link_menu ul {
  list-style: none;
}
.page .outline_block .copy_menu_wrap .page_link_menu ul li {
  border-bottom: 1px dotted #ccc;
}
.page .outline_block .copy_menu_wrap .page_link_menu ul li a {
  color: #333;
  display: block;
  padding: 15px 5px;
  position: relative;
}
.page .outline_block .copy_menu_wrap .page_link_menu ul li a::after {
  background: url("../images/page_link_arr.svg");
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 15px;
  height: 15px;
}
/*スクロールしたら*/
.page #page_menu {
  position: fixed;
  top: 200px;
  right: 0;
  width: 160px;
  z-index: 1;
  -webkit-transition: all .3s;
  transition: all .3s;
  transform: translateX(100%);
}
.page #page_menu.fixed {
  transform: translateX(0%);
}
.page #page_menu ul li {
  border-bottom: none;
  margin-bottom: 1px;
  list-style: none;
}
.page #page_menu ul li a {
  border-radius: 5px 0 0 5px;
  background: #DD832E;
  color: #fff;
  display: block;
  font-size: 1.2rem;
  padding: 8px 15px 8px 5px;
  position: relative;
}
.page #page_menu ul li a::after {
  background: url("../images/page_link_arr_f.svg");
  content: '';
  position: absolute;
  top: 0;
  right: 5px;
  bottom: 0;
  margin: auto;
  width: 10px;
  height: 10px;
}
.page #page_menu ul li a br {
  display: none;
}
/*タイトル*/
.page .outline_block .ttl {
  text-align: center;
  margin: 80px auto 50px;
}
.page .outline_block .ttl h3 {
  font-weight: 500;
  font-size: 2.8rem;
  letter-spacing: 5px;
  line-height: 1.5;
}
.page .outline_block .txt {
  margin: 50px auto;
  max-width: 750px;
  width: 90%;
}
@media screen and (max-width: 896px) {
  .page .outline_block .copy_menu_wrap .copy_ttl h2 {
    font-size: 2.5rem;
		letter-spacing: 2px;
  }
  .page .outline_block .copy_menu_wrap .page_link_menu {
    font-size: 1.4rem;
    width: 250px;
  }
}
@media screen and (max-width: 580px) {
  .page .outline_block .copy_menu_wrap {
    display: block;
    margin-bottom: 2rem;
  }
	.page .outline_block .ttl {
		margin: 50px auto 30px;
	}
  .page .outline_block .ttl h3 {
    font-size: 2.3rem;
  }
	.page .outline_block .txt {
		margin: 3rem auto;
	}
  .page .outline_block .copy_menu_wrap .copy_ttl {
    text-align: center;
  }
  .page .outline_block .copy_menu_wrap .page_link_menu {
    margin: 2rem auto;
    max-width: 320px;
    width: 90%;
  }
  .page #page_menu {
    display: none;
  }
}