@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@1,400..800&family=Noto+Sans+JP:wght@400;500;700&family=Noto+Serif+JP:wght@400;500;700&family=Nunito+Sans:wght@400&display=swap");
h1, h2, h3, h4, h5, h6 {
  font-weight: 700; }

html {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 62.5%;
  color: #222222; }

body {
  margin: 0;
  font-size: clamp(1.2rem, calc(1.2rem + (1.6rem - 1.2rem) * (100vw - 375px) / (1024px - 375px)), 1.6rem);
  font-weight: 400;
  line-height: 1.5;
  background: #FFFFFF;
  position: relative;
  overflow-wrap: anywhere;
  /* 収まらない場合に折り返す */
  word-break: normal;
  /* 単語の分割はデフォルトに依存 */
  line-break: strict;
  /* 禁則処理を厳格に適用 */ }

a, a:link, a:visited {
  color: #222222;
  text-decoration: underline;
  -webkit-transition: all .3s;
  transition: all .3s; }

figure {
  margin-right: 0;
  margin-left: 0; }

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  -webkit-transition: all .3s;
  transition: all .3s; }

img.noimage {
  filter: brightness(0.9); }

.inner {
  margin: auto;
  max-width: 1200px;
  width: calc(100% - 40px);
  height: auto; }

@media (min-width: 1025px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none; } }
br.sp {
  display: none; }
  @media (max-width: 767px) {
    br.sp {
      display: inline; } }

/*============================================================================
	header
=============================================================================*/
.header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0px 40px;
  height: 100px;
  box-sizing: border-box; }
  @media (max-width: 1024px) {
    .header {
      padding: 0px 10px;
      width: 100%;
      height: 50px;
      position: sticky;
      top: 0;
      left: 0;
      z-index: 300;
      background-color: rgba(255, 255, 255, 0.9); } }
  .header .logoBox {
    /*.logoGroup {
    	margin: 0;
    	width: 162px;
    	line-height: 1;
    	@include max_tab {
    		width: 81px;
    	}
    }*/ }
    .header .logoBox > a {
      display: block;
      text-decoration: none; }
    .header .logoBox .logoWrapper {
      line-height: 1;
      display: flex; }
      .header .logoBox .logoWrapper .logo {
        margin: 0;
        width: 202px; }
        @media (max-width: 1024px) {
          .header .logoBox .logoWrapper .logo {
            width: 101px; } }
      .header .logoBox .logoWrapper .sub {
        margin: 1em 0 0 0.5em;
        font-size: 1.6rem;
        font-weight: 500;
        line-height: 1; }
        @media (max-width: 1024px) {
          .header .logoBox .logoWrapper .sub {
            font-size: 1.0rem; } }
  .header .btnMenu {
    display: block;
    width: 50px;
    height: 50px;
    position: absolute;
    z-index: 300;
    top: 0;
    right: 0;
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none; }
    .header .btnMenu > span.line, .header .btnMenu::before, .header .btnMenu::after {
      display: inline-block;
      transition: 0.3s;
      position: absolute;
      /*left: calc(50% - 22px);*/
      left: 50%;
      translate: -50% -50%;
      width: 46%;
      height: 2px;
      background: #222222; }
    .header .btnMenu > span.line {
      top: 50%; }
    .header .btnMenu::before, .header .btnMenu::after {
      content: ""; }
    .header .btnMenu::before {
      top: 37%; }
    .header .btnMenu::after {
      top: 63%; }
    @media (min-width: 1025px) {
      .header .btnMenu {
        display: none; } }
  @media (max-width: 1024px) {
    .header .menuBox {
      position: fixed;
      top: 0;
      right: 0;
      z-index: 200;
      width: 300px;
      transform: translate(100%, 0);
      height: 100svh;
      padding: 50px 20px;
      overflow: scroll;
      background: #ffffff;
      box-sizing: border-box;
      -webkit-transition: all .3s;
      transition: all .3s; } }
  .header .menuBox .naviBox {
    display: flex;
    font-family: "Noto Serif JP", serif;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1; }
    @media (max-width: 1024px) {
      .header .menuBox .naviBox {
        display: block; } }
    .header .menuBox .naviBox .gnaviList {
      margin: 0;
      padding: 0;
      list-style-type: none;
      display: flex;
      align-items: center;
      gap: 0 3em; }
      @media (max-width: 1024px) {
        .header .menuBox .naviBox .gnaviList {
          display: block; } }
      @media (max-width: 1024px) {
        .header .menuBox .naviBox .gnaviList > li {
          margin: 1em auto; } }
      .header .menuBox .naviBox .gnaviList > li a {
        text-decoration: none; }
        @media (max-width: 1024px) {
          .header .menuBox .naviBox .gnaviList > li a {
            display: block;
            text-align: center;
            padding: 1em; } }
    .header .menuBox .naviBox .btnPamphlet {
      margin: 0 0 0 3em; }
      @media (max-width: 1024px) {
        .header .menuBox .naviBox .btnPamphlet {
          margin: 1em auto; } }
      .header .menuBox .naviBox .btnPamphlet a {
        color: #A99979;
        text-decoration: none;
        display: flex;
        align-items: center;
        gap: 0 0.3em; }
        @media (max-width: 1024px) {
          .header .menuBox .naviBox .btnPamphlet a {
            padding: 1em;
            justify-content: center; } }
        .header .menuBox .naviBox .btnPamphlet a i {
          line-height: 1;
          width: 1.5em; }
          .header .menuBox .naviBox .btnPamphlet a i img {
            transition: 0s; }
    .header .menuBox .naviBox a {
      position: relative; }
      .header .menuBox .naviBox a::after {
        content: "";
        display: block;
        width: 0%;
        height: 2px;
        background: #A99979;
        position: absolute;
        left: 50%;
        bottom: -0.5em;
        -webkit-transition: all .3s;
        transition: all .3s; }
      .header .menuBox .naviBox a:hover::after {
        width: 100%;
        left: 0%; }

body.open .header .menuBox {
  transform: translate(0, 0); }
body.open .header .btnMenu > span.line {
  opacity: 0; }
body.open .header .btnMenu::before {
  top: 50%;
  rotate: -45deg; }
body.open .header .btnMenu::after {
  top: 50%;
  rotate: 45deg; }

body #overlay {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 100;
  background-color: rgba(0, 0, 0, 0.6);
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all .3s;
  transition: all .3s; }

body.open #overlay {
  visibility: visible;
  opacity: 1; }

/*============================================================================
	footer
=============================================================================*/
.footer .footerContentBox {
  color: #ffffff;
  background: #00133A;
  padding: 80px 0; }
  @media (max-width: 767px) {
    .footer .footerContentBox {
      padding: 40px 0; } }
  .footer .footerContentBox a {
    color: #ffffff;
    text-decoration: none; }
    .footer .footerContentBox a:hover {
      text-decoration: underline; }
  .footer .footerContentBox .naviBox01 {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0 60px; }
    @media (max-width: 767px) {
      .footer .footerContentBox .naviBox01 {
        flex-direction: column;
        gap: 30px 0; } }
    .footer .footerContentBox .naviBox01 .clm {
      display: flex;
      gap: 2em; }
      @media (max-width: 767px) {
        .footer .footerContentBox .naviBox01 .clm {
          gap: 1em; } }
      .footer .footerContentBox .naviBox01 .clm .title {
        margin: 0;
        font-size: 1.6rem;
        font-weight: bold; }
        @media (max-width: 767px) {
          .footer .footerContentBox .naviBox01 .clm .title {
            flex-shrink: 0;
            width: 7em;
            font-size: 1.2rem; } }
      .footer .footerContentBox .naviBox01 .clm .bodyBox .footerList01 {
        margin: 0;
        padding: 0;
        list-style-type: none;
        font-weight: bold; }
        .footer .footerContentBox .naviBox01 .clm .bodyBox .footerList01 li + li {
          margin-top: 0.5em; }
      .footer .footerContentBox .naviBox01 .clm .bodyBox p {
        margin: 0;
        font-weight: 500;
        line-height: 2; }
        .footer .footerContentBox .naviBox01 .clm .bodyBox p + p {
          margin-top: 0.5em; }
      .footer .footerContentBox .naviBox01 .clm .bodyBox .btn {
        margin-top: 1.5em; }
        .footer .footerContentBox .naviBox01 .clm .bodyBox .btn a {
          display: inline-block;
          padding: 1em;
          color: #ffffff;
          text-decoration: none;
          line-height: 1;
          letter-spacing: 0.05em;
          border: 1px solid #A99979;
          background: #A99979; }
  .footer .footerContentBox .naviBox02 {
    margin: 80px 0 0 0;
    padding: 80px 0 0 0;
    border-top: 1px solid #334261; }
    @media (max-width: 767px) {
      .footer .footerContentBox .naviBox02 {
        margin-top: 30px;
        padding-top: 30px; } }
    .footer .footerContentBox .naviBox02 .footerList02 {
      margin: 0;
      padding: 0;
      list-style-type: none;
      font-weight: bold;
      display: flex;
      justify-content: center;
      align-items: flex-start; }
      @media (max-width: 767px) {
        .footer .footerContentBox .naviBox02 .footerList02 {
          flex-direction: column; } }
      .footer .footerContentBox .naviBox02 .footerList02 > dd {
        margin: 0 0 0 2em; }
        @media (max-width: 767px) {
          .footer .footerContentBox .naviBox02 .footerList02 > dd {
            margin: 0.5em 0 0 0; } }
        .footer .footerContentBox .naviBox02 .footerList02 > dd::before {
          content: "〇"; }
  .footer .footerContentBox .cr {
    margin: 3em 0 0 0;
    font-size: 1.4rem;
    text-align: center; }
    @media (max-width: 767px) {
      .footer .footerContentBox .cr {
        font-size: 1rem; } }
.footer .footerLogoBox {
  padding: 30px 0; }
  @media (max-width: 767px) {
    .footer .footerLogoBox {
      padding: 15px 0; } }
  .footer .footerLogoBox .logo {
    width: 230px;
    margin: 0 auto; }
    @media (max-width: 767px) {
      .footer .footerLogoBox .logo {
        width: 170px; } }
  .footer .footerLogoBox .groupComment {
    font-size: 1.2rem;
    margin: 1em 0 0 0;
    text-align: center; }
    @media (max-width: 767px) {
      .footer .footerLogoBox .groupComment {
        font-size: 1rem; } }
.footer .btnPagetop {
  margin: 0;
  width: 50px;
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 2; }
  .footer .btnPagetop .btn {
    display: block;
    aspect-ratio: 1 / 1;
    background: #ffffff;
    border: 1px solid #00133A;
    border-radius: 50%;
    text-indent: -9999px;
    position: relative; }
    .footer .btnPagetop .btn .arrow {
      display: block;
      width: 20%;
      aspect-ratio: 1 / 1;
      border-top: 2px solid #00133A;
      border-right: 2px solid #00133A;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -25%) rotate(-45deg); }

/*============================================================================
	common
=============================================================================*/
/* ttl */
.commonHeadBox {
  text-align: center;
  margin: 80px 0; }
  @media (max-width: 767px) {
    .commonHeadBox {
      margin: 40px 0; } }
  .commonHeadBox .sub {
    margin: 0;
    color: #A99979;
    font-size: clamp(1rem, calc(1rem + (1.4rem - 1rem) * (100vw - 375px) / (1024px - 375px)), 1.4rem);
    font-family: "Nunito Sans", sans-serif;
    font-optical-sizing: auto;
    font-weight: bold;
    letter-spacing: 0.3em;
    line-height: 1; }
  .commonHeadBox .head {
    margin: 0.4em 0 0 0;
    font-size: clamp(2.1rem, calc(2.1rem + (3.6rem - 2.1rem) * (100vw - 375px) / (1024px - 375px)), 3.6rem);
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
    letter-spacing: 0.15em;
    line-height: 1.5; }
  .commonHeadBox.white .head {
    color: #ffffff; }
  .commonHeadBox::after {
    content: "";
    display: block;
    width: 140px;
    height: 2px;
    margin: 40px auto 0;
    background: #A99979; }
    @media (max-width: 767px) {
      .commonHeadBox::after {
        width: 70px;
        margin-top: 20px; } }

.commonPageheadBox {
  height: 240px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative; }
  @media (max-width: 767px) {
    .commonPageheadBox {
      height: 120px; } }
  .commonPageheadBox::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background-color: rgba(0, 0, 0, 0.6);
    z-index: 1; }
  .commonPageheadBox h1 {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    margin: 0;
    color: #ffffff;
    font-size: 3.6rem;
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
    letter-spacing: 0.15em;
    position: relative;
    z-index: 2; }
    @media (max-width: 767px) {
      .commonPageheadBox h1 {
        font-size: 2.1rem; } }

.commonTtl01 {
  font-size: clamp(1.8rem, calc(1.8rem + (2.8rem - 1.8rem) * (100vw - 375px) / (1024px - 375px)), 2.8rem);
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  letter-spacing: 0.075em;
  margin: 2em 0 1em;
  padding: 0.5em 1em;
  border-left: 4px solid #00133A;
  background: #F5F5F5; }

.commonTtl02 {
  font-size: clamp(1.4rem, calc(1.4rem + (2rem - 1.4rem) * (100vw - 375px) / (1024px - 375px)), 2rem);
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  letter-spacing: 0.075em;
  margin: 2em 0 1em;
  padding: 0 0 0 1.5em;
  position: relative; }
  .commonTtl02 + .commonTtl01 {
    margin-top: 0; }
  .commonTtl02::before {
    content: "";
    display: block;
    width: 0.8em;
    height: 2px;
    background: #A99979;
    position: absolute;
    top: 0.9em;
    left: 0; }

.commonTtl03 {
  font-size: clamp(1.6rem, calc(1.6rem + (3.2rem - 1.6rem) * (100vw - 375px) / (1024px - 375px)), 3.2rem);
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  letter-spacing: 0.075em;
  margin: 2em 0 1em;
  padding: 0 0 0 0.5em;
  position: relative;
  border-left: 4px solid #A99979; }

.commonTtl04 {
  font-size: clamp(1.4rem, calc(1.4rem + (1.6rem - 1.4rem) * (100vw - 375px) / (1024px - 375px)), 1.6rem);
  font-weight: 700;
  margin: 1.2em 0 0.6em; }

/* breadcrumbs */
.breadcrumbs {
  margin: 1em 0 2em;
  font-size: 1.4rem; }
  @media (max-width: 767px) {
    .breadcrumbs {
      font-size: 1rem; } }
  .breadcrumbs .breadcrumbsList {
    margin: 0;
    padding: 0;
    list-style-type: none;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0.5em; }
    .breadcrumbs .breadcrumbsList > li {
      margin: 0; }
      .breadcrumbs .breadcrumbsList > li + li::before {
        content: ">";
        margin-right: 0.5em; }

/* btn */
.commonBtn01 {
  margin: 1em 0;
  width: 240px; }
  @media (max-width: 767px) {
    .commonBtn01 {
      width: 180px; } }
  .commonBtn01 a,
  .commonBtn01 button {
    color: #ffffff;
    text-decoration: none;
    line-height: 1;
    letter-spacing: 0.05em;
    border: 1px solid #A99979;
    background: #A99979;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 0.8em;
    padding: 1.2em;
    position: relative;
    z-index: 1;
    width: 100%;
    box-sizing: border-box;
    cursor: pointer; }
    .commonBtn01 a .arrow,
    .commonBtn01 button .arrow {
      display: block;
      position: relative;
      width: 20px;
      height: 2px;
      background: currentColor;
      -webkit-transition: all .3s;
      transition: all .3s; }
      @media (max-width: 767px) {
        .commonBtn01 a .arrow,
        .commonBtn01 button .arrow {
          width: 15px; } }
      .commonBtn01 a .arrow::before,
      .commonBtn01 button .arrow::before {
        content: "";
        width: 0.6em;
        aspect-ratio: 1 / 1;
        border: 2px solid currentColor;
        border-left: 0;
        border-bottom: 0;
        transform: rotate(45deg);
        transform-origin: top right;
        position: absolute;
        top: 50%;
        right: -2px;
        box-sizing: border-box; }
    .commonBtn01 a::after,
    .commonBtn01 button::after {
      content: "";
      display: block;
      background: #ffffff;
      width: 0;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1;
      -webkit-transition: all .3s;
      transition: all .3s; }
    .commonBtn01 a:hover,
    .commonBtn01 button:hover {
      color: #A99979; }
      .commonBtn01 a:hover::after,
      .commonBtn01 button:hover::after {
        width: 100%; }

/* list */
ul > li::marker {
  color: #A99979; }

.commonList02 > li::marker {
  color: #B3B3B3; }

.commonList03 {
  padding: 0; }
  .commonList03 > li {
    display: flex;
    align-items: flex-start;
    gap: 0.5em;
    margin: 0.2em 0 0 0;
    padding: 0 0 0 1.8em;
    position: relative; }
    .commonList03 > li::before {
      content: "";
      display: block;
      width: 1.25em;
      aspect-ratio: 1 / 1;
      background: url("/wp-content/themes/plus1_original/img/common/icon_list02.svg") 0 0 no-repeat;
      background-size: contain;
      position: absolute;
      top: 0.3em;
      left: 0; }

/* programとreportの詳細ページで使用するカスタムブロック用css */
.commonDetailClmWrapper01 {
  margin: 2em 0;
  display: flex;
  gap: 30px; }
  @media (max-width: 767px) {
    .commonDetailClmWrapper01 {
      gap: 15px; } }
  .commonDetailClmWrapper01 + .commonDetailClmWrapper01 {
    margin-top: 4em; }
    @media (max-width: 767px) {
      .commonDetailClmWrapper01 + .commonDetailClmWrapper01 {
        margin-top: 2em; } }
  .commonDetailClmWrapper01 > .clm01 {
    width: calc(100% * 400 / 1200);
    flex-shrink: 0; }
  .commonDetailClmWrapper01 .imgBox {
    margin: 0; }
  .commonDetailClmWrapper01 .commonTtl02 {
    margin-top: 0; }
  .commonDetailClmWrapper01 p {
    margin-top: 0; }

/*----------------------------------------------
notFoundTxt
----------------------------------------------*/
.notFoundTxt {
  text-align: center;
  font-weight: bold;
  margin: 5em 0; }

/*----------------------------------------------
noPost
----------------------------------------------*/
.noPost {
  text-align: center;
  font-weight: 700; }

/*----------------------------------------------
commonProgramTagList
----------------------------------------------*/
.commonProgramTagList {
  margin: 0;
  padding: 0;
  list-style-type: none; }
  .commonProgramTagList > li {
    color: #ffffff;
    font-size: 1.4rem;
    line-height: 1;
    padding: 0.8em 1em;
    border: 1px solid #ffffff;
    background: #00133A; }
    @media (max-width: 767px) {
      .commonProgramTagList > li {
        font-size: 1rem; } }
    .commonProgramTagList > li.comingsoon {
      background: #B28540; }
    .commonProgramTagList > li.closed {
      background: #666666; }
    .commonProgramTagList > li.extend, .commonProgramTagList > li.deadlinecoming {
      background: #ff0000; }
    .commonProgramTagList > li.oneleft, .commonProgramTagList > li.afew {
      background: #F68B1E; }

/*----------------------------------------------
commonReportCtgList
----------------------------------------------*/
.commonReportCtgList {
  margin: 0;
  padding: 0;
  list-style-type: none; }
  .commonReportCtgList > li {
    color: #ffffff;
    font-size: clamp(1rem, calc(1rem + (1.4rem - 1rem) * (100vw - 375px) / (1024px - 375px)), 1.4rem);
    line-height: 1;
    padding: 0.4em 0.8em;
    background: #00133A; }
    .commonReportCtgList > li.report {
      background: #667189; }
    .commonReportCtgList > li.voice {
      background: #897d4d; }

/*----------------------------------------------
commonNewsCtgList
----------------------------------------------*/
.commonNewsCtgList {
  margin: 0;
  padding: 0;
  list-style-type: none;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 0.5em;
  white-space: nowrap; }
  @media (max-width: 767px) {
    .commonNewsCtgList {
      flex-direction: row; } }
  .commonNewsCtgList > li {
    color: #ffffff;
    font-size: clamp(1rem, calc(1rem + (1.4rem - 1rem) * (100vw - 375px) / (1024px - 375px)), 1.4rem);
    line-height: 1;
    padding: 0.4em 0.8em;
    background: #00133A; }
    .commonNewsCtgList > li.program {
      background: #667189; }
    .commonNewsCtgList > li.info {
      background: #897d4d; }

/*----------------------------------------------
commonContactBox
----------------------------------------------*/
body.home .commonContactBox {
  margin-top: 0; }

.commonContactBox {
  margin: 100px 0 0 0;
  padding: 100px 0;
  background: #00133A; }
  @media (max-width: 767px) {
    .commonContactBox {
      margin-top: 50px;
      padding: 50px 0; } }
  .commonContactBox .head {
    margin: 0;
    text-align: center;
    color: #A99979;
    font-size: 8rem;
    font-family: "EB Garamond", serif;
    font-optical-sizing: auto;
    font-style: italic;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.05em; }
    @media (max-width: 767px) {
      .commonContactBox .head {
        font-size: 4rem; } }
  .commonContactBox .bodyBox {
    overflow: hidden; }
  .commonContactBox .list {
    margin: 80px -40px 0;
    padding: 0;
    list-style-type: none;
    display: flex; }
    @media (max-width: 767px) {
      .commonContactBox .list {
        display: block;
        margin: 30px 0 0; } }
    .commonContactBox .list > li {
      width: 33.33%;
      display: flex;
      flex-direction: column;
      padding: 0 40px;
      box-sizing: border-box; }
      @media (max-width: 767px) {
        .commonContactBox .list > li {
          width: auto;
          padding: 0 20px; } }
      .commonContactBox .list > li + li {
        border-left: 1px solid #334261; }
        @media (max-width: 767px) {
          .commonContactBox .list > li + li {
            border: none;
            margin-top: 40px; } }
      .commonContactBox .list > li .title {
        margin: 0;
        color: #ffffff;
        font-size: 3.2rem;
        font-family: "Noto Serif JP", serif;
        font-weight: bold;
        line-height: 1.2;
        text-align: center;
        flex-grow: 1; }
        @media (max-width: 767px) {
          .commonContactBox .list > li .title {
            font-size: 2.7rem; } }
        .commonContactBox .list > li .title .sub {
          font-size: 2.4rem; }
          @media (max-width: 767px) {
            .commonContactBox .list > li .title .sub {
              font-size: 1.8rem; } }
      .commonContactBox .list > li .icon {
        margin: 20px auto;
        text-align: center;
        flex-grow: 1;
        display: flex;
        justify-content: center;
        align-items: center; }
        @media (max-width: 767px) {
          .commonContactBox .list > li .icon {
            margin: 10px auto; } }
      .commonContactBox .list > li .btn {
        margin: 1em auto 0;
        width: 100%; }
        .commonContactBox .list > li .btn a {
          padding: 1.5em; }
      .commonContactBox .list > li:nth-of-type(1) .icon {
        width: 78px; }
      .commonContactBox .list > li:nth-of-type(2) .icon {
        width: 59px; }
      .commonContactBox .list > li:nth-of-type(3) .icon {
        width: 85px; }

/*----------------------------------------------
commonInstagramBox
----------------------------------------------*/
.commonInstagramBox {
  padding: 100px 0; }
  @media (max-width: 767px) {
    .commonInstagramBox {
      padding: 50px 0; } }
  .commonInstagramBox .banner {
    max-width: 500px;
    margin: 0 auto;
    text-align: center; }
    @media (max-width: 767px) {
      .commonInstagramBox .banner {
        max-width: 250px; } }

/*----------------------------------------------
commonPointBox
----------------------------------------------*/
.commonPointBox {
  margin: 8rem 0 4rem;
  padding: 40px;
  border: 1px solid #A99979;
  background: #ffffff;
  position: relative; }
  @media (max-width: 767px) {
    .commonPointBox {
      padding: 20px; } }
  .commonPointBox .head {
    color: #ffffff;
    font-size: clamp(1.4rem, calc(1.4rem + (2rem - 1.4rem) * (100vw - 375px) / (1024px - 375px)), 2rem);
    text-align: center;
    font-weight: 700;
    line-height: 1;
    margin: 0 0 0 -1px;
    padding: 1em 5% 1em 70px;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    background: url("/wp-content/themes/plus1_original/img/common/common_point_head_bg01.png") 0 0 no-repeat;
    background-size: 100% 100%; }
    @media (max-width: 767px) {
      .commonPointBox .head {
        padding-left: 50px; } }
    .commonPointBox .head::before {
      content: "";
      display: block;
      width: 48px;
      aspect-ratio: 48 / 76;
      position: absolute;
      top: 50%;
      left: 20px;
      background: url("/wp-content/themes/plus1_original/img/common/common_point_head_icon01.svg") 0 0 no-repeat;
      background-size: 100% 100%;
      margin: -50px 0 0 0; }
      @media (max-width: 767px) {
        .commonPointBox .head::before {
          width: 36px;
          left: 10px;
          margin-top: -35px; } }
  .commonPointBox .descBox .ttl {
    font-family: "Noto Serif JP", serif;
    color: #820000;
    font-size: clamp(1.8rem, calc(1.8rem + (2.8rem - 1.8rem) * (100vw - 375px) / (1024px - 375px)), 2.8rem);
    font-weight: 700;
    margin: 1em 0 0 0; }

/*============================================================================
	animation
=============================================================================*/
.maskBlock {
  overflow: hidden;
  position: relative; }
  .maskBlock::after {
    content: '';
    width: 100%;
    height: 100%;
    background: #334261;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    transform: translateX(var(--blockScale, 0%));
    z-index: 10; }

/*============================================================================
	画像が寄らない対策
=============================================================================*/
.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto; }

.alignright {
  float: right;
  margin-bottom: 1.5em;
  margin-left: 1.5em; }

.alignleft {
  float: left;
  margin-bottom: 1.5em;
  margin-right: 1.5em; }

/*============================================================================
	regulation
=============================================================================*/
/*============================================================================
	調整用
=============================================================================*/
.fl {
  display: -webkit-flex;
  display: -moz-flex;
  display: flex; }

.fl-tab {
  display: -webkit-flex;
  display: -moz-flex;
  display: flex; }
  @media (max-width: 1024px) {
    .fl-tab {
      -webkit-flex-direction: column;
      -moz-flex-direction: column;
      flex-direction: column; } }

.fl-smp {
  display: -webkit-flex;
  display: -moz-flex;
  display: flex; }
  @media (max-width: 767px) {
    .fl-smp {
      -webkit-flex-direction: column;
      -moz-flex-direction: column;
      flex-direction: column; } }

.fl-jst {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }

.fl-cen {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }

.fl-end {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end; }

.fl-wrap {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.fl-col {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column; }

.fl-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse; }

.mt0 {
  margin-top: min(0vw,0px); }

.mb0 {
  margin-bottom: min(0vw,0px); }

.pt0 {
  padding-top: min(0vw,0px); }

.pb0 {
  padding-bottom: min(0vw,0px); }

.mt10 {
  margin-top: min(3vw,10px); }

.mb10 {
  margin-bottom: min(3vw,10px); }

.pt10 {
  padding-top: min(3vw,10px); }

.pb10 {
  padding-bottom: min(3vw,10px); }

.mt20 {
  margin-top: min(6vw,20px); }

.mb20 {
  margin-bottom: min(6vw,20px); }

.pt20 {
  padding-top: min(6vw,20px); }

.pb20 {
  padding-bottom: min(6vw,20px); }

.mt30 {
  margin-top: min(9vw,30px); }

.mb30 {
  margin-bottom: min(9vw,30px); }

.pt30 {
  padding-top: min(9vw,30px); }

.pb30 {
  padding-bottom: min(9vw,30px); }

.mt40 {
  margin-top: min(12vw,40px); }

.mb40 {
  margin-bottom: min(12vw,40px); }

.pt40 {
  padding-top: min(12vw,40px); }

.pb40 {
  padding-bottom: min(12vw,40px); }

.mt50 {
  margin-top: min(15vw,50px); }

.mb50 {
  margin-bottom: min(15vw,50px); }

.pt50 {
  padding-top: min(15vw,50px); }

.pb50 {
  padding-bottom: min(15vw,50px); }

.mt60 {
  margin-top: min(18vw,60px); }

.mb60 {
  margin-bottom: min(18vw,60px); }

.pt60 {
  padding-top: min(18vw,60px); }

.pb60 {
  padding-bottom: min(18vw,60px); }

.mt70 {
  margin-top: min(21vw,70px); }

.mb70 {
  margin-bottom: min(21vw,70px); }

.pt70 {
  padding-top: min(21vw,70px); }

.pb70 {
  padding-bottom: min(21vw,70px); }

.mt80 {
  margin-top: min(24vw,80px); }

.mb80 {
  margin-bottom: min(24vw,80px); }

.pt80 {
  padding-top: min(24vw,80px); }

.pb80 {
  padding-bottom: min(24vw,80px); }

.mt90 {
  margin-top: min(27vw,90px); }

.mb90 {
  margin-bottom: min(27vw,90px); }

.pt90 {
  padding-top: min(27vw,90px); }

.pb90 {
  padding-bottom: min(27vw,90px); }

.mt100 {
  margin-top: min(30vw,100px); }

.mb100 {
  margin-bottom: min(30vw,100px); }

.pt100 {
  padding-top: min(30vw,100px); }

.pb100 {
  padding-bottom: min(30vw,100px); }

br {
  display: inline; }
  @media (min-width: 1281px) {
    br.showPC {
      display: none !important; } }
  @media (min-width: 1025px) {
    br.showTab {
      display: none !important; } }
  @media (min-width: 768px) {
    br.showSP {
      display: none !important; } }
  @media (max-width: 1280px) {
    br.hdnPC {
      display: none; }
    br.showPC {
      display: inherit; } }
  @media (max-width: 1024px) {
    br.hdnTab {
      display: none; }
    br.showTab {
      display: inherit; } }
  @media (max-width: 767px) {
    br.hdnSP {
      display: none; }
    br.showSP {
      display: inherit; } }

span {
  display: inline-block; }
  @media (min-width: 1281px) {
    span.showPC {
      display: none !important; } }
  @media (min-width: 1025px) {
    span.showTab {
      display: none !important; } }
  @media (min-width: 768px) {
    span.showSP {
      display: none !important; } }
  @media (max-width: 1280px) {
    span.hdnPC {
      display: none !important; }
    span.showPC {
      display: inherit; } }
  @media (max-width: 1024px) {
    span.hdnTab {
      display: none !important; }
    span.showTab {
      display: inherit; } }
  @media (max-width: 767px) {
    span.hdnSP {
      display: none !important; }
    span.showSP {
      display: inherit; } }

p, div, figure, ul {
  display: block; }
  @media (min-width: 1281px) {
    p.showPC, div.showPC, figure.showPC, ul.showPC {
      display: none !important; } }
  @media (min-width: 1025px) {
    p.showTab, div.showTab, figure.showTab, ul.showTab {
      display: none !important; } }
  @media (min-width: 768px) {
    p.showSP, div.showSP, figure.showSP, ul.showSP {
      display: none !important; } }
  @media (max-width: 1280px) {
    p.hdnPC, div.hdnPC, figure.hdnPC, ul.hdnPC {
      display: none !important; }
    p.showPC, div.showPC, figure.showPC, ul.showPC {
      display: inherit; } }
  @media (max-width: 1024px) {
    p.hdnTab, div.hdnTab, figure.hdnTab, ul.hdnTab {
      display: none !important; }
    p.showTab, div.showTab, figure.showTab, ul.showTab {
      display: inherit; } }
  @media (max-width: 767px) {
    p.hdnSP, div.hdnSP, figure.hdnSP, ul.hdnSP {
      display: none !important; }
    p.showSP, div.showSP, figure.showSP, ul.showSP {
      display: inherit; } }

li {
  display: list-item; }
  @media (min-width: 1281px) {
    li.showPC {
      display: none !important; } }
  @media (min-width: 1025px) {
    li.showTab {
      display: none !important; } }
  @media (min-width: 768px) {
    li.showSP {
      display: none !important; } }
  @media (max-width: 1280px) {
    li.hdnPC {
      display: none !important; }
    li.showPC {
      display: inherit; } }
  @media (max-width: 1024px) {
    li.hdnTab {
      display: none !important; }
    li.showTab {
      display: inherit; } }
  @media (max-width: 767px) {
    li.hdnSP {
      display: none !important; }
    li.showSP {
      display: inherit; } }

.ta_cnt {
  text-align: center; }

.ta_right {
  text-align: right; }

.clearfix:after {
  content: "";
  display: block;
  clear: both; }
