@charset "utf-8";
/* CSS Document */
html {
 font-size: 62.5%; /* 16px * 62.5% = 10px */
 width: 100%;
 box-sizing: border-box;
 scroll-behavior: smooth;
}
body {
 background-color: #FAF8F5;
 font-family: "Noto Serif JP", serif;
 font-size: 1.6rem;
 font-weight: 400;
 line-height: 1.6em;
 color: #245659;
}
@media (min-width: 1000px) {
 .header {
  position: fixed;
  z-index: 2;
  width: 50%;
  height: 100vh;
 }
 main {
  margin-left: 50%;
 }
 .main_bg {
  z-index: -1;
  width: 100%;
  height: 100vh;
  background-image: url("../images/bg_gd1.png"), url("../images/bg_gd2.png");
  background-position: left -120px top 10px, left calc(50% - 130px) bottom -30px;
  background-repeat: no-repeat;
  background-size: 45%, 20%;
  position: fixed;
 }
}
.none {
 display: none;
}
*, *:before, *:after {
 box-sizing: border-box;
}
a {
 color: inherit;
 text-decoration: none;
}
h2, h3 {
 font-size: 2.2rem;
 font-weight: 600;
 line-height: 1.2em;
}
/*ヘッダー*/
header {
 position: relative;
}
.header h2 {
 position: absolute;
 z-index: 2;
 top: 140px;
 left: 6.67%;
 font-size: 3.2rem;
 color: #245659;
 text-shadow: 1px 1px 1.5px rgba(255, 255, 255, 1);
}
.header_title {
 position: absolute;
 z-index: 2;
 bottom: 120px;
 left: 6.67%;
 color: #245659;
 line-height: 1.6em;
 border-left: solid 3px #245659;
 padding-left: 10px;
 text-shadow: 1px 1px 1.5px rgba(255, 255, 255, 1);
}
.header_title h1 {
 font-size: 2.6rem;
 font-weight: 600;
}
.header_title span {
 display: inline-block;
 font-size: 4.1rem;
 font-weight: 700;
 line-height: 1.1em;
}
.header_title p {
 font-size: 2.6rem;
 font-weight: 700;
}
@media (min-width: 1000px) {
 .header h2 {
  top: 160px;
 }
 .header_title {
  bottom: 50px;
 }
}
/*メインビジュアルのスライドショー*/
.slide {
 position: relative;
 width: 88.46%;
 height: 100vh;
 overflow: hidden;
 margin: 0 0 0 auto;
}
.slide-image {
 background-position: center;
 background-repeat: no-repeat;
 background-size: cover;
 position: absolute;
 width: 100%;
 height: 100%;
 opacity: 0;
 animation: slider-1 24s linear infinite;
}
.slide-image:nth-child(1) {
 background-image: url("../images/image4.jpg");
 animation-delay: -2s;
}
.slide-image:nth-child(2) {
 background-image: url("../images/room3.jpg");
 animation-delay: 6s;
}
.slide-image:nth-child(3) {
 background-image: url("../images/image3.jpg");
 animation-delay: 14s;
}
@keyframes slider-1 {
 0% {
  opacity: 0;
  transform: scale(1);
 }
 4.16% {
  opacity: 1;
 }
 33.33% {
  opacity: 1;
 }
 41.66% {
  opacity: 0;
  transform: scale(1.1);
 }
 100% {
  opacity: 0;
 }
}
@media (min-width: 1000px) {
 .slide-image:nth-child(1) {
  background-image: url("../images/exterior2.jpg");
  animation-delay: -2s;
 }
 .slide-image:nth-child(2) {
  background-image: url("../images/room9.jpg");
  animation-delay: 6s;
 }
 .slide-image:nth-child(3) {
  background-image: url("../images/room10.jpg");
  animation-delay: 14s;
 }
}
/*SP最下部固定メニューバー*/
.menu_bar {
 position: fixed;
 z-index: 999;
 bottom: 0;
 width: 100%;
 height: 80px;
 background-color: rgba(250, 248, 245, 0.9);
 padding-left: 11.54%;
 padding-right: 11.54%;
}
.menu_bar_inner {
 display: flex;
}
.openbtn1 {
 position: relative;
 cursor: pointer;
 width: 43px;
 height: 38px;
 top: 20px;
 left: 0;
}
.openbtn1 span {
 display: inline-block;
 transition: all .4s;
 position: absolute;
 height: 2px;
 background: #245659;
}
.openbtn1 span:nth-of-type(1) {
 top: 0;
 width: 100%;
}
.openbtn1 span:nth-of-type(2) {
 top: 15px;
 width: 60%;
}
.openbtn1 span:nth-of-type(2)::after {
 content: "Menu";
 position: absolute;
 top: 10px;
 left: 0;
 color: #245659;
 font-size: 1.3rem;
 font-weight: 500;
 text-transform: uppercase;
}
.openbtn1.active span:nth-of-type(1) {
 top: 4px;
 left: 0;
 transform: translateY(6px) rotate(-30deg);
 width: 100%;
}
.openbtn1.active span:nth-of-type(2) {
 top: 16px;
 left: 0;
 transform: translateY(-6px) rotate(30deg);
 width: 100%;
}
.openbtn1.active span:nth-of-type(2)::after {
 content: "Close";
 transform: translateY(0) rotate(-30deg);
 top: 11px;
 left: 14px;
}
@media (min-width: 1000px) {
 .menu_bar {
  position: fixed;
  z-index: 999;
  top: 1.5%;
  left: 1.5%;
  width: 3%;
  height: 80px;
  background-color: none;
  padding-left: 0;
  padding-right: 0;
 }
}
/*カウンセリング予約ボタン*/
.reserve_btn {
 position: relative;
 text-align: center;
 border: solid 2px #245659;
 border-radius: 7px;
 width: 200px;
 height: 48px;
 margin: 16px 0 0 auto;
 padding: 4px 10px 5px 32px;
 color: #245659;
 font-size: 1.5rem;
 line-height: 1.2em;
}
.reserve_btn:before {
 position: absolute;
 content: '';
 top: 11px;
 left: 10px;
 background-image: url("../images/tel_bl.png");
 background-size: contain;
 background-repeat: no-repeat;
 width: 24px;
 height: 26px;
}
@media (min-width: 1000px) {
 .reserve_btn {
  display: none;
 }
}
/*ナビゲーション*/
#g-nav {
 position: fixed;
 z-index: 99;
 bottom: -120%;
 left: 0;
 width: 100%;
 height: 100vh;
 background: rgba(250, 248, 245, 0.9);
 transition: all 0.6s;
 color: #245659;
 padding: 40px 0 0 50px;
}
#g-nav.panelactive {
 top: 0;
}
.g-nav_title {
 margin-bottom: 50px;
}
.g-nav_title p {
 font-size: 1.8rem;
 font-weight: 500;
}
.g-nav_title span {
 display: inline-block;
 font-size: 3.6rem;
 font-weight: 500;
 line-height: 1.0em;
}
.inquiry {
 display: flex;
 margin-top: 5px;
}
.p_bg {
 border: solid 1px #245659;
 padding: 5px 10px;
 font-size: 1.8rem;
 font-weight: 500;
 margin-right: 10px;
}
.tel {
 position: relative;
 font-size: 2.0rem;
 font-weight: 500;
 padding: 6px 0 6px 25px;
}
.tel:before {
 position: absolute;
 content: '';
 background-image: url("../images/tel_bl.png");
 background-size: contain;
 background-repeat: no-repeat;
 width: 19px;
 height: 20px;
 top: 10px;
 left: calc(50% - 68px);
}
@media (min-width: 1000px) {
 #g-nav {
  position: fixed;
  z-index: 99;
  left: -120%;
  left: 0;
  width: 35%;
  max-width: 450px;
 }
 #g-nav.panelactive {
  right: 50%;
 }
 .g-nav_title {
  margin: 60px 0 50px;
 }
}
/*ナビリストのレイアウト設定*/
#g-nav li {
 list-style: none;
}
.g-nav li a {
 position: relative;
 text-decoration: none;
 display: block;
 font-size: 2.0rem;
 font-weight: 600;
 padding-bottom: 25px;
}
.g-nav li a:before {
 position: absolute;
 content: '';
 width: 30px;
 height: 1px;
 top: 10px;
 left: -50px;
 background-color: #245659;
}
.li_li {
 margin-bottom: 10px;
}
.li_li li a {
 font-size: 1.6rem;
 padding-bottom: 15px;
 line-height: 1.9rem;
}
.li_li li a:before {
 display: none;
}
.li_li span {
 font-size: 1.3rem;
}
/*美容皮膚科について*/
.about_us_inner {
 /*枠背景*/
 background-image: url("../images/bg_gd1.png");
 background-position: 90% 8%;
 background-repeat: no-repeat;
 background-size: 130%;
}
#about_us {
 padding: 100px 0 60px;
 text-align: justify;
 height: 1100px;
 max-width: 800px;
 margin: 0 auto;
}
#about_us h2 {
 line-height: 1.7em;
 margin-bottom: 50px;
 font-weight: 500;
}
#about_us span {
 font-size: 3.1rem;
 font-weight: 600;
}
.message {
 padding: 0 11% 0;
 margin-bottom: 150px;
}
.pc {
 display: none;
}
.room {
 display: none;
}
.doctor {
 position: relative;
 background-image: url("../images/bg_wh.png");
 background-repeat: no-repeat;
 background-size: cover;
 background-position: 40%;
 width: 100vw;
 height: 400px;
}
.doctor_inner {
 padding: 0 11% 0;
}
.doctor_inner img {
 position: absolute;
 top: -110px;
 right: 11%;
 width: 45%;
 height: auto;
}
.department {
 position: absolute;
 top: 60px;
 left: 11%;
}
.name {
 font-size: 1.3rem;
 line-height: 1.3em;
}
.doctor_message {
 position: absolute;
 font-size: 1.5rem;
 line-height: 1.5em;
 padding-right: 11%;
 bottom: -30px;
}
@media (min-width: 600px) {
 .about_us_inner {
  /*枠背景*/
  background-image: none;
 }
 #about_us {
  padding: 90px 9.26% 60px;
  height: 1500px;
 }
 .message {
  padding: 0;
  margin-bottom: 100px;
 }
 .pc {
  display: block;
 }
 .room {
  position: relative;
  display: block;
  height: 400px;
  max-width: 800px;
  margin: 0 auto 100px;
 }
 .room1 {
  position: relative;
  background-image: url("../images/room1.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  width: 325px;
  height: 280px;
 }
 .room1_line {
  position: absolute;
  width: 325px;
  height: 280px;
  border: solid 1px #245659;
  top: -10px;
  left: 10px;
 }
 .position1 {
  position: absolute;
  top: 0;
  left: 0;
 }
 .room2 {
  position: relative;
  background-image: url("../images/room2.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  width: 220px;
  height: 210px;
 }
 .room2_line {
  position: absolute;
  width: 220px;
  height: 210px;
  border: solid 1px #245659;
  top: 10px;
  left: 10px;
 }
 .position2 {
  position: absolute;
  top: 150px;
  right: 0;
 }
 .doctor {
  position: relative;
  background-image: url("../images/bg_wh.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 100%;
  height: 450px;
 }
 .doctor_inner img {
  position: absolute;
  top: -10px;
  left: calc(50% - -100px);
  width: 35%;
  max-width: 200px;
  height: auto;
 }
 .department {
  top: 100px;
 }
 .doctor_message {
  position: absolute;
  top: 170px;
  left: 11%;
  width: 60%;
 }
}
/*悩みについて*/
.worries_inner {
 /*枠背景*/
 background-image: url("../images/bg_gd2.png");
 background-position: right -130px bottom 0;
 background-repeat: no-repeat;
 background-size: 100%;
}
#worries {
 padding: 40px 0 130px;
}
#worries h2 {
 text-align: center;
 margin-bottom: 30px;
}
#worries ul {
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
}
.worries_btn {
 display: inline-block;
 position: relative;
 background: #FFF;
 width: 300px;
 height: 100px;
 padding: 20px 30px 10px 20px;
 color: #245659;
 border: 1px solid #245659;
 font-size: 1.6rem;
 font-weight: 600;
 line-height: 1.3em;
 margin: 0 5px 10px;
 text-align: justify;
 box-shadow: 5px 5px 3px rgba(229, 229, 229, 1);
}
.worries_btn::after {
 display: block;
 position: absolute;
 content: "";
 top: calc(50% - -25px);
 right: 30px;
 width: 50px;
 height: 5px;
 border-right: 2px solid #245659;
 border-bottom: 1px solid #245659;
 transform: skew(45deg);
 transition: .3s;
}
@media (min-width: 600px) {
 #worries {
  padding: 60px 0 130px;
 }
 .worries_inner {
  background-image: none;
  max-width: 800px;
  margin: 0 auto;
 }
 #worries h2 {
  text-align: center;
  margin-bottom: 50px;
 }
}
.message2 {
 padding: 0 11% 50px;
 text-align: justify;
 max-width: 800px;
 margin: 0 auto;
}
.message2 h2 {
 line-height: 1.7em;
 margin-bottom: 30px;
 font-weight: 500;
}
.message2 span {
 font-size: 3.1rem;
 font-weight: 600;
}
.message2 img {
 width: 100%;
 height: auto;
 display: block;
 margin: 0 auto;
}
@media (min-width: 600px) {
 .message2 {
  padding: 0 9.26% 50px;
 }
 .message2 img {
  width: 70%;
  max-width: 400px;
  height: auto;
 }
}
/*当院の施術メニュー*/
#menu {
 padding: 40px 0 60px;
 text-align: center;
}
.menu h2 {
 font-size: 2.4rem;
 position: relative;
 display: inline-block;
 margin-bottom: 1em;
}
.menu h2:before {
 content: '';
 position: absolute;
 bottom: -15px;
 display: inline-block;
 width: 100px;
 height: 2px;
 left: 50%;
 -webkit-transform: translateX(-50%);
 transform: translateX(-50%);
 background-color: #245659;
}
.menu ul {
 display: flex;
 flex-wrap: wrap;
 padding: 20px 5.4% 60px;
}
.menu a {
 display: block;
 padding: 6px 8px;
 margin: 0 1px 2px;
 font-size: 1.4rem;
 color: #FFF;
 background-color: #245659;
 border-radius: 3px;
}
.menu_inner {
 padding: 50px 35px 60px;
 background-color: #FFF;
 width: 350px;
 margin: 0 auto 60px;
 box-shadow: 5px 5px 3px 0px rgba(229, 229, 229, 1);
}
.menu_inner h3 {
 margin-bottom: 30px;
}
@media (min-width: 600px) {
 .menu {
  padding: 0 9.26%;
 }
 .menu_inner {
  padding: 50px 50px 60px;
  width: 450px;
  margin: 0 auto 60px;
 }
 .menu ul {
  padding: 20px 0 60px;
  width: 450px;
  margin: 0 auto;
 }
 .menu_inner h3 {
  margin-bottom: 50px;
 }
}
.ipl p {
 font-size: 1.5rem;
 color: #333;
 text-align: justify;
 margin-bottom: 30px;
}
.ipl span {
 font-size: 1.6rem;
}
.ipl img {
 width: 100%;
 height: auto;
 margin-bottom: 50px;
}
.recommend {
 padding-bottom: 80px;
}
.recommend h3 {
 font-size: 2.0rem;
}
.recommend ul li {
 position: relative;
 text-align: left;
 font-size: 1.7rem;
 font-weight: 500;
 padding-left: 35px;
 line-height: 2.5em;
 color: #333;
}
.recommend ul li:before {
 position: absolute;
 content: '';
 background-image: url("../images/check_bl.png");
 background-size: contain;
 background-repeat: no-repeat;
 width: 23px;
 height: 20px;
 left: 0;
 top: 13px;
}
@media (min-width: 600px) {
 .recommend {
  padding-bottom: 100px;
 }
 .recommend ul {
  width: 80%;
  margin: 0 auto;
 }
}
/*施術のステップフロー*/
.flow {
 padding-bottom: 60px;
}
.flow h3 {
 position: relative;
}
.flow h3::before, .flow h3::after {
 position: absolute;
 content: '';
 background-image: url("../images/flow.png");
 background-size: contain;
 background-repeat: no-repeat;
 width: 30px;
 height: 20px;
 top: 8px;
}
.flow h3::before {
 left: calc(50% - 105px);
}
.flow h3::after {
 right: calc(50% - 100px);
}
.step_flow {
 font-family: "Moon Dance", cursive;
 font-size: 4.0rem;
 color: #B2C1AF;
 margin-bottom: 10px;
}
.step_title {
 font-size: 2.0rem;
 font-weight: 600;
 margin-bottom: 15px;
}
.explanation {
 text-align: justify;
 font-size: 1.5rem;
 line-height: 1.4em;
 margin-bottom: 20px;
 color: #333;
}
.explanation span {
 font-size: 1.4rem;
 color: #245659;
}
.triangle {
 width: 40px;
 height: 20px;
 aspect-ratio: 1/cos(30deg);
 clip-path: polygon(50% 100%, 100% 0, 0 0);
 background: #245659;
 margin: 0 auto 40px;
}
/*副作用、施術後の反応、ビタミンC、トラネキサム酸について*/
.point {
 position: relative;
 display: inline-block;
 padding: 1.8em .8em .8em;
 width: 280px;
 border: solid 1px #245659;
 text-align: left;
 margin: 10px 0 20px;
}
.point .point_title {
 position: absolute;
 font-size: 1.8rem;
 font-weight: 600;
 top: -1.2em;
 left: 50%;
 padding: 0.4em;
 background-color: white;
 transform: translateX(-50%);
 white-space: nowrap;
}
.point_title2 {
 text-align: center;
 font-size: 1.5rem;
 font-weight: 600;
 margin-bottom: 10px;
}
.point_inner {
 margin-bottom: 40px;
}
.point_inner:last-child {
 margin-bottom: 10px;
}
.point img {
 width: 100%;
 height: auto;
}
@media (min-width: 600px) {
 .point {
  width: 350px;
 }
}
/*注意事項についてのアコーデオンパネル*/
.accordion-area {
 list-style: none;
 width: 100%;
 max-width: 350px;
 margin: 0 auto;
}
.accordion-area li {
 margin: 10px 0;
}
.accordion-area section {
 border: 1px solid #245659;
}
.accordion-area h2 {
 font-size: 1.6rem;
}
.title {
 position: relative;
 cursor: pointer;
 font-size: 1rem;
 font-weight: 500;
 padding: 20px 15px;
 transition: all .5s ease;
 height: 60px;
 color: #FFF;
 background: #245659;
 text-align: left;
}
.title::before, .title::after {
 position: absolute;
 content: '';
 width: 15px;
 height: 2px;
 background-color: #FFF;
}
.title::before {
 top: 48%;
 right: 15px;
 transform: rotate(0deg);
}
.title::after {
 top: 48%;
 right: 15px;
 transform: rotate(90deg);
}
.title.close::before {
 transform: rotate(0deg);
}
.title.close::after {
 transform: rotate(0deg);
}
.box {
 display: none;
 background: #FAFAFA;
 padding: 20px 6% 5%;
}
.box h3 {
 font-size: 1.8rem;
 font-weight: 600;
}
.box_scroll {
 padding-top: 20px;
 height: 330px;
 overflow: auto;
}
.box_scroll h4 {
 text-align: left;
 font-size: 1.6rem;
 font-weight: 600;
 padding-left: 8px;
 margin-bottom: 15px;
 border-left: solid 5px #245659;
 line-height: 1em;
}
.box_scroll p {
 text-align: justify;
}
.box_inner {
 padding-bottom: 80px;
}
.box_inner:last-child {
 padding-bottom: 40px;
}
.box_group {
 font-size: 1.5rem;
 line-height: 1.35em;
 color: #333;
 margin-bottom: 50px;
}
.box_group span {
 font-size: 1.4rem;
 color: #245659;
}
.box_group2 {
 font-size: 1.5rem;
 line-height: 1.35em;
 color: #333;
 margin-bottom: 20px;
}
/*施術料金についてのアコーデイオンパネル*/
.ipl_box span {
 font-size: 1.6rem;
}
.box table {
 width: 98%;
 margin: 0 auto 25px;
 color: #333;
}
.box tr {
 border-bottom: solid 1px #245659;
}
.box tr:last-child {
 border: none;
}
.box tr:first-child {
 border-bottom: solid 1px #245659;
}
.ipl_box tr:first-child {
 border: none;
}
.box th {
 font-size: 1.5rem;
 font-weight: 500;
 padding: 7px 0;
 width: 70%;
 text-align: left;
}
.box td {
 font-size: 1.5rem;
 font-weight: 500;
 text-align: right;
 padding: 7px 0;
 width: 28%;
 vertical-align: middle;
}
.menu_name {
 margin-top: 20px;
}
.group {
 margin-top: 60px;
}
.guideline {
 font-size: 1.4rem;
 font-weight: 500;
 text-align: left;
}
/*医療レーザー脱毛*/
.epilation p {
 font-size: 1.5rem;
 color: #333;
 text-align: justify;
 margin-bottom: 30px;
}
.epilation img {
 width: 100%;
 height: auto;
 margin-bottom: 50px;
}
.menu_message {
 margin: -35px 0 20px;
}
.menu_message p {
 font-size: 1.5rem;
 line-height: 1.4em;
 color: #C30003;
}
/*ケミカルピーリング*/
.peeling_inner {
 padding-bottom: 20px;
}
#peeling ul li:first-child {
 display: none;
}
/*イオン導入*/
.ion img {
 width: 100%;
 height: auto;
 margin-bottom: 20px;
}
.ion span {
 font-size: 1.3rem;
 color: #333;
 text-align: left;
 display: block;
}
.ion_inner {
 margin-bottom: 20px;
}
#ion ul li:first-child {
 display: none;
}
/*肌画像撮影機*/
.photo img {
 width: 100%;
 height: auto;
 margin-bottom: 20px;
}
.photo img:last-child {
 margin-bottom: 0;
}
.photo p {
 color: #333;
 text-align: left;
}
/*化粧品の販売*/
#cosme {
 position: relative;
}
.cosme_inner {
 width: 100%;
 height: 410px;
 background-image: url("../images/cosme.jpg");
 background-position: 5%;
 background-repeat: no-repeat;
 background-size: cover;
 max-width: 1000px;
 margin: 0 auto;
}
.cosme {
 position: absolute;
 width: 350px;
 height: 300px;
 padding: 70px 6.41% 0;
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%);
 background: rgba(255, 255, 255, 0.5);
 backdrop-filter: blur(2px);
 -webkit-backdrop-filter: blur(2px);
}
.cosme h3 {
 margin-bottom: 40px;
}
.cosme p {
 color: #333;
 font-weight: 600;
 text-align: justify;
}
@media (min-width: 600px) {
 .cosme_inner {
  height: 450px;
 }
 .cosme {
  width: 450px;
 }
}
.menu_message {
 margin: -15px 0 20px;
}
.menu_message p {
 font-size: 1.3rem;
 line-height: 1.3em;
 color: #C30003;
}
/*診察時間*/
#hours {
 padding: 40px 9% 60px;
}
.hours {
 max-width: 400px;
 margin: 0 auto;
}
.hours h2 {
 text-align: center;
 margin-bottom: 50px;
}
.hours table {
 width: 100%;
 margin: 0 auto 25px;
}
.hours tr {
 border-bottom: solid 1px #245659;
}
.hours tr:nth-child(2) {
 border: none;
 background-image: linear-gradient(to right, #245659 2px, transparent 2px);
 background-size: 10px 2px;
 background-repeat: repeat-x;
 background-position: bottom;
 line-height: 2em;
}
.hours th {
 width: 33%;
 font-size: 1.6rem;
 font-weight: 500;
 padding: 8px 0;
}
.hours td {
 width: 67%;
 text-align: right;
 padding: 8px 0;
 letter-spacing: 15px;
}
.hours p {
 font-size: 1.5rem;
 text-align: justify;
}
.hours span {
 font-weight: 700;
}
.hours_tel p {
 position: relative;
 text-align: center;
 padding-left: 30px;
 margin: 40px 30px;
 font-size: 2.8rem;
 letter-spacing: 1px;
}
.hours_tel p:before {
 position: absolute;
 content: '';
 background-image: url("../images/tel_bl.png");
 background-size: contain;
 background-repeat: no-repeat;
 width: 27px;
 height: 30px;
 top: 1px;
 left: calc(50% - 120px);
}
/*フッター*/
.footer {
 width: 100%;
 height: 300px;
 color: #FFF;
 background-color: #245659;
 padding: 50px 0 60px;
}
.footer_img {
 display: flex;
 justify-content: center;
 padding-bottom: 30px;
}
.footer_img img {
 width: 65px;
 height: 63.91px;
 margin: 5px 10px 0 0;
}
.footer_img h2 {
 font-size: 1.8rem;
 font-weight: 500;
 margin-bottom: 5px;
}
address {
 font-size: 1.3rem;
 font-weight: 400;
 line-height: 1.2em;
 font-style: normal;
}
small {
 font-size: 1.1rem;
 font-weight: 400;
 display: block;
 text-align: center;
 line-height: 1em;
}
@media (min-width: 1000px) {
 .footer {
  height: 225px;
 }
}
/*TOPへ戻るボタン*/
#up_btn a {
 position: relative;
 display: flex;
 cursor: pointer;
 font-size: 1.4rem;
 font-weight: 700;
 color: #245659;
 writing-mode: vertical-rl;
}
#up_btn a::before {
 content: '';
 width: 0.7em;
 height: 0.7em;
 border: 0.12em solid currentColor;
 border-left: 0;
 border-bottom: 0;
 transform: rotate(-45deg);
 transform-origin: top right;
 position: absolute;
 top: -2em;
 right: 50%;
 box-sizing: border-box;
}
#up_btn a::after {
 content: '';
 width: 0.7em;
 height: 0.7em;
 border: 0.12em solid currentColor;
 border-left: 0;
 border-bottom: 0;
 transform: rotate(-45deg);
 transform-origin: top right;
 position: absolute;
 top: -1.5em;
 right: 50%;
 box-sizing: border-box;
}
#up_btn {
 position: fixed;
 bottom: 100px;
 right: 5px;
 opacity: 0;
 transform: translateY(100px);
}
@media (min-width: 1000px) {
 #up_btn {
  position: fixed;
  bottom: 50px;
  right: 10px;
  opacity: 0;
  transform: translateY(50px);
 }
}
/*　上に上がる動き　*/
#up_btn.UpMove {
 animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime {
 from {
  opacity: 0;
  transform: translateY(100px);
 }
 to {
  opacity: 1;
  transform: translateY(0);
 }
}
/*　下に下がる動き　*/
#up_btn.DownMove {
 animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime {
 from {
  opacity: 1;
  transform: translateY(0);
 }
 to {
  opacity: 0;
  transform: translateY(100px);
 }
}
.link {
 text-align: center;
 margin-bottom: 32px;
}
.link a {
 position: relative;
 font-size: 1.5rem;
 font-weight: 600;
 line-height: 1em;
 border: solid 1px #FFF;
 border-radius: 20px;
 padding: 5px 35px 5px 15px;
 background-color: #245659;
}
.link a::after {
 position: absolute;
 content: '';
 background-image: url("../images/link_wh.png");
 background-repeat: no-repeat;
 background-size: cover;
 width: 15px;
 height: 15px;
 top: 9px;
 left: calc(50% - -42px);
}
/*ホバー時について　PC用・SP用*/
@media (hover: hover) {
 .worries_btn:hover::after {
  right: -10px;
  width: 70px;
 }
 .menu a:hover {
  background-color: rgba(36, 86, 89, 0.5);
 }
 .link a:hover {
  background-color: rgba(255, 255, 255, .3);
 }
}
@media (hover: none) {
 .worries_btn:active::after {
  right: -10px;
  width: 70px;
 }
 .menu a:active {
  background-color: rgba(36, 86, 89, 0.6);
 }
 .link a:active {
  background-color: rgba(255, 255, 255, .3);
 }
}