@charset "utf-8";

/* ==========================================
  Style Name: style.css
  Since:      2025-10-01
  Modified:   2025-10-01
  Version:    1.00
  Author:     hitaka
========================================== */

/* ========== browser style clear ========== */

body, div, dl, dt, dd, ul, li,
h1, h2, h3, h4, th, td {
  margin: 0;
  padding: 0;
}

html {
  height: 100%;
  overflow-y: scroll;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

img {
  border: 0;
  max-width: 100%;
  height: auto;
}

address, em, th {
  font-style: normal;
  font-weight: normal;
}

ol, ul {
  list-style: none;
}

th, td {
  text-align: left;
}

h1, h2, h3, h4 {
  font-size: 100%;
  font-weight: normal;
}

a:link,
a:visited,
a:hover,
a:active {
  color: #000;
  text-decoration: none;
}

p {
  margin: 0 0 1.4em 0;
}

/* ========== wireframe ========== */

body {
  font-family: "Open Sans", Helvetica, Arial, sans-serif;
  font-size: 90%;
  line-height: 2.0em;
  letter-spacing: 0;
  color: #333;
}

header {
  display: flex;
  justify-content: space-between;
  width: 960px;
  margin: 0 auto;
}

main {
  width: 100%;
  margin: 0 0 80px 0;
}

footer {
  width: 100%;
}

@media screen and (max-width: 800px) {

    header {
      display: block;
      width: 100%;
      max-width: 800px;
      padding: 20px 0;
    }

    main {
      margin: 0;
    }

    footer {
      width: 100%;
    }

}



/* ========== common header ========== */

#header_logo {
  width: 296px;
  height: 104px;
  margin: 0;
  background: url(../img/header_logo.svg) no-repeat 0 0;
  text-indent: -9999px;
}

#header_logo a {
  display: block;
  width: 296px;
  height: 104px;
}

#header_g_navi {
  display: flex;
  justify-content: space-between;
  margin: 0;
}

.header_g_navi_li {
  width: 96px;
  height: 104px;
  font-weight: bold;
  text-align: center;
  vertical-align: middle;
}

.header_g_navi_li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 96px;
  height: 104px;
}

#header_g_navi_li_06 {
  width: 104px;
}

#header_g_navi_li_06 a {
  width: 104px;
  background: #2e3192;
  color: #fff;
}

.hamburger-menu {
  display: none;
}

@media screen and (max-width: 800px) {
 
    #header_logo {
      width: 114px;
      height: 39px;
      margin: 0 auto;
      background: url(../img/header_logo_sp.svg) no-repeat 0 0;
      text-indent: -9999px;
    }

    #header_logo a {
      display: block;
      width: 114px;
      height: 39px;
    }

    #header_g_navi {
      display: none;
    }

    .hamburger-menu {
      display: block;
    }

    .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: #2e3192;
    }

    .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; }

    #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);
    }

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

    .menu-content {
      width: 100%;
      height: 100%;
      position: fixed;
      top: 0;
      left: 100%;
      z-index: 80;
      background-color: #2e3192;
      transition: all 0.5s;
    }

    .menu-content ul { padding: 70px 10px 0; }

    .menu-content ul li {
      border-bottom: solid 1px #ffffff;
      list-style: none;
    }

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

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

    #menu-btn-check:checked ~ .menu-content { left: 0; }

}



/* ========== common footer ========== */

#footer_area {
  background: #d1ebff;
  padding: 80px 0;
}

#footer_area_title {
  width: 138px;
  height: 41px;
  margin: 0 auto 75px auto;
  background: url(../img/footer_area_title.svg) no-repeat 0 0;
  text-indent: -9999px;
}

#footer_area_inner {
  display: flex;
  justify-content: space-between;
  width: 960px;
  margin: 0 auto;
}

#footer_area_item_01 { width: 440px; }
#footer_area_item_02 { width: 480px; }

#footer_area_item_02_01 {
  margin: 0 0 10px 0;
  padding: 22px 70px;
  background: #2e3192;
  color: #fff;
}

.kiiro { color: #ffdf00; }

#footer_area_item_02_01_txt_01 {
  margin: 0 0 10px 0;
  font-size: 180%;
}

#footer_area_item_02_01_txt_02 {
  margin: 0;
  line-height: 150%;
  font-size: 100%;
}

#footer_area_item_02_02 {
  background: #fff;
  border: solid #2e3192 1px;
}

#footer_area_item_02_02_title {
  padding: 0.1em 0;
  background: #2e3192;
  color: #fff;
  font-size: 130%;
  font-weight: bold;
  text-align: center;
}

#footer_area_item_02_02_list { padding: 0 10px; }

#footer_area_item_02_02_list dt {
  padding: 10px 0 0 0;
  line-height: 150%;
}

#footer_area_item_02_02_list dd {
  padding: 0 0 10px 0;
  border-bottom: solid #ccc 1px;
  color: #2e3192;
  font-size: 180%;
  font-weight: bold;
  text-align: right;
}

#footer_area_item_02_02_list dd:last-child { border: none; }

#footer_other {
  width: 960px;
  margin: 0 auto;
  padding: 80px 0;
}

#footer_payment {
  display: flex;
  align-items: center;
  border: solid #000 1px;
  margin: 0 0 50px 0;
  padding: 10px;
}

#footer_payment p { margin: 0; }

#footer_payment_title {
  padding: 0 20px;
  border-right: solid #000 1px;
  line-height: 1;
  font-size: 100%;
  font-weight: bold;
}

#footer_payment_item_01,
#footer_payment_item_02,
#footer_payment_item_03 {
  display: flex;
  align-items: center;
  padding: 0 30px;
}

#footer_payment_item_01,
#footer_payment_item_02 {
  border-right: dotted #000 1px;
}

#footer_payment_item_01 dt,
#footer_payment_item_02 dt,
#footer_payment_item_03 dt {
  background: #333;
  color: #fff;
  border-radius: 4px;
  padding: 0.5em 1em;
  font-size: 80%;
  line-height: 1;
}

#footer_payment_item_02 dt,
#footer_payment_item_03 dt {
  margin: 0 30px 0 0;
}

#footer_payment_item_02 dd,
#footer_payment_item_03 dd {
  line-height: 0;
}

#footer_banner_01 {
  width: 960px;
  height: 160px;
  margin: 0 auto 50px auto;
  background: url(../img/footer_banner_01.svg) no-repeat 0 0;
  text-indent: -9999px;
}

#footer_banner_01_01_sp,
#footer_banner_01_02_sp {
  display: none;
}

#footer_banner_02 {
  width: 640px;
  height: 160px;
  margin: 0 auto 50px auto;
  background: url(../img/footer_banner_02.svg) no-repeat 0 0;
  text-indent: -9999px;
}

#footer_banner_03 {
  width: 640px;
  height: 160px;
  margin: 0 auto;
  background: url(../img/footer_banner_03.svg) no-repeat 0 0;
  text-indent: -9999px;
}

#footer_banner_02 a,
#footer_banner_03 a {
  display: block;
  width: 640px;
  height: 160px;
}

#footer_address {
  padding: 40px 0 0 0;
  background: #ffdf00;
}

#footer_address_inner {
  display: flex;
  width: 960px;
  margin: 0 auto;
}

#footer_address_01 {
  width: 141px;
  height: 46px;
  margin: 3px 45px 0 0;
  background: url(../img/footer_logo.svg) no-repeat 0 0;
  text-indent: -9999px;
}

#footer_address_01 a {
  display: block;
  width: 141px;
  height: 46px;
}

#footer_address_02 {
  font-size: 90%;
  line-height: 1.6;
  color: #2e3192;
}

#footer_address_03 {
  margin: 0 0 0 auto;
  padding: 0 0 0 20px;
  line-height: 2.2;
  border-left: solid #2e3192 3px;
  color: #2e3192;
}

#footer_address_03 a { color: #2e3192; }

aside {
  background: #ffdf00;
  color: #2e3192;
  text-align: center;
}

aside a {
  color: #2e3192;
}

@media screen and (max-width: 800px) {

    #footer_area {
      padding: 40px 20px;
    }

    #footer_area_title {
      width: 111px;
      height: 33px;
      margin: 0 auto 20px auto;
      background-size: 111px 33px;   /* ← 背景画像を縮小して表示 */
    }

    #footer_area_inner {
      display: block;
      width: 100%;
      max-width: 640px;
      margin: 0 auto;
    }

    #footer_area_item_01 { width: 100%; max-width: 440px; margin: 0 auto 20px auto; line-height: 0;}
    #footer_area_item_02 { width: 100%; max-width: 440px; margin: 0 auto; }

    #footer_area_item_02_01 {
      margin: 0 0 20px 0;
      padding: 20px;
    }

    .kiiro { color: #ffdf00; }

    #footer_area_item_02_01_txt_01 {
      margin: 0 0 10px 0;
      font-size: 144%;
    }

    #footer_other {
      width: calc(100% - 40px);
      margin: 0 auto;
      padding: 40px 20px;
    }

    #footer_payment {
      display: block;
      width: calc(100% - 40px - 1px);
      max-width: calc(400px - 40px - 1px);
      border: solid #000 1px;
      margin: 0 auto 20px auto;
      padding: 20px;
    }

    #footer_payment p { margin: 0; }

    #footer_payment_title {
      padding: 0 0 0.5em 0;
      border: 0;
      border-bottom: solid #000 1px;
      line-height: 1;
      font-size: 100%;

    }

    #footer_payment_item_01,
    #footer_payment_item_02,
    #footer_payment_item_03 {
      display: block;
      padding: 0.5em 0;
      border: 0;
      border-bottom: dotted #000 1px;
    }

    #footer_payment_item_03 {
      padding: 0.5em 0 0 0;
      border: 0;
    }

    #footer_payment_item_02 dt,
    #footer_payment_item_03 dt {
      margin: 0 0 0.5em 0;
    }

    #footer_payment_item_02 dd,
    #footer_payment_item_03 dd {
      line-height: 0;
    }

    #footer_banner_01 {
      display: none;
    }

    #footer_banner_01_01_sp,
    #footer_banner_01_02_sp {
      display: block;
      width: 100%;
      max-width: 400px;
      margin: 0 auto 20px auto;
      text-indent: -9999px;
    }

    #footer_banner_01_01_sp {
      background: url(../img/footer_banner_01_01_sp.svg) no-repeat 0 0;
      aspect-ratio: 400 / 252;
      background-size: contain;
    }

    #footer_banner_01_02_sp {
      background: url(../img/footer_banner_01_02_sp.svg) no-repeat 0 0;
      aspect-ratio: 400 / 126;
      background-size: contain;
    }

    #footer_banner_02 {
      width: 100%;
      max-width: 400px;height: auto;
      margin: 0 auto 20px auto;
      background: url(../img/footer_banner_02_sp.svg) no-repeat center;
      aspect-ratio: 400 / 250;
      background-size: contain;
    }

    #footer_banner_03 {
     width: 100%;
     max-width: 400px;height: auto;
     margin: 0 auto;
     background: url(../img/footer_banner_03_sp.svg) no-repeat center;
     aspect-ratio: 400 / 250;
     background-size: contain;
    }

    #footer_banner_02 a,
    #footer_banner_03 a {
     display: block;
     width: 100%;
     height: 100%;
    }

    #footer_address {
      padding: 40px 20px;
    }

    #footer_address_inner {
      display: block;
      width: 100%;
    }

    #footer_address_01 {
      width: 141px;
      height: 46px;
      margin: 0 auto 20px auto;
    }

    #footer_address_02 {
      margin: 0 0 1.4em 0;
      text-align: center;
    }

    #footer_address_03 {
      display: none;
    }

    #footer_address_03 a { color: #2e3192; }

    aside {
      padding: 0 0 20px 0;
    }

}


/* ========== main page ========== */

#top_image_01 {
  display: block;
  height: 480px;
  margin: 0;
  background: url(../img/top_image_01.jpg) no-repeat center 0;
  text-indent: -9999px;
}

#top_image_01_sp { display: none; }

#top_news {
  width: 640px;
  margin: 0 auto;
  padding: 80px 0;
}

#top_news_title {
  width: 125px;
  height: 40px;
  margin: 0 auto 55px auto;
  background: url(../img/top_news_title.svg) no-repeat 0 0;
  text-indent: -9999px;
}

#top_news_list { margin: 0 0 45px 0; }

#top_news_list dt {
  clear: both;
  float: left;
  width: calc(180px - 3em);
  padding: 1em 0 1em 3em;
}

#top_news_list dd {
  padding: 1em 0;
  border-bottom: solid #ccc 1px;
}

#top_news_all {
  width: 125px;
  height: 40px;
  margin: 0 auto;
  line-height: 40px;
  text-align: center;
  background: #2e3192;
  color: #ffffff;
  text-decoration: none;
  font-weight: bold;
}

#top_news_all a {
  display: block;
  color: #fff;
}

#top_atom {
  padding: 80px 0;
  background: #ffdf00;
  text-align: center;
}

#top_atom_title {
  width: 197px;
  height: 40px;
  margin: 0 auto 75px auto;
  background: url(../img/top_atom_title.svg) no-repeat 0 0;
  text-indent: -9999px;
}

#top_atom_txt_01 {
  width: 425px;
  height: 79px;
  margin: 0 auto 32px auto;
  background: url(../img/top_atom_txt_01.svg) no-repeat 0 0;
  text-indent: -9999px;
}

#top_atom_txt_02 {
  display: inline-block;
  width: 392px;
  height: 303px;
  margin: 0 8px 18px 0;
  background: url(../img/top_atom_txt_02.svg) no-repeat 0 0;
  text-indent: -9999px;
}

#top_atom_txt_03 {
  display: inline-block;
  width: 392px;
  height: 303px;
  margin: 0 8px 18px 0;
  background: url(../img/top_atom_txt_03.svg) no-repeat 0 0;
  text-indent: -9999px;
}

#top_atom_txt_04 {
  clear: both;
  width: 396px;
  height: 248px;
  margin: 0 auto;
  background: url(../img/top_atom_txt_04.svg) no-repeat 0 0;
  text-indent: -9999px;
}

#top_service {
  width: 960px;
  margin: 0 auto;
  padding: 80px 0;
}

#top_service_title {
  width: 167px;
  height: 41px;
  margin: 0 auto 75px auto;
  background: url(../img/top_service_title.svg) no-repeat 0 0;
  text-indent: -9999px;
}

#top_service_item_01 {
  float: left;
  width: 440px;
  margin: 0 80px 0 0;
}

#top_service_item_02 {
  float: left;
  width: 440px;
}

#top_service_item_01_title,
#top_service_item_02_title {
  margin: 0 0 20px 0;
  color: #2e3192;
  font-size: 180%;
  font-weight: bold;
  text-align: center;
}

#top_service_item_01_txt,
#top_service_item_02_txt {
  line-height: 180%;
  color: #2e3192;
  font-size: 90%;
  text-align: center;
}

#top_service_item_01_btn,
#top_service_item_02_btn {
  width: 125px;
  height: 40px;
  margin: 0 auto;
  line-height: 40px;
  text-align: center;
  background: #2e3192;
  color: #ffffff;
  text-decoration: none;
  font-weight: bold;
}

#top_service_item_01_btn a,
#top_service_item_02_btn a {
  display: block;
  color: #fff;
}

#top_service::after {
  content: "";
  display: block;
  clear: both;
}

@media screen and (max-width: 800px) {

    #top_image_01 {
      display: none;
    }

    #top_image_01_sp {
      display: block;
      margin: 0;
      line-height: 0;
}

    #top_news {
      width: calc(100% - 40px);
      max-width: 400px;
      margin: 0 auto;
      padding: 40px 20px;
    }

    #top_news_title {
      width: 100px;
      height: 32px;
      margin: 0 auto 10px auto;
      background-size: 100px 32px;   /* ← 背景画像を縮小して表示 */
    }

    #top_news_list { margin: 0 0 20px 0; }

    #top_news_list dt {
      clear: both;
      float: none;
      width: 100%;
      padding: 1em 0 0 0;
    }

    #top_news_list dd {
      padding: 0 0 1em 0;
    }

    #top_atom {
      padding: 40px 20px;
    }

    #top_atom_title {
      width: 158px;
      height: 32px;
      margin: 0 auto 20px auto;
      background-size: 158px 32px;   /* ← 背景画像を縮小して表示 */
    }

    #top_atom_txt_01 {
      width: 340px;
      height: 64px;
      margin: 0 auto 20px auto;
      background-size: 340px 64px;   /* ← 背景画像を縮小して表示 */
    }

    #top_atom_txt_02 {
      display: block;
      width: 314px;
      height: 243px;
      margin: 0 auto 20px auto;
      background-size: 314px 243px;   /* ← 背景画像を縮小して表示 */
    }

    #top_atom_txt_03 {
      display: block;
      width: 314px;
      height: 243px;
      margin: 0 auto 20px auto;
      background-size: 314px 243px;   /* ← 背景画像を縮小して表示 */
    }

    #top_atom_txt_04 {
      width: 317px;
      height: 199px;
      margin: 0 auto;
      background-size: 317px 199px;   /* ← 背景画像を縮小して表示 */
    }

    #top_service {
      width: calc(100% - 40px);
      max-width: 640px;
      margin: 0 auto;
      padding: 40px 20px;
    }

    #top_service_title {
      width: 134px;
      height: 33px;
      margin: 0 auto 20px auto;
      background-size: 134px 33px;   /* ← 背景画像を縮小して表示 */
    }

    #top_service_item_01 {
      float: none;
      width: 100%;
      max-width: 440px;
      margin: 0 auto 40px auto;
    }

    #top_service_item_02 {
      float: none;
      width: 100%;
      max-width: 440px;
      margin: 0 auto;
    }

    #top_service_item_01_title,
    #top_service_item_02_title {
      margin: 0 0 20px 0;
      font-size: 144%;
    }

    #top_service_item_01_txt,
    #top_service_item_02_txt {
      line-height: 144%;
      font-size: 90%;
    }

}



/* ========== common sub page ========== */

#electronics_inner,
#facilities_inner,
#staff_inner,
#contact_inner,
#confirm_inner,
#thanks_inner,
#news_inner,
#entry_inner {
  width: 960px;
  margin: 0 auto;
  padding: 80px 0;
}

@media screen and (max-width: 800px) {
    #electronics_inner,
    #facilities_inner,
    #staff_inner,
    #contact_inner,
    #confirm_inner,
    #thanks_inner,
    #news_inner,
    #entry_inner {
      width: calc(100% - 40px);
      max-width: calc(800px - 40px);
      margin: 0 auto;
      padding: 40px 20px;
    }
}



/* ========== sub page: 家電製品 ========== */

#electronics_title {
  width: 1536px;
  height: 360px;
  margin: 0 auto;
  background: url(../img/electronics_title.svg) no-repeat 0 0;
  text-indent: -9999px;
}

#electronics_txt {
  font-size: 110%;
  margin: 0 0 80px 0;
  color: #2e3192;
  text-align: center;
}

#electronics_item {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.electronics_item_inner {
  width: 280px;
  box-sizing: border-box;
  margin: 0 0 80px 0;
  line-height: 1.6;
  font-size: 85%;
}

.electronics_item_inner h3 {
  margin: 0 0 10px 0;
  color: #2e3192;
  font-size: 180%;
  font-weight: bold;
  text-align: center;
}

#electronics_banner_01 {
  width: 640px;
  height: 160px;
  margin: 0 auto;
  background: url(../img/electronics_banner_01.svg) no-repeat 0 0;
  text-indent: -9999px;
}

#electronics_banner_01 a {
  display: block;
  width: 640px;
  height: 160px;
}

@media screen and (max-width: 800px) {

    #electronics_title {
      width: 100%;
      height: 80px;
      margin: 0 auto;
      background: url(../img/electronics_title_sp.svg) no-repeat center 0;
    }

    #electronics_txt {
      font-size: 100%;
      margin: 0 0 40px 0;
      color: #2e3192;
      text-align: center;
    }

    #electronics_item {
      display: block;
    }

    .electronics_item_inner {
      width: 280px;
      margin: 0 auto 40px auto;
      font-size: 95%;
    }

    .electronics_item_inner h3 {
      font-size: 144%;
    }

    #electronics_banner_01 {
      width:100%;
      max-width: 400px;
      height: auto;
      margin: 0 auto;
      background: url(../img/electronics_banner_01_sp.svg) no-repeat center;
      aspect-ratio: 400 / 250;
      background-size: contain;
    }

    #electronics_banner_01 a {
      display: block;
      width: 100%;
      height: 100%;
    }

}



/* ========== sub page: 住宅設備 ========== */

#facilities_title {
  width: 1536px;
  height: 360px;
  margin: 0 auto;
  background: url(../img/facilities_title.svg) no-repeat 0 0;
  text-indent: -9999px;
}

#facilities_txt {
  font-size: 110%;
  margin: 0 0 80px 0;
  color: #2e3192;
  text-align: center;
}

#facilities_item {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.facilities_item_inner {
  width: 280px;
  box-sizing: border-box;
  margin: 0 0 80px 0;
  line-height: 1.6;
  font-size: 85%;
}

.facilities_item_inner h3 {
  margin: 0 0 10px 0;
  color: #2e3192;
  font-size: 180%;
  font-weight: bold;
  text-align: center;
}

#facilities_banner_01 {
  width: 640px;
  height: 160px;
  margin: 0 auto;
  background: url(../img/facilities_banner_01.svg) no-repeat 0 0;
  text-indent: -9999px;
}

#facilities_banner_01 a {
  display: block;
  width: 640px;
  height: 160px;
}

@media screen and (max-width: 800px) {

    #facilities_title {
      width: 100%;
      height: 80px;
      margin: 0 auto;
      background: url(../img/facilities_title_sp.svg) no-repeat center 0;
    }

    #facilities_txt {
      font-size: 100%;
      margin: 0 0 40px 0;
      color: #2e3192;
      text-align: center;
    }

    #facilities_item {
      display: block;
    }

    .facilities_item_inner {
      width: 280px;
      margin: 0 auto 40px auto;
      font-size: 95%;
    }

    .facilities_item_inner h3 {
      font-size: 144%;
    }

    #facilities_banner_01 {
      width:100%;
      max-width: 400px;
      height: auto;
      margin: 0 auto;
      background: url(../img/electronics_banner_01_sp.svg) no-repeat 0 0;
      aspect-ratio: 400 / 250;
      background-size: contain;
    }

    #facilities_banner_01 a {
      display: block;
      width: 100%;
      height: 100%;
    }

}



/* ========== sub page: 会社案内 ========== */

#about_atom { background: #ffdf00; }

#about_atom_inner {
  width: 960px;
  margin: 0 auto;
  padding: 80px 0;
  text-align: center;
}

#about_title {
  width: 1536px;
  height: 360px;
  margin: 0 auto;
  background: url(../img/about_title.svg) no-repeat 0 0;
  text-indent: -9999px;
}

#about_atom_title {
  width: 197px;
  height: 40px;
  margin: 0 auto 75px auto;
  background: url(../img/top_atom_title.svg) no-repeat 0 0;
  text-indent: -9999px;
}

#about_atom_txt_01 {
  width: 425px;
  height: 79px;
  margin: 0 auto 32px auto;
  background: url(../img/top_atom_txt_01.svg) no-repeat 0 0;
  text-indent: -9999px;
}

#about_atom_txt_02 {
  display: inline-block;
  width: 392px;
  height: 303px;
  margin: 0 8px 18px 0;
  background: url(../img/top_atom_txt_02.svg) no-repeat 0 0;
  text-indent: -9999px;
}

#about_atom_txt_03 {
  display: inline-block;
  width: 392px;
  height: 303px;
  margin: 0 8px 18px 0;
  background: url(../img/top_atom_txt_03.svg) no-repeat 0 0;
  text-indent: -9999px;
}

#about_atom_txt_04 {
  clear: both;
  width: 396px;
  height: 248px;
  margin: 0 auto;
  background: url(../img/top_atom_txt_04.svg) no-repeat 0 0;
  text-indent: -9999px;
}

#about_philosophy { padding: 80px 0; background: #fff; }

#about_philosophy_title {
  width: 125px;
  height: 40px;
  margin: 0 auto 75px auto;
  background: url(../img/about_philosophy_title.svg) no-repeat 0 0;
  text-indent: -9999px;
}

#about_philosophy_list {
  width: 33em;
  margin: 0 auto;
  font-weight: bold;
}

#about_philosophy_list li { margin: 0 0 1.4em 0; font-size: 120%;}
#about_philosophy_list li:last-child { margin: 0; }

#about_information { padding: 80px 0; background: #fff; }

#about_information_title {
  width: 125px;
  height: 40px;
  margin: 0 auto 75px auto;
  background: url(../img/about_information_title.svg) no-repeat 0 0;
  text-indent: -9999px;
}

#about_information_list {
  display: grid;
  grid-template-columns: 240px 1fr;
  max-width: 640px;
  margin: 0 auto;
}

#about_information_list dt {
  padding: 0.5em 0 0.5em 44px;
  border-bottom: solid 1px #ccc;
  font-weight: bold;
  color: #2e3192;
  font-size: 110%;
}

#about_information_list dd {
  padding: 0.5em 0 0.5em 0;
  margin: 0;
  border-bottom: solid 1px #ccc;
}

#about_access {
  width: 100%;
  max-width: 640px;
  margin: 0 auto;
  padding: 80px 0;
  box-sizing: border-box;
  background: #fff;
}

#about_access_title {
  width: 125px;
  height: 39px;
  margin: 0 auto 75px auto;
  background: url(../img/about_access_title.svg) no-repeat 0 0;
  text-indent: -9999px;
}

.map-responsive {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.map-responsive iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

@media screen and (max-width: 800px) {

    #about_atom {  }

    #about_atom_inner {
      width: calc(100% - 40px);
      max-width: calc(800px - 40px);
      margin: 0 auto;
      padding: 40px 20px;
    }

    #about_title {
      width: 100%;
      height: 80px;
      margin: 0 auto;
      background: url(../img/about_title_sp.svg) no-repeat center 0;
    }

    #about_atom_title {
      width: 158px;
      height: 32px;
      margin: 0 auto 20px auto;
      background-size: 158px 32px;   /* ← 背景画像を縮小して表示 */
    }

    #about_atom_txt_01 {
      width: 340px;
      height: 64px;
      margin: 0 auto 20px auto;
      background-size: 340px 64px;   /* ← 背景画像を縮小して表示 */
    }

    #about_atom_txt_02 {
      display: block;
      width: 314px;
      height: 243px;
      margin: 0 auto 20px auto;
      background-size: 314px 243px;   /* ← 背景画像を縮小して表示 */
    }

    #about_atom_txt_03 {
      display: block;
      width: 314px;
      height: 243px;
      margin: 0 auto 20px auto;
      background-size: 314px 243px;   /* ← 背景画像を縮小して表示 */
    }

    #about_atom_txt_04 {
      width: 317px;
      height: 199px;
      margin: 0 auto;
      background-size: 317px 199px;   /* ← 背景画像を縮小して表示 */
    }

    #about_philosophy { padding: 40px 20px; text-align: center;}

    #about_philosophy_title {
      width: 100px;
      height: 32px;
      margin: 0 auto 20px auto;
      background-size: 100px 32px;   /* ← 背景画像を縮小して表示 */
    }

    #about_philosophy_list {
      display: inline-block;
      width: auto;
      margin: 0 auto;text-align: left;
    }

    #about_philosophy_list li { font-size: 100%;}
    #about_philosophy_list li:last-child {  }

    #about_information { padding: 40px 20px;  }

    #about_information_title {
      width: 100px;
      height: 32px;
      margin: 0 auto 20px auto;
      background-size: 100px 32px;   /* ← 背景画像を縮小して表示 */
    }

    #about_information_list {
      display: block;
      width: 100%;
      max-width: 400px;

    }

    #about_information_list dt {
      padding: 0.5em 0 0 0;
      border: 0;


    }

    #about_information_list dd {
      padding: 0 0 0.5em 0;
    }

    #about_access {
      width: 100%;
      max-width: 400px;
      margin: 0 auto;
      padding: 40px 20px;
      box-sizing: border-box;
      background: #fff;
    }

    #about_access_title {
      width: 100px;
      height: 32px;
      margin: 0 auto 20px auto;
      background-size: 100px 32px;   /* ← 背景画像を縮小して表示 */
    }

    .map-responsive {
      position: relative;
      padding-bottom: 56.25%;
      height: 200px;
      overflow: hidden;
    }

    .map-responsive iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      border: 0;
    }

}



/* ========== sub page: スタッフ紹介 ========== */

#staff_title {
  width: 1536px;
  height: 360px;
  margin: 0 auto;
  background: url(../img/staff_title.svg) no-repeat 0 0;
  text-indent: -9999px;
}

.staff_member {
  display: flex;
  justify-content: space-between;
  width: 960px;
  margin: 0 auto 80px auto;
}

.staff_member:last-child { margin: 0 auto; }

.staff_member_inner { width: 500px; }

.staff_header { display: flex; }

.staff_name {
  margin: 0 1em 0 0;
  font-size: 140%;
  font-weight: bold;
}

.staff_position {
  font-size: 80%;
  color: #2e3192;
  font-weight: bold;
}

.staff_profile {
  padding: 20px 40px;
  line-height: 1.4;
  background: #def1fb;
}

.staff_profile dl {
  display: grid;
  grid-template-columns: 100px 1fr;
}

.staff_profile dt {
  padding: 0.3em 0;
  font-weight: bold;
  color: #2e3192;
}

.staff_profile dd {
  padding: 0.3em 0;
  margin: 0;
}

.staff_profile ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.staff_profile ul li { margin-bottom: 0.3em; }
.staff_profile ul li:last-child { margin-bottom: 0; }

.staff_image { width: 400px; }

@media screen and (max-width: 800px) {

    #staff_title {
      width: 100%;
      height: 80px;
      margin: 0 auto;
      background: url(../img/staff_title_sp.svg) no-repeat center 0;
    }

    .staff_member {
      display: block;
      width: 100%;
      max-width: 400px;
      margin: 0 auto 40px auto;
    }

    .staff_member:first-child {
      margin: 0 auto 80px auto;
    }

    .staff_member:last-child { margin: 0 auto; }

    .staff_member_inner { width: 100%; }

    .staff_profile {
      padding: 20px ;
    }

    .staff_profile dl {
      display: block;
    }

    .staff_profile dt {
      padding: 0.3em 0 0 0;
    }

    .staff_profile dd {
      padding: 0 0 0.3em 0;
    }

    .staff_image {
      width: 100%;
      max-width: 400px;
      margin: 0 auto 20px auto;
      line-height: 0;
    }

}



/* ========== sub page: お問い合わせ ========== */

#contact_title {
  width: 1536px;
  height: 360px;
  margin: 0 auto;
  background: url(../img/contact_title.svg) no-repeat 0 0;
  text-indent: -9999px;
}

#contact_sub_title {
  margin: 0 0 0.5em 0;
  font-size: 170%;
  font-weight: bold;
  color: #2e3192;
  text-align: center;
}

#contact_txt {
  margin: 0 0 50px 0;
  text-align: center;
}

#contact_table {
  width: 640px;
  margin: 0 auto;
}

#contact_data dt {
  font-size: 80%;
  font-weight: bold;
  margin: 0 0 5px 0;
  line-height: 1.5;
}

#contact_data dd {
  font-size: 100%;
  margin: 0 0 20px 0;
  line-height: 1.5;
  white-space: pre-wrap;
}

.contact_required {
  padding: 0.2em 0.5em;
  background: #2e3192;
  color: #fff;
}

#contact_data input {
  width: calc(100% - 1em);
  padding: 0.2em 0.5em;
  line-height: 1.5;
}

#contact_data textarea {
  width: calc(100% - 1em);
  margin: 0 0 30px 0;
  padding: 0.2em 0.5em;
  line-height: 1.5;
}

.wpcf7-not-valid-tip {
  font-size: 50%;
}

#contact_btn {
  margin: 0 0 60px 0;
  text-align: center;
}

#contact_btn input {
  border: 0;
  padding: 1em 2em;
  background: #2e3192;
  color: #fff;
}

input[type="submit"] {
  cursor: pointer;
}

#contact_list {
  width: 640px;
  margin: 0 auto;
  padding: 60px 0;
  background: #e5ffff;
  color: #2e3192;
  text-align: center;
  font-weight: bold;
  line-height: 1.5;
}

#contact_list li:nth-child(1) {
  font-size: 130%;
}

#contact_list li:nth-child(2) {
  font-size: 250%;
}

#contact_list li:nth-child(3) {
  font-size: 90%;
}

@media screen and (max-width: 800px) {

    #contact_title {
      width: 100%;
      height: 80px;
      margin: 0 auto;
      background: url(../img/contact_title_sp.svg) no-repeat center 0;
    }

    #contact_sub_title {
      font-size: 140%;
    }

    #contact_txt {
      margin: 0 0 20px 0;
    }

    #contact_txt br {
      display: none;
    }

    #contact_table {
      width: 100%;
      max-width: 640px;
    }

    #contact_list {
      width: 100%;
      max-width: 640px;
    }

}



/* ========== sub page: お問い合わせ確認 ========== */

#confirm_title {
  width: 1536px;
  height: 360px;
  margin: 0 auto;
  background: url(../img/contact_title.svg) no-repeat 0 0;
  text-indent: -9999px;
}

#confirm_sub_title {
  margin: 0 0 80px 0;
  font-size: 170%;
  font-weight: bold;
  color: #2e3192;
  text-align: center;
}

#confirm_table {
  width: 640px;
  margin: 0 auto;
}

.wpcf7-submit,
.wpcf7-previous {
  border: 0;
  padding: 1em 2em;
  background: #2e3192;
  color: #fff;
}

.wpcf7-submit,
.wpcf7-previous {
  display: block;
  margin: 0 auto;
}

.wpcf7-previous {
  cursor: pointer;
}



@media screen and (max-width: 800px) {

    #confirm_title {
      width: 100%;
      height: 80px;
      margin: 0 auto;
      background: url(../img/contact_title_sp.svg) no-repeat center 0;
    }

    #confirm_sub_title {
      margin: 0 0 40px 0;
      font-size: 140%;
    }

    #confirm_table {
      width: 100%;
      max-width: 640px;
    }

    .wpcf7-submit,
    .wpcf7-previous {
      border: 0;
      padding: 1em 2em;
      background: #2e3192;
      color: #fff;
    }

    .wpcf7-submit,
    .wpcf7-previous {
      display: block;
      margin: 0 auto;
    }

    .wpcf7-previous {
      cursor: pointer;
    }

}



/* ========== sub page: お問い合わせ完了 ========== */

#thanks_title {
  width: 1536px;
  height: 360px;
  margin: 0 auto;
  background: url(../img/contact_title.svg) no-repeat 0 0;
  text-indent: -9999px;
}

#thanks_sub_title {
  margin: 0 0 80px 0;
  font-size: 170%;
  font-weight: bold;
  color: #2e3192;
  text-align: center;
}

#thanks_txt {
  margin: 0 0 80px 0;
  text-align: center;
}

#thanks_table {
  width: 640px;
  margin: 0 auto;
}

#thanks_return_home {
  display: block;
  text-align: center;
}

#thanks_return_home a {
  display: inline-block;
  padding: 1em 2em;
  background: #2e3192;
  color: #fff;
  text-decoration: none;
  border: 0;
}

@media screen and (max-width: 800px) {

    #thanks_title {
      width: 100%;
      height: 80px;
      margin: 0 auto;
      background: url(../img/contact_title_sp.svg) no-repeat center 0;
    }

    #thanks_sub_title {
      margin: 0 0 40px 0;
      font-size: 140%;
    }

    #thanks_txt {
      margin: 0 0 40px 0;

    }

    #thanks_table {
      width: 100%;
      max-width: 640px;
    }

}



/* ========== sub page: お知らせ ========== */

#news_title {
  width: 1536px;
  height: 360px;
  margin: 0 auto;
  background: url(../img/news_title.svg) no-repeat 0 0;
  text-indent: -9999px;
}

#news_sub_title {
  margin: 0 0 80px 0;
  font-size: 170%;
  font-weight: bold;
  color: #2e3192;
  text-align: center;
}

#news_list { width: 800px; margin: 0 auto;}

#news_list dt {
  clear: both;
  float: left;
  width: calc(240px - 4em);
  padding: 1em 0 1em 4em;
}

#news_list dd {
  padding: 1em 0;
  border-bottom: solid #ccc 1px;
  color: #2e3192;
}

#news_list dd a {
  color: #2e3192;
  font-weight: bold;
}

@media screen and (max-width: 800px) {

    #news_title {
      width: 100%;
      height: 80px;
      margin: 0 auto;
      background: url(../img/news_title_sp.svg) no-repeat center 0;
    }

    #news_sub_title {
      margin: 0 0 40px 0;
      font-size: 120%;
      text-align: center;
    }

    #news_list { width: 100%; margin: 0 auto;}

    #news_list dt {
      clear: both;
      float: none;
      width: 100%;
      padding: 1em 0 0 0;
    }

    #news_list dd {
      padding: 0 0 1em 0;
    }

}



/* ========== sub page: お知らせ（詳細） ========== */

#entry_title {
  width: 1536px;
  height: 360px;
  margin: 0 auto;
  background: url(../img/news_title.svg) no-repeat 0 0;
  text-indent: -9999px;
}

.entry_sub_title {
  margin: 0 0 0.2em 0;
  font-size: 170%;
  font-weight: bold;
  color: #2e3192;
}

.entry_time {
  display: block;
  margin: 0 0 20px 0;
  font-size: 90%;
}

@media screen and (max-width: 800px) {

    #entry_title {
      width: 100%;
      height: 80px;
      margin: 0 auto;
      background: url(../img/news_title_sp.svg) no-repeat center 0;
    }

    .entry_sub_title {
      font-size: 120%;
    }

}
