@charset "UTF-8";

.en {
  font-family: "Josefin Sans", "Zen Kaku Gothic New", YuGothic, 游ゴシック,
    メイリオ, Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN",
    sans-serif;
  font-weight: 400;
  font-style: normal;
  font-optical-sizing: auto;
}
:root {
  --spacing: 0.05em;
  --main-red: #c01b2c;
  --main-blue: #274a9d;
  --font-size: 18px;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  letter-spacing: var(--spacing);
}

html {
  font-size: 62.5%;
}
body {
  font-family: "Zen Kaku Gothic New", YuGothic, 游ゴシック, メイリオ, Meiryo,
    "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 1.8rem;
  color: #222;
  position: relative;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
}
.bg-gray {
  background-color: #f6f6f6;
}
.bg-blue {
  background-color: #f6f6f6;
}
.bg-blue01 {
  background-color: #274a9d;
}

.bg-image {
  background-image: url("../images/bk_img.jpg");
  background-size: 110% auto;
  background-position: center;
}

.pic-area {
  position: relative;
}
img {
  border: none;
  -webkit-backface-visibility: hidden;
}
ul,
ol {
  list-style: none;
}
li {
  list-style-type: none;
}

a {
  text-decoration: none;
  color: #222;
  transition: 0.3s all ease;
}
a:hover {
  opacity: 0.7;
}
p {
  line-height: 1.5;
}
.pic {
  overflow: hidden;
}
.pic .luxy-el img {
  transform: scale(1.1);
  transform-origin: center bottom;
}
.pic img,
.pic picture,
.pic source,
.pic a {
  display: block;
  width: 100%;
}
.pic img {
  height: 100%;
  object-fit: cover;
  font-family: "object-fit: cover;";
}
table {
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%;
}
.outer {
  padding-left: 2.5vw;
  padding-right: 2.5vw;
  width: 100%;
  position: relative;
}
.inner {
  max-width: 114rem;
  margin: 0 auto;
  position: relative;
}

.flex {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}
.flex_s-between {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 15px;
}
.flex_s-between01 {
  justify-content: space-between;
}
.a-items-center {
  align-items: center;
}
.flex-all_center {
  display: flex;
  justify-content: center;
  align-items: center;
}
.column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.bold,
.bold * {
  font-weight: 700 !important;
}
.medium,
.medium * {
  font-weight: 500 !important;
}
.text-white {
  color: #fff;
}
.bg-white {
  background-color: #fff;
}
.text-blue {
  color: #274a9d;
}
.narrow {
  width: 100%;
  max-width: 78rem;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1em;
}
/* +++ #header +++ */
#header {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  background: rgba(255, 255, 255, 0.6);
  height: 8rem;
  align-items: center;
  flex-wrap: nowrap;
  z-index: 999999;
}
#header .logo {
  display: block;
  flex-shrink: 0;
}
#header .logo * {
  width: 100%;
  display: block;
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
}
#header .logo img {
  display: block;
  width: 8rem;
}
#header .logo span {
  display: block;
  --spacing: 0.1em;
  font-size: 2.5rem;
  /* padding-top: 3rem; */
}

#header span.logo-catch {
  font-size: 1.2rem;
  text-align: center;
}
/* +++ nav +++ */
nav {
  font-weight: 500;
  position: relative;
  z-index: 9;
  font-size: 1.4rem;
  flex-wrap: nowrap !important;
}
#global-navi {
  justify-content: flex-end;
}
#global-navi li {
  padding: 0.5rem 0;
}
#global-navi li {
  margin-left: 2.4rem;
}
nav .sns {
  margin-bottom: 2.3rem;
}
nav .sns a {
  display: block;
  width: 2rem;
}
nav .sns a * {
  display: block;
  width: 100%;
}
.contact-button01 {
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  margin-left: 2.4rem;
  overflow: hidden;
  flex-shrink: 0;
}
.contact-button01 a {
  justify-content: center;
  width: 100%;
  height: 100%;
}
.contact-button01 img {
  width: 34%;
}

/* +++ .contact-area +++ */
.contact-area {
  overflow: hidden;
  background-image: url(../images/contact-bk.jpg);
}
.contact-area:before {
  content: "";
  display: block;
  border-top: min(38.2vw, 55rem) solid #ffd700;
  border-right: min(38.2vw, 55rem) solid transparent;
  position: absolute;
  left: 0;
  top: 0;
}
.contact-area:after {
  content: "";
  display: block;
  border-bottom: min(29.3vw, 42rem) solid #274a9d;
  border-left: min(29.3vw, 42rem) solid transparent;
  position: absolute;
  right: 0;
  bottom: 0;
}

.contact-area p.narrow {
  margin-bottom: 4rem;
  color: #fff;
}
.contact-list li {
  font-size: 2.6rem;
  --spacing: 0.1em;
  width: 46.153%;
  color: #fff;
}
li.tel-button01 a {
  color: #fff;
}
.tel-button01 a,
.form-button01 a {
  width: 100%;
  height: 7rem;
  border-radius: 3.5rem;
}
.tel-button01 a {
  border: 2px solid #fff;
}
.open-close {
  text-align: center;
  font-size: 1.2rem;
  margin-top: 1.5rem;
  font-weight: 400;
}
.form-button01 a:before {
  content: "";
  display: block;
  width: 0.75em;
  height: 100%;
  margin-right: 0.5em;
  background: url(../images/mail-icon01.png) no-repeat;
  background-size: 100% auto;
  background-position: center center;
}
.tel-button01 a:before {
  content: "";
  display: block;
  width: 0.75em;
  height: 100%;
  margin-right: 0.5em;
  background: url(../images/tel-icon01.png) no-repeat;
  background-size: 100% auto;
  background-position: center center;
}
.sns-area {
  text-align: center;
  margin-top: 5rem;
}
.sns-area h3 {
  margin-bottom: 3rem;
}
.sns-list {
  justify-content: center;
}
.sns-list li {
  height: 4rem;
  margin: 0 2rem;
}
@media screen and (min-width: 600px) {
  .sns-list li:nth-of-type(2) {
    padding: 0.7rem 0;
  }
}
.sns-list li * {
  height: 100%;
  width: auto;
  margin: 0 auto;
  display: block;
}

/* +++googlemaps+++ */
#googlemaps {
  width: 100%;
  height: 43.6rem;
  position: relative;
}
#googlemaps > iframe {
  display: block;
  width: 100%;
  height: 100%;
}
#page-top {
  width: 14.8rem;
  height: 14.8rem;
  position: absolute;
  right: 0;
  bottom: 0;
}
#page-top:before {
  content: "";
  display: block;
  border-left: 14.8rem solid transparent;
  border-bottom: 14.8rem solid #274a9d;
  position: absolute;
  right: 0;
  bottom: 0;
}
#page-top:after {
  content: "";
  display: block;
  width: 1.3rem;
  height: 3.5rem;
  background: url(../images/page-top.png) no-repeat;
  background-size: 100% auto;
  background-position: center;
  position: absolute;
  right: 2rem;
  bottom: 4.8rem;
}
#page-top span {
  position: absolute;
  right: 2rem;
  bottom: 2rem;
}
/* +++ #footer +++ */
#footer {
  padding-top: 8rem;
  padding-bottom: 4rem;
}
#footer .logo {
  width: 17rem;
}
#footer .logo span {
  font-size: 1.3rem;
  margin-top: 1rem;
  display: block;
  text-align: center;
}
#footer .tel-number {
  margin: 1.5rem 0 0.2rem;
  font-size: 1.8rem;
  display: block;
}
#footer .company-data p {
  font-size: 1.5rem;
}
.company-data {
  display: flex;
  width: 0%;
}
.company-logo {
  display: flex;
  flex-direction: column;
}
.sitemap {
  width: 78.4rem;
}
.main-navi {
  width: calc(100% - 22rem);
}
.main-navi li {
  width: 33.333%;
  margin-bottom: 4rem;
  padding-right: 2rem;
}
.sub-navi {
  width: 22rem;
  justify-content: center;
}
.sub-navi .form-button01 {
  width: 100%;
  flex-shrink: 0;
  margin-bottom: 2rem;
}
.sub-navi .x,
.sub-navi .line {
  margin: 0 1rem;
  height: 4rem;
}
@media screen and (min-width: 600px) {
  .sub-navi .x {
    padding: 0.7rem 0;
  }
}
.sub-navi .x *,
.sub-navi .line * {
  height: 100%;
  width: auto;
  display: block;
}
.sub-navi .form-button01 a {
  width: 100%;
  height: 5rem !important;
  border-radius: 2.5rem !important;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
}
#copyrights {
  text-align: right;
  font-size: 1.1rem;
  display: block;
  width: 100%;
}
.fixed-sns-icon {
  position: fixed;
  right: 2.5vw;
  top: calc((100vh - 12rem) / 2);
  z-index: 99999;
  width: 5rem;
  transition: 0.3s all ease;
  opacity: 0;
  visibility: hidden;
}
.fixed-sns-icon.active {
  opacity: 1;
  visibility: visible;
}
.fixed-sns-icon a {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  height: 5rem;
  background: #06c755;
  overflow: hidden;
}
.fixed-sns-icon li:nth-of-type(11) a {
  background: #06c755;
  margin-top: 2rem;
}
.fixed-sns-icon li:nth-of-type(1) a img {
  width: 80%;
}
.fixed-sns-icon img {
  display: block;
  width: 52%;
}

/* +++#key-visual+++ */
#key-visual {
  overflow: hidden;
  /*
	height: 49.6rem;
*/
  height: 34.4444444444vw;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  padding-top: 2.5rem;
}
#key-visual:before {
  content: "";
  display: block;
  border-top: 56.25vw solid #274a9d;
  border-right: 56.25vw solid transparent;
  position: absolute;
  left: 0;
  top: 0;
}
#page-title {
  position: relative;
  z-index: 9;
  font-size: 4.8rem;
  width: 100%;
}
#page-title:before {
  content: attr(data-en);
  font-family: "Josefin Sans", "Zen Kaku Gothic New", YuGothic, 游ゴシック,
    メイリオ, Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN",
    sans-serif;
  font-size: 1.9rem;
  margin-bottom: 2rem;
  display: block;
  letter-spacing: 0.05em;
}

/* +++common style+++ */
.sec {
  padding-top: 8rem;
  padding-bottom: 8rem;
  position: relative;
}
.sec-title01 {
  font-size: 3.6rem;
  margin-bottom: 0;
  position: relative;
  z-index: 9;
}
.sec-title01:before {
  font-family: "Josefin Sans", "Zen Kaku Gothic New", YuGothic, 游ゴシック,
    メイリオ, Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN",
    sans-serif;
  content: attr(data-en);
  display: block;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
}
.sec-title03 {
  font-size: 3.6rem;
  text-align: center;
}
.sec-title03:after {
  content: "";
  display: block;
  width: 100%;
  height: 4.5rem;
  background: url(../images/title-bg01.svg) no-repeat;
  background-position: center;
  background-size: auto 100%;
  margin: 2.4rem auto 3.2rem;
}
.sec-title04 {
  font-size: 2.8rem;
  letter-spacing: 0.1em;
  margin-bottom: 2.4rem;
}
.sec-title04:after {
  content: "";
  display: block;
  width: 100%;
  height: 1.2rem;
  background: url(../images/service-icon01.png) no-repeat;
  background-size: auto 100%;
  background-position: left top;
  margin-top: 1.8rem;
}
@media screen and (max-width: 599px) {
  .sec {
    padding-top: 6rem;
    padding-bottom: 6rem;
    position: relative;
  }
  .sec-title01 {
    font-size: clamp(25px, 7.2rem, 72px);
    margin-bottom: 1rem;
  }
  .medium01 {
    color: #fff;
  }
  .sec-title01:before {
    font-size: clamp(14px, 2.8rem, 28px);
    margin-bottom: -1rem;
  }
  .narrow {
    width: 100%;
    margin-bottom: 4rem;
  }

  .sec-title03 {
    font-size: clamp(25px, 4.2rem, 72px);
  }
  .sec-title03:after {
    height: 9rem;
    margin: 4.8rem auto 6.4rem;
  }

  .sec-title04 {
    font-size: clamp(28px, 5.6rem, 56px);
    margin-bottom: 3rem;
  }
  .sec-title04:after {
    height: 2.4rem;
    margin-top: 3.6rem;
  }
}

@media screen and (max-width: 1230px) {
  nav {
    font-size: 1.3rem;
  }
  #global-navi li {
    margin-left: 1rem;
  }
  .contact-button01 {
    width: 4rem;
    height: 4rem;
    margin-left: 1rem;
  }

  .main-navi li {
    font-size: 1.4rem;
    padding-right: 1rem;
  }

  .sitemap {
    width: 75rem;
  }
  .main-navi {
    width: calc(100% - 22rem);
  }
}

@media screen and (min-width: 1025px) {
  .desktop-none {
    display: none !important;
  }
}
@media screen and (max-width: 1024px) {
  #page-title {
    font-size: 4rem;
  }
  #page-title:before {
    font-size: 1.6rem;
    margin-bottom: 1.2rem;
  }
  .contact-button01 {
    display: none;
  }
  #header {
    background: #fff;
    position: sticky;
  }
  nav {
    display: none;
  }
  #menu-btn {
    position: relative;
    /*
		width: 4.5rem;
*/
    height: 4.5rem;
    width: 6rem;
    cursor: pointer;
    z-index: 99;
    font-size: 1.5rem;
    color: #274a9d;
    text-align: center;
  }
  #menu-btn span {
    display: block;
    width: 100%;
    max-width: 4.5rem;
    height: 1px;
    background: #274a9d;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    transition: 0.4s all ease;
  }
  #menu-btn span:nth-of-type(2) {
    transform: translateY(1rem);
  }
  #menu-btn span:nth-of-type(3) {
    transform: translateY(2rem);
  }
  #menu-btn > div {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
  }
  #menu-btn .close {
    display: none;
  }
  .opened #menu-btn .close {
    display: block;
  }
  .opened #menu-btn .menu {
    display: none;
  }
  .opened #menu-btn span:nth-of-type(1) {
    transform: translateY(1rem) rotate(45deg);
  }
  .opened #menu-btn span:nth-of-type(3) {
    transform: translateY(1rem) rotate(-45deg);
  }
  .opened #menu-btn span:nth-of-type(2) {
    transform: translateY(1rem) translateX(25%);
    opacity: 0;
  }

  nav {
    position: fixed;
    left: 0;
    top: 8rem;
    background: #fff;
    width: 100%;
    height: calc(100% - 8rem);
    overflow: auto;
    display: block !important;
    padding-left: 2.5vw;
    padding-right: 2.5vw;
    padding-bottom: 4rem;
    font-size: 1.5rem;
    visibility: hidden;
    opacity: 0;
    transition: 0.4s all ease;
  }
  .opened nav {
    opacity: 1;
    visibility: visible;
  }
  #global-navi li {
    width: calc(33.333% - 1rem);
    padding: 3rem 0 1.5rem;
    margin: 0;
    border-bottom: 1px solid #ccc;
  }
  #global-navi li:not(:nth-of-type(3n)) {
    margin-right: 1.5rem;
  }
  .header-contact {
    justify-content: center;
    margin: 4rem auto;
    text-align: center;
  }
  .header-contact li {
    font-size: 1.8rem;
    margin: 0 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .header-contact a {
    width: 25rem;
    height: 5rem;
    border-radius: 2.5rem;
  }
  .header-sns {
    height: 4rem;
  }
  #key-visual {
    padding-top: 0;
  }

  /* +++ #footer +++ */
  #footer .company-data {
    margin: 0 auto 0rem;
  }
  .sitemap {
    width: 100%;
  }
}

/* +++#bread-crumbs+++ */
#bread-crumbs {
  width: 100%;
  position: absolute;
  left: 5rem;
  top: 0;
}
#bread-crumbs,
#bread-crumbs li {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
#bread-crumbs li:not(:last-of-type):after {
  content: "";
  display: -block;
  width: 1.5rem;
  margin: 0 1rem;
  height: 1px;
  background: #fff;
}
#bread-crumbs li,
#bread-crumbs li a {
  letter-spacing: 0;
  font-size: 1.6rem;
}
#bread-crumbs li {
  padding: 3rem 0;
}

/* +++main+++ */
main {
  display: block;
  z-index: 99999;
  position: relative;
}

.pagination ul {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 4rem;
  font-weight: 500;
  font-size: 1.8rem;
}
.pagination li {
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background: #fff;
  margin: 0 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: 0.3s all ease;
}
.pagination .active,
.pagination li:hover {
  background: #ffd700;
}
.prev:before {
  content: "";
  display: block;
  width: 10%;
  height: 10%;
  border-left: 2px solid #333;
  border-top: 2px solid #333;
  transform: rotate(-45deg);
}
.next:before {
  content: "";
  display: block;
  width: 10%;
  height: 10%;
  border-right: 2px solid #333;
  border-top: 2px solid #333;
  transform: rotate(45deg);
}

@media screen and (max-width: 599px) {
  html {
    font-size: 1.3333333333vw;
  }
  body {
    font-size: clamp(18px, 2rem, 32px);
  }
  .outer {
    padding-left: 4rem;
    padding-right: 4rem;
    min-width: 100%;
  }
  .inner {
    width: 100%;
  }

  /* +++ #header +++ */
  #header {
    height: 12rem;
  }
  #header .logo {
    width: 25rem;
  }
  #header .logo img {
    width: 100%;
  }
  #header .logo span {
    font-size: 3.6rem;
    padding-top: 0;
    width: 135%;
  }
  #header span.logo-catch {
    font-size: 2rem;
    text-align: left;
  }
  #header .logo-link img {
    height: 11.5rem;
  }

  #menu-btn {
    width: 6rem;
    height: 6.5rem;
    font-size: 2rem;
  }

  #menu-btn span:nth-of-type(2) {
    transform: translateY(1.4rem);
  }
  #menu-btn span:nth-of-type(3) {
    transform: translateY(2.8rem);
  }
  #menu-btn div {
    position: absolute;
    /*left: 0;
		right: 0;*/
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    bottom: 0;
  }
  .opened #menu-btn span:nth-of-type(1) {
    transform: translateY(1.4rem) rotate(45deg);
  }
  .opened #menu-btn span:nth-of-type(3) {
    transform: translateY(1.4rem) rotate(-45deg);
  }
  .opened #menu-btn span:nth-of-type(2) {
    transform: translateY(1.4rem) translateX(25%);
    opacity: 0;
  }

  nav {
    top: 12rem;
    height: calc(100% - 12rem);
    padding-top: 3.6rem;
    padding-left: 4rem;
    padding-right: 4rem;
    padding-bottom: 8rem;
    /*font-size: clamp(16px,3.6rem,36px);*/
    font-size: 3.6rem;
  }
  #global-navi li {
    width: 100%;
    padding: 3.6rem 4rem;
    margin: 0;
    border-bottom: 1px solid #ccc;
  }
  #global-navi li:not(:nth-of-type(3n)) {
    margin-right: 0;
  }
  .header-contact {
    display: block;
    margin: 0 auto;
  }
  .header-contact li {
    font-size: clamp(22px, 4.4rem, 44px);
    margin: 4rem auto 0;
  }
  .header-contact a {
    width: 50rem;
    height: 10rem;
    border-radius: 10rem;
    margin: 0 auto;
  }
  .open-close {
    font-size: clamp(12px, 2.4rem, 24px);
    margin-top: 3rem;
  }
  .header-sns {
    margin-top: 4.5rem;
  }
  .header-sns li {
    margin: 0 2rem;
    height: 6rem;
  }
  .header-sns li * {
    height: 100%;
    width: auto;
    display: block;
  }

  /* +++#key-visual+++ */
  #key-visual {
    height: 42.1rem;
    padding-top: 0;
  }
  #key-visual:before {
    border-top: 75vw solid #274a9d;
    border-right: 75vw solid transparent;
  }
  #page-title {
    /*
		font-size: 7.2rem;
*/
    font-size: clamp(25px, 5.4rem, 54px);
  }
  #page-title:before {
    font-size: clamp(14px, 2.8rem, 28px);
    /*
		margin-bottom: 4.6rem;
*/
    margin-bottom: 3rem;
  }

  /* +++ .contact-area +++ */
  .contact-area:before {
    border-top: 28.7rem solid #ffd700;
    border-right: 28.7rem solid transparent;
  }
  .contact-area:after {
    border-bottom: 28.7rem solid #274a9d;
    border-left: 28.7rem solid transparent;
  }

  .contact-area p.narrow {
    margin-bottom: 2rem;
  }
  .contact-list li {
    /*font-size: clamp(22px,4.4rem,44px);*/
    font-size: 4.4rem;
    width: 100%;
    margin-top: 6rem;
  }
  .tel-button01 a,
  .form-button01 a {
    height: 10rem;
    border-radius: 5rem;
  }
  .sns-area {
    margin-top: 8rem;
  }
  .sns-area h3 {
    margin-bottom: 4rem;
  }

  .sns-list li {
    height: 6rem;
  }

  /* +++#googlemaps +++ */
  #googlemaps {
    height: 100rem;
  }

  #page-top {
    width: 29.6rem;
    height: 29.6rem;
  }
  #page-top:before {
    border-left: 29.6rem solid transparent;
    border-bottom: 29.6rem solid #274a9d;
  }
  #page-top:after {
    width: 2.6rem;
    height: 7rem;
    right: 4rem;
    bottom: 9.6rem;
  }
  #page-top span {
    position: absolute;
    right: 4rem;
    bottom: 4rem;
    font-size: 3.2rem;
  }
  /* +++ #footer +++ */
  #footer {
    padding-top: 7rem;
    padding-bottom: 5rem;
  }
  #footer .company-data {
    /* text-align: center; */
    margin-bottom: 3.2rem;
    width: 100%;
  }
  #footer .logo {
    width: 36rem;
    margin: 0 auto;
  }
  #footer .logo span {
    font-size: 2.8rem;
    margin-top: 2rem;
  }
  #footer .tel-number {
    margin: 3rem 0 1rem;
    font-size: clamp(16px, 3.6rem, 36px);
  }
  #footer .company-data p {
    font-size: clamp(12px, 2.4rem, 24px);
  }
  .sitemap {
    width: 100%;
    flex-direction: column-reverse;
    justify-content: flex-start;
    align-items: flex-start;
  }
  .main-navi {
    width: 100%;
    margin-top: 8rem;
  }
  .main-navi li {
    width: 50%;
    margin-bottom: 6rem;
    padding-right: 0;
    text-align: center;
    font-size: 2.6rem;
  }
  .sub-navi {
    width: 50rem;
    margin: 0 auto;
  }
  .sub-navi .form-button01 {
    order: 3;
    width: 100%;
    height: 7rem !important;
    flex-shrink: 0;
    margin-bottom: 0;
    margin-left: auto;
    margin-right: auto;
    margin-top: 4rem;
  }
  .sub-navi .form-button01 a {
    width: 100%;
    height: 100% !important;
    border-radius: 3.5rem !important;
    font-size: 3.2rem;
  }
  .sub-navi .line {
    order: 1;
  }
  .sub-navi .x {
    order: 2;
  }
  .sub-navi .x,
  .sub-navi .line {
    margin: 0 2rem;
    height: 6rem;
  }
  #copyrights {
    text-align: center;
    font-size: 2.2rem;
    margin-top: 6rem;
  }

  .pagination {
    margin-top: 7.2rem;
  }
  .pagination ul {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 4rem;
    font-weight: 500;
    font-size: 3.6rem;
  }
  .pagination li {
    width: 7.2rem;
    height: 7.2rem;
    margin: 0 1rem;
  }
}

@media screen and (min-width: 600px) {
  .pc-none {
    display: none;
  }
  .pc-event-none {
    pointer-events: none;
  }
}
@media screen and (max-width: 599px) {
  .sp-none {
    display: none;
  }
}

/* ロゴキャッチコピー（社名の上に小さめで表示） */
.logo-link {
  display: flex;
  align-items: center;
}
.logo-link .logo-catch {
  font-size: 1.1rem;
  color: #274a9d;
  font-weight: 500;
  margin-bottom: 0.1em;
  line-height: 1.2;
  letter-spacing: 0.08em;
  text-align: center;
}
span.company-name.bold {
  font-size: clamp(1.8rem, 2.3rem, 2.5rem);
}

.logo-link img {
  margin-right: 1rem;
  height: 7.5rem;
  display: block;
}
.logo-link .bold {
  font-size: 2.5rem;
  white-space: nowrap;
}
.company-logo .logo-catch {
  font-size: clamp(1rem, 1.2vw, 1.4rem);
  color: #274a9d;
  font-weight: 500;
  margin-bottom: 0.1em;
  line-height: 1.2;
  letter-spacing: 0.08em;
  text-align: center;
}
.company-logo .company-name {
  font-size: clamp(2rem, 2.5vw, 2.5rem);
  font-weight: 700;
  white-space: nowrap;
}
.company-data img {
  height: clamp(9.6rem, 7vw, 9.5rem);
  width: auto;
  display: block;
  margin-bottom: 70px;
}
.company-hours {
  font-size: clamp(1.1rem, 1.3vw, 1.5rem);
}
.tel-number {
  font-size: clamp(1.3rem, 1.8vw, 2.2rem);
}

@media screen and (max-width: 1160px) {
  #footer {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .company-data {
    justify-content: center;
    margin-bottom: 5rem;
  }
}
@media screen and (max-width: 599px) {
  .company-logo .logo-catch {
    font-size: clamp(2rem, 2.8vw, 1.1rem);
    text-align: left;
  }
  .company-logo .company-name {
    font-size: clamp(1.2rem, 4vw, 2rem);
  }
  /* .company-data img {
    height: clamp(2.5rem, 12vw, 5.5rem);
  } */
  .company-hours {
    font-size: clamp(0.9rem, 2vw, 1.2rem);
  }
  .tel-number {
    font-size: clamp(1.1rem, 3vw, 1.5rem);
  }
  span.company-name.bold {
    font-size: clamp(3.8rem, 2.3rem, 2.5rem);
  }
}
