@charset "UTF-8";
@font-face {
  font-family: "tsunagi";
  src: url("../font/TsunagiGothic.woff") format("woff"); }
.main_content {
  max-width: 1920px;
  width: 100%; }
  .main_content h2 {
    width: calc(100% - 200px);
    margin: 0 auto;
    max-width: 1580px;
    margin-bottom: 120px; }

/*max-width:1280px*/
@media (max-width: 1024px) {
  .main_content h2 {
    width: calc(100% - 80px); } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .main_content h2 {
    margin-bottom: 50px; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .main_content h2 {
    width: calc(100% - 40px); } }
/*max-width:480px*/
/*****************************************/
.about_menu {
  width: calc(100% - 200px);
  margin: 0 auto;
  max-width: 1580px; }
  .about_menu a {
    max-width: 1280px;
    margin: 0 0 70px auto;
    text-decoration: none;
    position: relative;
    display: block;
    width: 100%; }
    .about_menu a:last-of-type {
      margin-bottom: 0; }
  .about_menu .pic {
    width: calc(100% - 280px);
    max-width: 1000px;
    height: 350px;
    margin: 0 0 0 auto;
    overflow: hidden;
    border-radius: 15px;
    position: relative; }
  .about_menu img {
    transition: .3s;
    position: absolute;
    width: auto;
    max-width: 1000px;
    height: 350px;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    /* Safari用 */
    transform: translate(-50%, -50%); }
  .about_menu .txt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    height: 350px;
    width: 99%;
    position: absolute;
    right: 0;
    z-index: 1; }
    .about_menu .txt p {
      font: 3.6rem/1.7em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 700;
      margin: 0 0 15px; }
      .about_menu .txt p span {
        width: fit-content;
        font: 1.6rem/1.5em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 700;
        display: block;
        position: relative;
        padding: 0 20px 5px 20px; }
        .about_menu .txt p span:before, .about_menu .txt p span:after {
          width: 20px;
          height: 1px;
          background-color: #79503A;
          position: absolute;
          content: "";
          display: block; }
        .about_menu .txt p span:before {
          top: 9px;
          left: 0;
          transform: rotate(55deg); }
        .about_menu .txt p span:after {
          top: 9px;
          right: 0;
          transform: rotate(-55deg); }
    .about_menu .txt strong {
      font: 3.6rem/1.6em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 700;
      color: #F8C559; }
    .about_menu .txt .link {
      transition: .3s;
      width: fit-content;
      display: block;
      font: 1.8rem/1em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 700;
      letter-spacing: 0.015em;
      padding: 11px 45px 10px 0;
      margin: 0 0 5px;
      background: url("../images/common/icon_arrow03.svg") top 4px right no-repeat;
      background-size: 34px; }

@media (hover: hover) {
  .about_menu a:hover img {
    -webkit-transform: translate(-50%, -50%) scale(1.1);
    transform: translate(-50%, -50%) scale(1.1); }
  .about_menu a:hover .link {
    color: #F8C559; } }
@media (max-width: 1280px) {
  .about_menu {
    width: calc(100% - 200px); }
    .about_menu .pic {
      width: calc(100% - 260px);
      max-width: 770px;
      height: 260px; }
    .about_menu img {
      height: 260px; }
    .about_menu .txt {
      height: 260px; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .about_menu {
    width: calc(100% - 80px); }
    .about_menu a {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      flex-direction: column;
      flex-wrap: wrap;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      -webkit-justify-content: flex-start;
      justify-content: flex-start;
      align-items: flex-start;
      width: 100%; }
    .about_menu .pic {
      aspect-ratio: 1000/350;
      order: 2;
      width: 100%;
      max-width: 1000px;
      height: auto;
      margin: 0 0 0 auto;
      overflow: hidden;
      border-radius: 15px;
      position: relative; }
    .about_menu img {
      width: 100%;
      max-width: 1000px;
      height: 100%; }
    .about_menu .txt {
      display: block;
      height: auto;
      width: 100%;
      position: relative;
      right: auto;
      z-index: 1;
      margin: 0 auto 20px; }
      .about_menu .txt p {
        margin-bottom: 0; }
      .about_menu .txt .link {
        position: absolute;
        bottom: 0;
        right: 0; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .about_menu {
    padding: 100px 0 0;
    width: calc(100% - 80px); }
    .about_menu a {
      max-width: 1280px;
      margin: 0 0 50px auto; }
    .about_menu .txt p {
      font: 2.6rem/1.7em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 700;
      margin: 0; }
    .about_menu .txt strong {
      font: 2.6rem/1.6em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 700; }
    .about_menu .txt .link {
      font: 1.5rem/1em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 700;
      padding: 11px 35px 10px 0;
      margin: 0;
      background: url("../images/common/icon_arrow03.svg") center right no-repeat;
      background-size: 25px; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .about_menu {
    padding: 30px 0 0;
    width: calc(100% - 40px); }
    .about_menu a {
      max-width: 350px;
      margin: 0 0 50px auto; }
    .about_menu .txt {
      margin: 0 0 10px; }
      .about_menu .txt p {
        margin: 0 0 5px; }
      .about_menu .txt .link {
        position: relative;
        right: auto; } }
/*max-width:480px*/
/*****************************************/
.back_list {
  transition: .3s;
  max-width: 640px;
  width: calc(100% - 80px);
  margin: 0 auto 120px;
  background-color: #FBF4EA;
  display: block;
  height: 90px;
  text-decoration: none; }
  .back_list span {
    transition: .3s;
    font: 1.8rem/88px "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 700;
    letter-spacing: 0.03em;
    display: block;
    width: fit-content;
    position: relative;
    padding: 0 40px 0 0;
    margin: 0 auto;
    color: #79503A; }
    .back_list span:before {
      transition: .3s;
      position: absolute;
      content: "";
      display: block;
      background: url("../images/common/icon_arrow02.svg") center center no-repeat;
      background-size: contain;
      width: 22px;
      height: 22px;
      top: 50%;
      left: auto;
      right: 0;
      -webkit-transform: translate(0%, -50%);
      /* Safari用 */
      transform: translate(0%, -50%); }
    .back_list span:after {
      transition: .3s;
      position: absolute;
      content: "";
      display: block;
      background: url("../images/common/icon_arrow.svg") center center no-repeat;
      background-size: contain;
      width: 22px;
      height: 22px;
      top: 50%;
      left: auto;
      right: 0;
      -webkit-transform: translate(0%, -50%);
      /* Safari用 */
      transform: translate(0%, -50%);
      opacity: 0; }

@media (hover: hover) {
  .back_list:hover {
    background-color: #F8C559; }
    .back_list:hover span {
      color: #fff; }
      .back_list:hover span:before {
        opacity: 0; }
      .back_list:hover span:after {
        opacity: 1; } }
/*max-width:1280px*/
/*max-width:1024px*/
@media (max-width: 768px) {
  .back_list {
    transition: .3s;
    max-width: 300px;
    width: calc(100% - 80px);
    margin: 0 auto 120px;
    background-color: #FBF4EA;
    display: block;
    height: 70px;
    text-decoration: none; }
    .back_list span {
      transition: .3s;
      font: 1.6rem/68px "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 700;
      letter-spacing: 0.03em;
      display: block;
      width: fit-content;
      position: relative;
      padding: 0 40px 0 0;
      margin: 0 auto;
      color: #79503A; }
      .back_list span:before {
        transition: .3s;
        position: absolute;
        content: "";
        display: block;
        background: url("../images/common/icon_arrow02.svg") center center no-repeat;
        background-size: contain;
        width: 22px;
        height: 22px;
        top: 50%;
        left: auto;
        right: 0;
        -webkit-transform: translate(0%, -50%);
        /* Safari用 */
        transform: translate(0%, -50%); }
      .back_list span:after {
        transition: .3s;
        position: absolute;
        content: "";
        display: block;
        background: url("../images/common/icon_arrow.svg") center center no-repeat;
        background-size: contain;
        width: 22px;
        height: 22px;
        top: 50%;
        left: auto;
        right: 0;
        -webkit-transform: translate(0%, -50%);
        /* Safari用 */
        transform: translate(0%, -50%);
        opacity: 0; } }
/*max-width:768px*/
/*max-width:480px*/
/*****************************************/
.page_menu {
  max-width: 1130px;
  width: calc(100% - 200px);
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between; }
  .page_menu a {
    text-decoration: none;
    width: calc((100% - 60px)/3);
    margin: 0 auto 35px;
    max-width: 330px;
    display: block; }
  .page_menu img {
    width: 100%; }
  .page_menu .link {
    width: fit-content;
    display: block;
    font: 1.5rem/1em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 700;
    letter-spacing: 0.015em;
    padding: 10px 30px 10px 0;
    margin: 0 0 5px;
    background: url("../images/common/icon_arrow03.svg") center right no-repeat;
    background-size: 20px; }
  .page_menu p {
    font: 1.8rem/1.6em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 700;
    margin: 0 0 2px; }
    .page_menu p span {
      width: fit-content;
      font: 1.5rem/1.5em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 700;
      display: block;
      position: relative;
      padding: 0 20px 3px 20px; }
      .page_menu p span:before, .page_menu p span:after {
        width: 20px;
        height: 1px;
        background-color: #79503A;
        position: absolute;
        content: "";
        display: block; }
      .page_menu p span:before {
        top: 9px;
        left: 0;
        transform: rotate(55deg); }
      .page_menu p span:after {
        top: 9px;
        right: 0;
        transform: rotate(-55deg); }
    .page_menu p br {
      display: none; }
  .page_menu strong {
    font: 1.8rem/1.6em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 700;
    color: #F8C559; }

@media (max-width: 1280px) {
  .page_menu p {
    font: 1.7rem/1.6em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 700;
    margin: 0 0 2px; }
    .page_menu p br {
      display: block; }
  .page_menu strong {
    font: 1.7rem/1.6em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 700; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .page_menu {
    max-width: 640px;
    width: calc(100% - 80px); }
    .page_menu a {
      width: calc((100% - 60px)/2); }
    .page_menu p {
      font: 1.8rem/1.6em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 700;
      margin: 0 0 2px; }
      .page_menu p span {
        width: fit-content;
        font: 1.5rem/1.5em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 700; }
      .page_menu p br {
        display: none; }
    .page_menu strong {
      font: 1.8rem/1.6em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 700;
      color: #F8C559; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .page_menu {
    max-width: 640px;
    width: calc(100% - 80px);
    margin: 0 auto;
    display: block; }
    .page_menu a {
      text-decoration: none;
      width: 100%; }
      .page_menu a:last-of-type {
        margin: 0 auto; } }
/*max-width:768px*/
/*max-width:480px*/
/*****************************************/
.about {
  margin: 0 auto 90px;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start; }
  .about .page_header {
    width: 100%;
    margin-bottom: 90px;
    order: 1; }
  .about h3 {
    text-align: center;
    font: 7.1rem/1.4em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 900;
    letter-spacing: 0.03em; }
    .about h3 span {
      display: block;
      width: fit-content;
      padding: 5px 20px 5px 25px;
      position: relative;
      margin: 0 auto 20px;
      font: 2.8rem/1.4em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 700;
      letter-spacing: 0.03em;
      color: #fff;
      background-color: #79503A;
      border-radius: 50px; }
      .about h3 span:before {
        content: "";
        position: absolute;
        width: 0;
        height: 0;
        border-left: 9.5px solid transparent;
        border-right: 9.5px solid transparent;
        border-top: 16px solid #79503A;
        bottom: -15px;
        left: 50%;
        transform: translate(-50%, 0%); }
    .about h3 strong {
      color: #F8C559; }
  .about p {
    text-align: justify;
    text-justify: inter-ideograph;
    order: 2;
    font: 2rem/2.6em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 500;
    max-width: 1000px;
    width: calc(100% - 200px);
    margin: 0 auto 90px; }
  .about .flex_img {
    order: 3;
    display: flex; }
    .about .flex_img div {
      width: 50%; }
    .about .flex_img img {
      width: 100%; }

@media (max-width: 1280px) {
  .about {
    position: relative;
    margin: 0 auto 90px; }
    .about .page_header {
      position: absolute;
      top: 0;
      left: 50%;
      transform: translate(-50%, 0%);
      display: flex;
      flex-direction: column;
      flex-wrap: wrap;
      justify-content: center;
      align-items: center;
      height: 420px; }
    .about h3 {
      width: 100%;
      order: 1;
      text-align: center;
      font: 7.1rem/1.4em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 900;
      letter-spacing: 0.03em;
      color: #fff; }
      .about h3 span {
        color: #79503A;
        background-color: #fff; }
        .about h3 span:before {
          border-top: 16px solid #fff; }
      .about h3 strong {
        color: #F8C559; }
    .about p {
      margin: 0 auto;
      width: calc(100% - 80px); }
    .about .flex_img {
      height: 420px;
      margin: 0 auto 50px;
      order: 2;
      display: flex; }
      .about .flex_img div {
        width: 50%;
        height: 100%; }
      .about .flex_img img {
        width: 100%;
        object-fit: cover;
        height: 100%; } }
@media (max-width: 768px) {
  .about {
    position: relative;
    margin: 0 auto 90px; }
    .about .page_header {
      margin: 0 auto 50px;
      order: 2;
      position: relative;
      top: auto;
      left: auto;
      transform: none;
      height: auto; }
    .about h3 {
      width: 100%;
      text-align: center;
      font: 4.2rem/1.4em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 900;
      letter-spacing: 0.03em;
      color: #79503A; }
      .about h3 span {
        margin: 0 auto 20px;
        color: #fff;
        background-color: #79503A; }
        .about h3 span:before {
          border-top: 16px solid #79503A; }
    .about p {
      font: 1.6rem/2.4em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500;
      margin: 0 auto;
      max-width: 640px;
      width: calc(100% - 80px); }
    .about .flex_img {
      height: auto;
      margin: 0 auto 30px;
      order: 1;
      display: flex; }
      .about .flex_img div {
        width: 50%;
        height: 100%; }
      .about .flex_img img {
        width: 100%;
        object-fit: cover;
        height: 100%; } }
@media (max-width: 480px) {
  .about {
    position: relative;
    margin: 0 auto 90px; }
    .about .page_header {
      position: absolute;
      top: 0;
      left: 50%;
      transform: translate(-50%, 0%);
      display: flex;
      flex-direction: column;
      flex-wrap: wrap;
      justify-content: center;
      align-items: center;
      padding: 0 0 10%;
      height: 520px;
      margin: 0; }
    .about h3 {
      font: 3.6rem/1.4em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 900;
      letter-spacing: 0.03em;
      color: #fff; }
      .about h3 span {
        margin: 0 auto 10px;
        font: 1.8rem/1.4em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 700;
        letter-spacing: 0.03em;
        color: #79503A;
        background-color: #fff; }
        .about h3 span:before {
          border-left: 8px solid transparent;
          border-right: 8px solid transparent;
          border-top: 14px solid #fff;
          bottom: -13px;
          left: 50%;
          transform: translate(-50%, 0%); }
      .about h3 strong {
        color: #F8C559; }
    .about p {
      margin: 0 auto;
      max-width: 315px;
      width: calc(100% - 40px); }
    .about .flex_img {
      margin: 0 auto 40px;
      order: 2;
      height: 520px;
      display: flex;
      flex-direction: column;
      flex-wrap: wrap;
      justify-content: flex-start;
      align-items: flex-start; }
      .about .flex_img div {
        width: auto;
        height: 50%; }
      .about .flex_img img {
        line-height: 0%; } }
