/*	cmn-color
------------------------------------ */
/*	transition,hover
------------------------------------ */
/*	media-screen
------------------------------------ */
/*	font
------------------------------------ */
@font-face {
  font-family: "Noto Serif Regular";
  src: url("../fonts/NotoSerifCJKjp-Regular.woff") format("woff");
}
@font-face {
  font-family: "Noto Serif Medium";
  src: url("../fonts/NotoSerifCJKjp-Medium.woff") format("woff");
}
@font-face {
  font-family: "Noto Serif Bold";
  src: url("../fonts/NotoSerifCJKjp-Bold.woff") format("woff");
}
@font-face {
  font-family: "Noto sans Light";
  src: url("../fonts/NotoSansCJKjp-Light.otf");
}
@font-face {
  font-family: "Noto sans Regular";
  src: url("../fonts/noto-sans-jp-r.woff") format("woff");
}
@font-face {
  font-family: "Noto sans Medium";
  src: url("../fonts/noto-sans-jp-m.woff") format("woff");
}
@font-face {
  font-family: "Noto sans Bold";
  src: url("../fonts/noto-sans-jp-b.woff") format("woff");
}
@font-face {
  font-family: "Noto sans Black";
  src: url("../fonts/noto-sans-jp-black.woff") format("woff");
}
@font-face {
  font-family: "shippori";
  src: url("../fonts/ShipporiMincho-OTF-Medium.otf");
}
@font-face {
  font-family: "shippori-r";
  src: url("../fonts/ShipporiMincho-OTF-Regular.otf");
}
/*	layout
------------------------------------ */
/*	cmn-color
------------------------------------ */
/*	transition,hover
------------------------------------ */
/*	media-screen
------------------------------------ */
/*	font
------------------------------------ */
@font-face {
  font-family: "Noto Serif Regular";
  src: url("../fonts/NotoSerifCJKjp-Regular.woff") format("woff");
}
@font-face {
  font-family: "Noto Serif Medium";
  src: url("../fonts/NotoSerifCJKjp-Medium.woff") format("woff");
}
@font-face {
  font-family: "Noto Serif Bold";
  src: url("../fonts/NotoSerifCJKjp-Bold.woff") format("woff");
}
@font-face {
  font-family: "Noto sans Light";
  src: url("../fonts/NotoSansCJKjp-Light.otf");
}
@font-face {
  font-family: "Noto sans Regular";
  src: url("../fonts/noto-sans-jp-r.woff") format("woff");
}
@font-face {
  font-family: "Noto sans Medium";
  src: url("../fonts/noto-sans-jp-m.woff") format("woff");
}
@font-face {
  font-family: "Noto sans Bold";
  src: url("../fonts/noto-sans-jp-b.woff") format("woff");
}
@font-face {
  font-family: "Noto sans Black";
  src: url("../fonts/noto-sans-jp-black.woff") format("woff");
}
@font-face {
  font-family: "shippori";
  src: url("../fonts/ShipporiMincho-OTF-Medium.otf");
}
@font-face {
  font-family: "shippori-r";
  src: url("../fonts/ShipporiMincho-OTF-Regular.otf");
}
/*	layout
------------------------------------ */
/*	font-size  cmn
------------------------------------ */
/************************************************

  SP layout

************************************************/
/* =========================================
  main  SP
========================================= */
/*	cmn parts  SP
------------------------------------ */
.sec-inner {
  padding: 50px 15px;
}

.no-sb {
  margin: 30px auto 0;
}

.inline-block {
  display: inline-block;
}

.cmn-txt-box p:nth-of-type(n+2) {
  margin-top: 20px;
}

.cmn-bg02::before {
  padding-top: 7%;
  background-size: 100%;
  bottom: -2%;
}
.cmn-bg-wave::before {
  padding-top: 7%;
  background-size: 100%;
  bottom: -1%;
}

.voice-list-link {
  padding: 30px 15px;
}
.voice-list-flex {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.voice-list-table {
  margin-top: 10px;
}
.voice-list-table th {
  width: 60px;
}
.voice-list-right {
  margin: 30px auto 0;
}
.voice-list-ttl {
  padding-bottom: 10px;
}
.voice-list-txt-box {
  margin-top: 15px;
}

.blog-list-link {
  padding: 15px;
  border-left: none;
  border-top: 3px solid #e2d3c9;
}
.blog-list-flex {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.blog-list-tag-wrap {
  margin: 10px 0 0;
  border-left: none;
  padding-left: 0;
}
.blog-list-tag-wrap .blog-list-tag:nth-of-type(n+2) {
  margin-left: 7px;
  padding-left: 7px;
}

/*	sec01  SP
------------------------------------ */
#sec01 .head-type01::before {
  background-size: 31px;
  top: 17px;
  left: calc(50% - 140px);
}
#sec01 .head-type01::after {
  background-size: 31px;
  right: calc(50% - 135px);
  top: 17px;
}
#sec01 .list {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
#sec01 .list-item {
  width: 290px;
  height: 59px;
  padding: 7px 22px;
}
#sec01 .list-item:nth-of-type(n+2) {
  margin: 15px auto 0;
}
#sec01 .list-txt {
  padding: 3px 0;
  font-size: 14px;
  font-size: 1.4rem;
}
#sec01 .list-txt-lg {
  font-size: 18px;
  font-size: 1.8rem;
}
#sec01 .note-ttl {
  font-size: 20px;
  font-size: 2rem;
}
#sec01 .note-ttl-lg {
  font-size: 22px;
  font-size: 2.2rem;
}

/*	sec02  SP
------------------------------------ */
#sec02 .box-figure {
  width: 100%;
  position: relative;
  top: auto;
  right: -15px;
}
#sec02 .cmn-txt-box {
  margin-top: 20px;
  max-width: 100%;
}
#sec02 .cmn-btn-wrap {
  margin-top: 50px;
  text-align: center;
}

/*	sec03  SP
------------------------------------ */
#sec03 .list {
  width: 90%;
  max-width: 200px;
  margin-top: 30px;
}
#sec03 .list-item:nth-of-type(n+2) {
  margin-top: 30px;
}

/*	sec04  SP
------------------------------------ */
#sec04 .voice-list {
  margin-top: 30px;
}
#sec04 .voice-list::before, #sec04 .voice-list::after {
  width: 124px;
  height: 148px;
  background-size: contain;
}
#sec04 .voice-list::before {
  content: none;
  bottom: -141px;
  left: 0;
}
#sec04 .voice-list::after {
  width: 84px;
  height: 38px;
  right: 0;
  top: -43px;
}
#sec04 .voice-list-txt-box {
  height: 100px;
  overflow: auto;
}
#sec04 .cmn-btn-wrap {
  margin-top: 50px;
}

/*	top-bnr  SP
------------------------------------ */
.top-bnr .bnr-list {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.top-bnr .bnr-item:nth-of-type(n+2) {
  margin-top: 30px;
}
.top-bnr .bnr-link {
  padding-top: 59.76%;
}
.top-bnr .bnr-ttl {
  width: 197px;
  height: 45px;
  line-height: 45px;
}

/*	top-contact  SP
------------------------------------ */
#top-contact .box {
  margin-top: 80px;
  padding: 70px 10px 30px;
}
#top-contact .box-cir {
  width: 120px;
  height: 120px;
  font-size: 15px;
  font-size: 1.5rem;
  top: -66px;
  left: 1px;
}
#top-contact .box-border {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
#top-contact .box-tel {
  margin: 5px auto 0;
  padding-left: 32px;
  background-size: 22px;
}
#top-contact .box-btn {
  padding: 13px 0;
}
#top-contact .box-btn::before {
  content: none;
}
#top-contact .box-btn::after {
  width: 30px;
  height: 30px;
  left: 10px;
}

/*	news  SP
------------------------------------ */
#news .flex {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
#news .cmn-btn-wrap {
  margin: 50px auto 0;
}
#news .blog-list {
  margin: 30px auto 0;
}
#news .head-type02-en-lg {
  top: 35px;
  left: 0;
  right: 0;
}

/* =========================================

  sub layout  SP

========================================= */
/*	guide  SP
------------------------------------ */
#guide .sec01 .head-type01 {
  max-width: 411px;
  margin: auto;
  font-size: 20px;
  font-size: 2rem;
}
#guide .sec01 .flex {
  margin-top: 20px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: column-reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
#guide .sec01 .cmn-txt-box {
  margin-top: 10px;
}
#guide .sec02 .list {
  margin-top: 30px;
}
#guide .sec02 .list-item {
  height: auto;
}
#guide .sec02 .list-item:nth-of-type(2n-1) .list-figure {
  left: -15px;
}
#guide .sec02 .list-item:nth-of-type(2n) .list-figure {
  right: -15px;
}
#guide .sec02 .list-figure {
  position: relative;
}
#guide .sec02 .list-ttl {
  width: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}
#guide .sec02 .list-ttl-txt {
  width: 100%;
  margin: 5px auto 0;
  padding: 3px 0 0;
}
#guide .sec02 .list-ttl-txt::before {
  width: 100%;
  height: 1px;
  left: 0;
  top: 0;
  bottom: auto;
}
#guide .sec02 .list-txt {
  margin-top: 20px;
}
#guide .sec02 .list-txt-box {
  max-width: 100%;
  margin: 0 auto 0;
}
#guide .sec03 .list {
  margin-top: 30px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
#guide .sec03 .list-item:nth-of-type(n+2) {
  margin-top: 30px;
}

/*	menu  SP
------------------------------------ */
#menu .sec01 .cmn-bg02::before {
  bottom: -1%;
}
#menu .sec01 .list {
  margin-top: 30px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
#menu .sec01 .list::before, #menu .sec01 .list::after {
  width: 90px;
  height: 46px;
}
#menu .sec01 .list::before {
  left: calc(50% - 154px);
  top: 0;
}
#menu .sec01 .list::after {
  content: none;
}
#menu .sec01 .list-item:nth-of-type(n+2) {
  margin-top: 50px;
}
#menu .sec01 .list-item:nth-of-type(1)::before {
  width: 149px;
  height: 108px;
  bottom: -14px;
  right: 0px;
}
#menu .sec01 .list-item:nth-of-type(2)::before {
  width: 103px;
  height: 104px;
  bottom: -35px;
  right: 10px;
}
#menu .sec01 .list-item:nth-of-type(3)::before {
  width: 88px;
  height: 106px;
  bottom: -23px;
  right: -1px;
}
#menu .sec01 .list-item:nth-of-type(4)::before {
  width: 105px;
  height: 72px;
  bottom: -12px;
  right: 6px;
}
#menu .sec01 .list-item:nth-of-type(5)::before {
  width: 113px;
  height: 95px;
  bottom: -5px;
  right: 0;
}
#menu .sec01 .list-item:nth-of-type(6)::before {
  width: 129px;
  height: 109px;
  bottom: -17px;
  right: 0;
}
#menu .sec02 .list {
  margin-top: 30px;
}
#menu .sec02 .list-item {
  padding: 20px 15px;
}
#menu .sec02 .list-table {
  margin-top: 10px;
}
#menu .sec02 .list-ttl {
  padding-left: 19px;
}
#menu .sec02 .list-ttl::before {
  width: 9px;
  height: 9px;
  top: 15px;
}

/*	voice  SP
------------------------------------ */
#voice .sec01 .voice-list {
  margin-top: 30px;
}
#voice .sec01:not(.detail) .voice-list-txt-box {
  height: 100px;
  overflow: auto;
}

/*	staff_info  SP
------------------------------------ */
#staff_info .sec01 .cmn-bg02::before {
  bottom: -18px;
  padding-top: 20px;
}
#staff_info .sec01 .list {
  margin-top: 20px;
}
#staff_info .sec01 .list-item {
  padding: 30px 15px;
}
#staff_info .sec01 .list-flex {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
#staff_info .sec01 .list-ttl {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
#staff_info .sec01 .list-name {
  width: 100%;
}
#staff_info .sec01 .list-tear {
  width: 100%;
  text-align: right;
}
#staff_info .sec01 .list-txt {
  margin-top: 15px;
  padding: 0 10px;
}
#staff_info .sec01 .list-txt-box {
  margin: 15px auto 0;
}
#staff_info .sec01 .list-ttl {
  padding: 0 10px 5px;
}
#staff_info .sec02 .bg {
  background-size: 130px, 130px;
}

/*	contact  SP
------------------------------------ */
#contact .sec01 .head-type02-en-lg {
  top: 52px;
}
#contact .sec01 .wrap {
  margin-top: 20px;
}

/*	privacy  SP
------------------------------------ */
#privacy .head-type02-en-lg {
  top: 20px;
}