﻿@charset "UTF-8";
html, body, h1, h2, h3, h4, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: normal;
  font-size: 100%;
  vertical-align: baseline;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  word-wrap: break-word;
}

*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

main {
  display: block;
}

ul, ol {
  list-style: none;
}

dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

pre {
  font-family: monospace, monospace;
  font-size: inherit;
}

address {
  font-style: inherit;
}

a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

b, strong {
  font-weight: bolder;
}

html, body, h1, h2, h3, h4, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td {
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG 明朝 E", "ＭＳ Ｐ明朝", "ＭＳ 明朝　", serif;
  letter-spacing: 0.5px;
  line-height: 1.4;
}

footer {
  width: 96%;
  max-width: 1080px;
  margin: 0 auto;
  background-color: #DEDFDF;
  padding: clamp(6px, 2vw, 10px);
}

header {
  width: 96%;
  max-width: 1080px;
  margin: 0 auto;
  background-color: #DEDFDF;
  padding: clamp(6px, 2vw, 10px);
  padding-top: 0;
}

main {
  width: 96%;
  max-width: 1080px;
  margin: 0 auto;
  background-color: #DEDFDF;
  padding: clamp(6px, 2vw, 10px);
}

.l-header {
  display: flex;
  justify-content: space-between;
}

.l-fv {
  display: flex;
  justify-content: center;
  align-items: center;
}

.l-junlelist > ul {
  display: flex;
  flex-wrap: wrap;
}

.l-sitemap > ul {
  display: flex;
  flex-wrap: wrap;
}

.l-snslists {
  display: flex;
  justify-content: center;
}

.c-btn-effect_noraml {
  transition: 0.3s;
}
.c-btn-effect_noraml:hover {
  opacity: 0.8;
}

.p-header {
  background-color: white;
}

.p-logo {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: clamp(6px,4vw,20px);
}
.p-logo > a {
  height: clamp(24px,8vw,64px);
  display: block;
}
.p-logo > a > img {
  height: 100%;
  width: auto;
}

.p-login {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 clamp(6px,4vw,20px);
}
.p-login > a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: clamp(16px, 4.2vw, 24px);
  font-size: clamp(14px, 3vw, 20px);
}
.p-login > a > img {
  height: 100%;
  width: auto;
  margin-right: clamp(4px, 1vw, 8px);
}
.p-login:before {
  content: "";
  position: absolute;
  height: 100%;
  width: 2px;
  background-color: #DEDFDF;
  left: 0;
}

.p-fv {
  height: 480px;
  width: 100%;
  background-image: url(../images/fv_bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
}
.p-fv > p {
  font-size: clamp(24px, 8vw, 32px);
  font-weight: 600;
  color: white;
  letter-spacing: 2px;
}

.p-frame {
  width: 100%;
  padding: clamp(40px, 12vw, 64px) 0;
  background-color: white;
}

.p-frame-line {
  width: 100%;
  padding-bottom: clamp(40px, 12vw, 64px);
  background-color: white;
}
.p-frame-line:before {
  content: "";
  margin: 0 auto;
  width: 50%;
  height: 3px;
  background-color: #C21730;
  display: block;
}

.p-frame_text {
  width: 90%;
  margin: 0 auto;
}
.p-frame_text > h3 {
  font-size: clamp(20px, 6vw, 32px);
  font-weight: 400;
  color: black;
  letter-spacing: 1.2px;
}
.p-frame_text > p {
  font-size: clamp(14px, 3vw, 20px);
  font-weight: 500;
  color: black;
  letter-spacing: 1.8px;
  line-height: 2;
}

.p-frame-title > h2 {
  font-size: clamp(18px,2vw,24px);
  font-weight: 600;
  color: black;
  letter-spacing: 1.8px;
  text-align: center;
  padding-top: 16px;
  margin-bottom: clamp(24px,6vw,40px);
}
.p-frame-title > h2 > span {
  height: 36px;
  margin: 0 4px;
  display: inline-block;
}
.p-frame-title > h2 > span > img {
  height: 100%;
  width: auto;
  vertical-align: bottom;
}
.p-frame-title > h2 > small {
  font-size: 16px;
}

.p-frame-title_gray > h2 {
  font-size: clamp(18px,2vw,24px);
  font-weight: 600;
  color: #595757;
  letter-spacing: 1.8px;
  text-align: center;
  padding-top: 16px;
  margin-bottom: clamp(24px,6vw,40px);
}

.p-newslist {
  width: 90%;
  margin: 0 auto;
}
.p-newslist > ul {
  width: 100%;
}
.p-newslist > ul > li {
  border-bottom: solid 1px black;
  padding-left: 4px;
  margin-bottom: 16px;
}
.p-newslist > ul > li > a {
  display: flex;
}
.p-newslist > ul > li > a > p {
  font-size: clamp(14px, 3vw, 20px);
  font-weight: 400;
  color: #595757;
  letter-spacing: 1.2px;
  line-height: 1.6;
}

.p-point1 {
  width: 100%;
  background-image: url(../images/point1_bg.jpg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.p-point2 {
  width: 100%;
  background-image: url(../images/point2_bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.p-point3 {
  width: 100%;
  background-image: url(../images/point3_bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.p-point_text {
  display: flex;
  flex-direction: column;
  width: 90%;
  margin: 0 auto;
  padding: 48px 0;
}
.p-point_text > h3 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  font-size: clamp(16px, 4vw, 24px);
  font-weight: 600;
  color: black;
  padding-left: 40px;
  margin-bottom: 24px;
}
.p-point_text > h3 > span {
  height: 42px;
  position: absolute;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-point_text > h3 > span > img {
  height: 64%;
  width: auto;
  margin-right: 12px;
}
.p-point_text > h3 > small {
  font-size: clamp(14px, 3vw, 16px);
  font-weight: 400;
}
.p-point_text > p {
  font-size: clamp(14px, 3vw, 20px);
  font-weight: 500;
  color: black;
  letter-spacing: 1px;
  line-height: 2;
  margin-left: 40px;
}

.p-point_numberline {
  right: 0;
  content: "";
  height: 100%;
  width: 2px;
  display: inline-block;
  background-color: black;
}

.p-point_separate {
  width: 90%;
  height: 2px;
  background-color: #595757;
  margin: 0 auto;
}

.p-junlelist > ul {
  margin-left: 40px;
}
.p-junlelist > ul > li {
  width: 45%;
  margin-right: 4%;
  margin-bottom: 8px;
  border-bottom: solid 1px #595757;
}
.p-junlelist > ul > li > p {
  font-size: clamp(14px, 3vw, 20px);
  font-weight: 500;
  color: black;
  letter-spacing: 1px;
}

.p-lineadd {
  margin-bottom: 16px;
}
.p-lineadd > p {
  font-size: clamp(14px,3vw,20px);
  text-align: center;
}

.p-btn_line {
  text-align: center;
}
.p-btn_line > a {
  height: 60px;
  display: block;
}
.p-btn_line > a > img {
  height: 100%;
  width: auto;
}

.p-profile {
  position: relative;
}

.p-profile_engname {
  position: absolute;
  left: 0;
}
.p-profile_engname > h2 {
  writing-mode: vertical-rl;
  font-size: clamp(14px, 3vw, 36px);
  font-weight: 400;
  color: #595757;
  letter-spacing: 2px;
}

.p-profile_text {
  width: 80%;
  margin: 0 auto;
}
.p-profile_text > h2 {
  font-size: clamp(16px, 4vw, 24px);
  font-weight: 600;
  color: black;
  letter-spacing: 2px;
  margin-bottom: 24px;
}
.p-profile_text > p {
  font-size: clamp(14px, 3vw, 20px);
  font-weight: 400;
  color: black;
  margin-bottom: 16px;
}

.p-profile_img {
  width: 80%;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  overflow: hidden;
}
.p-profile_img > img {
  height: auto;
  width: 75%;
}

.p-introduction_text {
  width: 90%;
  margin: 0 auto;
}
.p-introduction_text > h3 {
  font-size: clamp(18px, 4vw, 24px);
  font-weight: 600;
  color: black;
  letter-spacing: 1.2px;
  margin-bottom: clamp(16px,4vw, 24px);
}
.p-introduction_text > p {
  font-size: clamp(14px, 3vw, 20px);
  font-weight: 400;
  color: black;
  letter-spacing: 1.8px;
  line-height: 2;
}

.p-snslist_icon {
  margin-right: clamp(24px, 8vw, 48px);
}
.p-snslist_icon > a {
  display: block;
  height: clamp(40px, 8vw,60px);
}
.p-snslist_icon > a > img {
  height: 100%;
  width: auto;
}

.p-frame-list {
  width: 90%;
  margin: 0 auto;
}
.p-frame-list > p {
  font-size: clamp(14px, 3vw, 20px);
  font-weight: 400;
  color: #595757;
  margin-bottom: 16px;
  padding-left: 4px;
  border-bottom: solid 1px #595757;
}

.p-frame-table_yyyymm {
  width: 90%;
  margin: 0 auto;
  display: flex;
}
.p-frame-table_yyyymm > ul {
  width: 100%;
}
.p-frame-table_yyyymm > ul > li {
  display: grid;
  grid-template-columns: clamp(90px,28vw,160px) 1fr;
}
.p-frame-table_yyyymm > ul > li > p {
  font-size: clamp(14px, 3vw, 20px);
  font-weight: 400;
  color: #595757;
  letter-spacing: 1.2px;
  line-height: 1.6;
  word-break: break-all;
  margin-bottom: 8px;
}

.p-frame-table_yyyy {
  width: 90%;
  margin: 0 auto;
  display: flex;
}
.p-frame-table_yyyy > ul {
  width: 100%;
}
.p-frame-table_yyyy > ul > li {
  display: grid;
  grid-template-columns: clamp(70px,18vw,120px) 1fr;
}
.p-frame-table_yyyy > ul > li > p {
  font-size: clamp(14px, 3vw, 20px);
  font-weight: 400;
  color: #595757;
  letter-spacing: 1.2px;
  line-height: 1.6;
  word-break: break-all;
  margin-bottom: 8px;
}

.p-company_text {
  width: 90%;
  margin: 0 auto;
}
.p-company_text > p {
  font-size: clamp(14px, 3vw, 20px);
  font-weight: 400;
  color: #595757;
  letter-spacing: 1.2px;
  line-height: 1.6;
  margin-bottom: 4px;
}

.p-company_map {
  height: clamp(240px,64vw,400px);
  width: 100%;
}
.p-company_map > iframe {
  height: 100%;
  width: 100%;
}

.p-footer {
  width: 100%;
  background-color: white;
}

.p-footer-title {
  padding: 16px 0 clamp(24px,6vw,40px) 0;
}
.p-footer-title > h2 {
  font-size: clamp(18px,2vw,24px);
  font-weight: 500;
  color: black;
  letter-spacing: 1px;
  text-align: center;
}

.p-sitemap > ul {
  width: 90%;
  margin: 0 auto;
}
.p-sitemap > ul > li {
  width: 45%;
  margin-right: 4%;
  margin-bottom: 16px;
  border-bottom: solid 1px #595757;
}
.p-sitemap > ul > li > a {
  font-size: clamp(14px, 3vw, 20px);
  font-weight: 500;
  color: black;
  letter-spacing: 1px;
  text-align: center;
  padding-left: 4px;
}

.p-copyright {
  width: 90%;
  margin: 0 auto;
  padding: 8px 0;
}
.p-copyright > p {
  font-size: clamp(14px, 3vw, 20px);
  font-weight: 500;
  color: black;
  letter-spacing: 1px;
  text-align: left;
}

.u-margin-auto {
  margin: 0 auto;
}

.u-margin-right16 {
  margin-right: 16px;
}

.u-margin-bottom4 {
  margin-bottom: 4px;
}

.u-margin-bottom8 {
  margin-bottom: 8px;
}

.u-margin-bottom16 {
  margin-bottom: 16px;
}

.u-margin-bottom24 {
  margin-bottom: 24px;
}

.u-margin-bottom24 {
  margin-bottom: 32px;
}

.u-margin-bottom_content {
  margin-bottom: clamp(16px, 5vw, 32px);
}

.u-margin-top0 {
  margin-top: 0;
}

.u-margin-topbottom48 {
  margin: 48px 0;
}

.u-padding-top0 {
  padding-top: 0;
}

.u-padding-bottom0 {
  padding-bottom: 0;
}

.u-padding-topbottom24 {
  padding: 24px 0;
}

.u-padding-topbottom48 {
  padding: 48px 0;
}

.u-padding-top48 {
  padding-top: 48px;
}

.u-font_kaku {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
}
