@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP&display=swap");
/*ベースフォント設定*/
/*Font Awesome5---------------------------------------------*/
@media screen and (min-width: 1081px ) { /*PC*/ }
@media screen and (max-width: 760px ) { /*SP*/ }
@media screen and (max-width: 1080px ) and (min-width: 761px ) { /*TB*/ }
@media screen and (max-width: 760px ) { /*SP*/
  body {
    -webkit-text-size-adjust: 100%;
    font-size: 75%;
  }
}
@-webkit-keyframes buruburu {
  0% {
    -webkit-transform: translate(0, 0);
  }
  50% {
    -webkit-transform: translate(0, -5px);
  }
  100% {
    -webkit-transform: translate(0, 0);
  }
}
@keyframes buruburu {
  0% {
    -webkit-transform: translate(0, 0);
  }
  50% {
    -webkit-transform: translate(0, -5px);
  }
  100% {
    -webkit-transform: translate(0, 0);
  }
}
@-webkit-keyframes buruburu2 {
  0% {
    -webkit-transform: translate(0, 0);
  }
  50% {
    -webkit-transform: translate(0, -20px);
  }
  100% {
    -webkit-transform: translate(0, 0);
  }
}
@keyframes buruburu2 {
  0% {
    -webkit-transform: translate(0, 0);
  }
  50% {
    -webkit-transform: translate(0, -20px);
  }
  100% {
    -webkit-transform: translate(0, 0);
  }
}
@-webkit-keyframes fadein {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 70%;
  }
  70% {
    opacity: 50%;
  }
  100% {
    opacity: 100%;
  }
}
@keyframes fadein {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 70%;
  }
  70% {
    opacity: 50%;
  }
  100% {
    opacity: 100%;
  }
}
@-webkit-keyframes gradAnimeTime {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
@keyframes gradAnimeTime {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
.fade {
  opacity: 0;
  -webkit-transform: scale(0.9);
  transform: scale(0.9);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.fade.effect {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
}

.slidein {
  opacity: 0;
  -webkit-transform: translateX(-300px);
          transform: translateX(-300px);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.slidein.effect {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

@-webkit-keyframes fadeUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

/*共通------------------------------------------*/
.p_head {
  height: 250px;
  margin-top: 110.5px;
  background: url(../img/page-head.jpg) no-repeat center center;
  background-size: cover;
  width: 100%;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 760px ) {
  .p_head {
    margin-top: 63px;
  }
}
.p_head .page_title {
  font-size: 200%;
  letter-spacing: 0.1em;
  color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) scale(1);
          transform: translate(-50%, -50%) scale(1);
}
.p_head .title-sup {
  font-size: 90%;
}

@media screen and (max-width: 760px ) {
  .btn a {
    text-align: center;
    width: 100%;
  }
}

.contents_body {
  min-height: 300px;
}

.breadcrumbs {
  font-size: 90%;
  text-align: right;
  padding: 5px;
  background-color: #059578;
  color: #fff;
  border-bottom: 1px solid #dedede;
}
.breadcrumbs > span {
  display: inline-block;
  padding: 0 5px;
}
.breadcrumbs .home:before {
  font-family: "Font Awesome 5 Free";
  font-weight: 600;
  content: "\f015";
  margin-right: 5px;
}

.p_body {
  padding: 0 5%;
}
.p_body > .cont {
  padding-bottom: 3em;
}
.p_body > .cont a {
  color: #009376;
  display: inline-block;
}
.p_body > .cont a:hover {
  opacity: 0.8;
}
@media screen and (max-width: 760px ) {
  .p_body {
    padding: 0 3%;
  }
}
.p_body h2 {
  padding: 3em 0 1em;
}
@media screen and (max-width: 760px ) {
  .p_body h2 {
    padding-top: 1em;
  }
}
.p_body h2 {
  text-align: center;
  position: relative;
  z-index: 5;
  font-size: 220%;
  letter-spacing: 0.1em;
  color: #009376;
}
.p_body h2 .title-sup {
  display: block;
  font-size: 50%;
  letter-spacing: 0;
  margin-top: 0.5em;
}
.p_body h2 .sup {
  font-size: 110%;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 3px;
  display: block;
  margin: 1em 0 0;
}
.p_body h2 {
  /*&:after {
  	display: inline-block;
  	content: '';
  	width: 1px;
  	height: 2em;
  	background-color: #009376;
  	@include centerize(x);
  	bottom: 0;
  	z-index: 10;
  }*/
}
.p_body h2 + * {
  padding-top: 2em;
  position: relative;
  z-index: 3;
}
.p_body h2 + h3 {
  padding-top: 0;
}
.p_body h3 {
  font-size: 180%;
  padding-left: 1.5em;
}
@medid screen and (max-width: 760px ) {
  .p_body h3 {
    padding-left: 0;
  }
}
.p_body h3 {
  font-weight: normal;
  position: relative;
  letter-spacing: 2px;
  margin: 2.5em 0 1em;
  padding-bottom: 10px;
  border-bottom: 3px solid #009376;
}
.p_body h3:before {
  display: block;
  content: "";
  width: 1em;
  height: 1em;
  position: absolute;
  top: 20%;
  left: 0;
  background: #009376;
  border-radius: 3px;
}
.p_body h4 {
  font-size: 130%;
  font-weight: 500;
  margin: 0 0 25px;
  background: #e3f1ef;
  padding: 10px 15px;
  position: relative;
  color: #000;
  border-radius: 0.3rem;
}
.p_body h4:not(:first-child) {
  margin-top: 2em;
}
.p_body h4:after {
  position: absolute;
  top: 100%;
  left: 2em;
  content: "";
  width: 0;
  height: 0;
  border: 8px solid transparent;
  border-top: 10px solid #e3f1ef;
}
.p_body h5 {
  font-size: 110%;
  font-weight: normal;
  border-bottom: 1px dotted #009376;
  padding: 10px;
  margin-bottom: 15px;
}
.p_body h5:before {
  font-family: "Font Awesome 5 Free";
  font-weight: 600;
  content: "\f105";
  content: "\f152";
  color: #009376;
  margin-right: 0.5em;
}
.p_body p:not([class]) {
  line-height: 2;
  font-size: 105%;
}
.p_body p:not([class]):not(:first-child) {
  margin-top: 2em;
  font-size: 105%;
  line-height: 2;
}
.p_body ul:not(.ank_list), .p_body ul.wp-block-list:not(.ank_list) {
  padding: 0 3%;
  margin-bottom: 2em;
}
.p_body ul:not(.ank_list) > li, .p_body ul.wp-block-list:not(.ank_list) > li {
  padding: 10px 1em 10px 1.5em;
  position: relative;
  line-height: 1.75;
}
.p_body ul:not(.ank_list) > li:not(:last-child), .p_body ul.wp-block-list:not(.ank_list) > li:not(:last-child) {
  border-bottom: 1px dotted #009376;
}
.p_body ul:not(.ank_list) > li:before, .p_body ul.wp-block-list:not(.ank_list) > li:before {
  font-family: "Font Awesome 5 Free";
  font-weight: 600;
  content: "\f105";
  color: #009376;
  position: absolute;
  top: 10px;
  left: 10px;
}
.p_body ul.img2, .p_body ul.img3, .p_body ul.img4 {
  margin-bottom: 2em;
}
.p_body {
  /*ol {
  	margin: 1em 2.5rem;
  	@media screen and (max-width: 760px ) {margin: 1em 0;}
  	list-style: none;
  	counter-reset: num;
  	line-height: 1.6;
  	li {
  		counter-increment: num;
  		margin-bottom: 0.6em;
  		margin-left: 1em;
  	}
  }*/
}
.p_body ol, .p_body ol.wp-block-list {
  counter-reset: numlist;
  padding: 0 3%;
  margin-bottom: 2em;
}
.p_body ol li, .p_body ol.wp-block-list li {
  padding: 10px 1em 10px 1.5em;
  margin-bottom: 1em;
  position: relative;
}
.p_body ol li:before, .p_body ol.wp-block-list li:before {
  display: inline-block;
  counter-increment: numlist;
  content: counter(numlist) ".";
  color: #009376;
  position: absolute;
  top: 9px;
  left: 10px;
  background-color: #fff;
  line-height: 1.75;
}
.p_body .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table {
  table-layout: fixed;
  width: 100%;
  border-top: 3px double #c1c1c1;
  margin: 3em 0;
}
.p_body .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table .wp-block-flexible-table-block-table > table tr th, .p_body .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table td {
  border-color: #c1c1c1 !important;
}
.p_body .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr th, .p_body .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table td {
  vertical-align: middle;
  padding: 15px 1em;
  border: none;
  border-bottom: 1px solid #c1c1c1;
}
.p_body .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr th a, .p_body .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table td a {
  display: block !important;
  word-wrap: break-word !important;
}
.p_body .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr th {
  font-family: "Noto Serif Japanese";
  letter-spacing: 1px;
  min-width: 15em;
  background: #ececec;
}
.p_body .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr td {
  min-width: 8em;
}
.p_body .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr td p {
  margin-bottom: 0.5em;
}
.p_body .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr td ul:not([class]), .p_body .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr td ol:not([class]) {
  padding: 0;
  margin-bottom: 0;
}
.p_body table {
  table-layout: fixed;
  width: 100%;
  border-top: 3px double #c1c1c1;
  margin: 3em 0;
}
.p_body table .wp-block-flexible-table-block-table > table tr th, .p_body table td {
  border-color: #c1c1c1 !important;
}
.p_body table tr th, .p_body table td {
  vertical-align: middle;
  padding: 15px 1em;
  border: none;
  border-bottom: 1px solid #c1c1c1;
}
.p_body table tr th a, .p_body table td a {
  display: block !important;
  word-wrap: break-word !important;
}
.p_body table tr th {
  font-family: "Noto Serif Japanese";
  letter-spacing: 1px;
  min-width: 15em;
  background: #ececec;
}
.p_body table tr td {
  min-width: 8em;
}
.p_body table tr td p {
  margin-bottom: 0.5em;
}
.p_body table tr td ul:not([class]), .p_body table tr td ol:not([class]) {
  padding: 0;
  margin-bottom: 0;
}
@media screen and (max-width: 760px ) {
  .p_body .dairisyo {
    overflow-x: auto;
  }
  .p_body .dairisyo table {
    border-collapse: collapse;
    white-space: nowrap;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    min-width: 100%;
    table-layout: auto !important;
  }
  .p_body {
    /* フレキシブルテーブルが吐く列幅指定を無効化 */
  }
  .p_body .dairisyo col,
  .p_body .dairisyo colgroup {
    width: auto !important;
  }
  .p_body .dairisyo th,
  .p_body .dairisyo td {
    width: auto !important;
    min-width: -webkit-max-content;
    min-width: -moz-max-content;
    min-width: max-content;
  }
}

h4.ques {
  position: relative;
  padding-left: 3em;
}
h4.ques:before {
  content: "Q.";
  position: absolute;
  top: 0;
  left: 0;
  color: #000;
  font-size: 1.5em;
  font-family: cursive;
  padding-left: 0.5em;
}

.ans {
  position: relative;
  padding-left: 3em;
  margin-left: 1em;
}
.ans:before {
  content: "A.";
  position: absolute;
  top: -5px;
  left: 0;
  color: #009376;
  font-size: 1.75em;
  font-family: cursive;
}

.ank_list {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
          align-items: stretch;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
  width: 100%;
  text-align: center;
}
.ank_list:before {
  content: "INDEX";
  width: 100%;
  border-bottom: 1px solid #222;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
  font-size: 80%;
  font-weight: bold;
  text-align: center;
  display: block;
}
.ank_list li {
  display: inline-block;
  width: 32%;
  margin-right: 1%;
  margin-bottom: 1rem;
}
.ank_list li a {
  padding: 1.25rem 5%;
  height: 100%;
  display: block !important;
  background: #e3f1ef;
  border-radius: 0.3rem;
  position: relative;
  z-index: 0;
}

.dl_pamphlet {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin: 3rem 2.5rem 1rem;
  background: #f8f8f8;
  padding: 1.3em;
}
@media screen and (max-width: 760px ) {
  .dl_pamphlet {
    display: block;
    text-align: center;
  }
}
.dl_pamphlet dt {
  font-weight: 500;
  width: 14rem;
  position: relative;
  z-index: 1;
  overflow: hidden;
  color: #fff;
  text-align: center;
  margin-top: 10px;
}
@media screen and (max-width: 760px ) {
  .dl_pamphlet dt {
    width: 100%;
  }
}
.dl_pamphlet dt:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 95%;
  height: 100%;
  background: #FF6D3B;
  -webkit-transform: skewX(-15deg);
          transform: skewX(-15deg);
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
}
.dl_pamphlet dd {
  width: calc(100% - 14rem);
  padding-left: 1.5em;
}
@media screen and (max-width: 760px ) {
  .dl_pamphlet dd {
    width: 100%;
  }
}
.dl_pamphlet dd ul {
  margin: 0 !important;
}
.dl_pamphlet dd ul li {
  padding-left: 1.3em;
}
.dl_pamphlet dd ul li:before {
  font-family: "Font Awesome 5 Free";
  font-weight: 600;
  content: "\f15b";
  top: 0;
  left: 0;
  font-size: 1em;
  color: #009376;
  padding-right: 0.4em;
}
.dl_pamphlet dd ul li a {
  font-weight: 500;
}

/*=============================================================================*/
/*=============================================================================*/
@media (max-width: 781px) {
  body .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
    -ms-flex-preferred-size: auto !important;
        flex-basis: auto !important;
    text-align: center;
    width: 100%;
  }
}
@media screen and (max-width: 760px ) {
  .wp-block-columns {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.wp-block-columns.is-layout-flex {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.wp-block-columns.is-layout-flex > .wp-block-column {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 33.333%;
          flex: 0 0 33.333%; /* 各カラム幅を3等分に固定 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media (max-width: 782px) {
  .wp-block-columns.is-layout-flex > .wp-block-column {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%; /* スマホは1列 */
  }
}
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption, [class^=wp-block-]:not(.wp-block-gallery) > figcaption {
  background: #fff !important;
  color: #000 !important;
  text-shadow: none !important;
  font-size: 16px !important;
  position: relative !important;
}
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:before, [class^=wp-block-]:not(.wp-block-gallery) > figcaption:before {
  font-family: "Font Awesome 5 Free";
  font-weight: 600;
  content: "\f152";
  color: #009376;
  margin-right: 0.5em;
}

.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption):before {
  display: none !important;
}

.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) a, .wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) img {
  width: 100% !important;
}

.wp-block-gallery img {
  width: auto !important; /* 横幅の自動拡大を止める */
  max-width: 100%; /* 画像が枠をはみ出さない */
  height: auto; /* アスペクト比維持 */
}

/*=============================================================================*/
/*=============================================================================*/
.category_archives li {
  padding: 1em 1%;
  position: relative;
  border-bottom: 1px dotted #dedede;
}
@media screen and (max-width: 760px ) {
  .category_archives li {
    width: 100%;
  }
}
.category_archives li a {
  display: block;
}
.category_archives li a:hover {
  text-decoration: none;
}
.category_archives li a:hover img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) scale(1.2) rotateZ(0);
  transform: translate(-50%, -50%) scale(1.2) rotateZ(0);
}
.category_archives li dl {
  position: relative;
  padding: 10px;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
          align-items: stretch;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
}
.category_archives li dl dt {
  display: block;
  width: 30%;
  aspect-ratio: 1.6/1;
  border-radius: 15px;
  overflow: hidden;
  position: relative;
  margin-bottom: 1.5em;
}
@media screen and (max-width: 760px ) {
  .category_archives li dl dt {
    width: 100%;
  }
}
.category_archives li dl dt img {
  -o-object-fit: cover;
     object-fit: cover;
  max-width: 150%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) scale(1) rotateZ(0);
  transform: translate(-50%, -50%) scale(1) rotateZ(0);
}
.category_archives li dl dd {
  width: 70%;
}
@media screen and (max-width: 760px ) {
  .category_archives li dl dd {
    width: 100%;
  }
}
.category_archives li dl dd {
  padding: 0 3%;
  margin-bottom: 8px;
}
.category_archives li dl .title {
  font-size: 120%;
  font-weight: bold;
  padding-bottom: 10px;
  border-bottom: 1px dashed #dedede;
}
.category_archives li dl .date-time {
  font-size: 90%;
  color: #666;
}
.category_archives li dl .date-time:before {
  display: inline-block;
  font-family: "Font Awesome 5 Free";
  font-weight: 600;
  content: "\f133";
  font-weight: normal;
  margin-right: 8px;
  color: #FFCB4D;
}

.post-time {
  text-align: right;
  font-size: 90%;
  color: #666;
  padding: 5px 10px;
  border-bottom: 1px dashed #c1c1c1;
}
.post-time:before {
  display: inline-block;
  font-family: "Font Awesome 5 Free";
  font-weight: 600;
  content: "\f133";
  font-weight: normal;
  margin-right: 8px;
  color: #FFCB4D;
}

.cat_box a {
  display: block !important;
}
.cat_box a:hover {
  text-decoration: none;
  background: #f3f3f3;
}
.cat_box a dl {
  padding: 1rem 0;
  border-bottom: 1px dotted #009376;
  display: table;
  width: 100%;
}
.cat_box a dl dt, .cat_box a dl dd {
  display: table-cell;
}
.cat_box a dl dt {
  text-align: center;
  color: rgb(0, 198, 158.9387755102);
  line-height: 1.8;
  width: 33%;
}
.cat_box a dl dt span.cat {
  border: 1px solid #009376;
  display: block;
  padding: 3px;
  background: #009376;
  color: #fff;
}
.cat_box a dl dd.post-title {
  padding: 5px 2%;
  font-size: 112%;
  color: #222;
}
.cat_box a dl dd:not(.post-title) {
  width: 48px;
  text-align: right;
}
@media screen and (max-width: 760px ) {
  .cat_box a dl dd:not(.post-title) {
    width: 42px;
  }
}
.cat_box a dl dd:not(.post-title) span.new {
  font-size: 80%;
  display: inline-block;
  background: #ac2a2a;
  color: #fff;
  padding: 5px 10px;
  margin-top: 4px;
}

/*ページナビ*/
.wp-pagenavi {
  clear: both;
  padding: 20px;
}

.wp-pagenavi a, .wp-pagenavi span {
  text-decoration: none;
  border: 1px solid #c1c1c1;
  padding: 3px 5px;
  width: 14.9%;
  margin: 2px;
  display: inline-block;
  text-align: center;
}
@media screen and (max-width: 760px ) {
  .wp-pagenavi a, .wp-pagenavi span { /*SP*/
    width: 30%;
    padding: 0 !important;
  }
}

.wp-pagenavi a:hover, .wp-pagenavi span.current {
  border-color: #009376 !important;
  background: #009376;
  color: #ffffff;
}

.wp-pagenavi span.current {
  font-weight: bold;
}

/*=============================================================================*/
/*=============================================================================*/
@media screen and (max-width: 760px ) {
  .car-hosyo li {
    text-align: left;
  }
}
/*=============================================================================*/
/*=============================================================================*/
input#pwbox-39 {
  border-radius: 5px;
  padding: 10px 15px;
  max-width: 100%;
  min-height: 1.5rem;
  background: #eaeaea;
  border: none;
}

form.post-password-form p {
  text-align: center;
}
form.post-password-form p input[type=submit] {
  color: #fff;
  background: #059578;
  border: none;
  padding: 0.5em 1em;
  border-radius: 3px;
  font-weight: bold;
}

/*=============================================================================*/
/*=============================================================================*/
.ggmap {
  max-width: 1280px;
  width: 100%;
}

/*=============================================================================*/
/*=============================================================================*/
.outline_history_list_table {
  width: calc(100% - 11px);
  margin-left: 11px;
  border: none !important;
}
.outline_history_list_table tr th, .outline_history_list_table td {
  border-bottom: none !important;
}
.outline_history_list_table ._year {
  padding-left: 36px;
  position: relative;
  text-align: left;
  font-size: 1.4rem;
  font-weight: 300;
  background: none !important;
  border-left: 1px solid #c1e3dd !important;
}
@media screen and (max-width: 760px ), screen and (max-width: 1080px ) and (min-width: 761px ) {
  .outline_history_list_table ._year {
    width: 40% !important;
  }
}
.outline_history_list_table ._year:before {
  background: #009376;
  width: 22px;
  height: 22px;
  position: absolute;
  top: 40%;
  left: 0;
  display: block;
  border-radius: 50%;
  content: "";
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.outline_history_list_table tr:not(last-of-type) ._topic {
  padding-bottom: 37px;
}
.outline_history_list_table ._topic {
  width: calc(100% - 140px);
  line-height: 1.8;
  font-size: 1.4rem;
}

/*=============================================================================*/
/*=============================================================================*/
.contact {
  margin-bottom: 3em;
}
.contact > dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 760px ) {
  .contact > dl {
    display: block;
  }
}
.contact > dl {
  padding: 1.2em 1em;
  line-height: 1.4;
  border-bottom: 1px dotted #aaa;
}
.contact > dl:first-child {
  border-top: 1px dotted #aaa;
}
.contact > dl > dt {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 760px ) {
  .contact > dl > dt {
    text-align: center;
  }
}
@media screen and (min-width: 1081px ) {
  .contact > dl > dt {
    width: 25em;
  }
}
@media screen and (max-width: 1080px ) and (min-width: 761px ) {
  .contact > dl > dt {
    width: 14em;
  }
}
.contact > dl > dt {
  position: relative;
  font-weight: 500;
}
@media screen and (max-width: 760px ) {
  .contact > dl > dt p {
    margin: 0;
  }
}
.contact > dl > dt.required:after {
  content: "必須";
  display: inline-block;
  color: #fff;
  font-size: 0.78em;
  position: absolute;
  top: 5px;
  right: 0px;
  font-weight: normal;
  background: rgb(201, 46, 90);
  padding: 0.1em 0.3em;
}
@media screen and (max-width: 760px ) {
  .contact > dl > dt.required:after {
    display: block;
    width: 15%;
    margin: 0 auto 1em;
    position: static;
    top: auto;
    right: auto;
  }
}
.contact > dl > dd {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (min-width: 1081px ) {
  .contact > dl > dd {
    width: calc(100% - 25em);
  }
}
@media screen and (max-width: 1080px ) and (min-width: 761px ) {
  .contact > dl > dd {
    width: calc(100% - 14em);
  }
}
.contact > dl > dd {
  padding-left: 2em;
}
@media screen and (max-width: 760px ) {
  .contact > dl > dd {
    width: 100%;
    padding-left: 0;
  }
  .contact > dl > dd * {
    text-align: center;
  }
}
.contact > dl > dd input[type=text], .contact > dl > dd input[type=tel], .contact > dl > dd input[type=email], .contact > dl > dd textarea {
  width: 16em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid #aaa;
  font-size: 1.1em;
  padding: 0.2em;
}
.contact > dl > dd textarea {
  width: 100%;
  height: 10em;
}
.contact > dl > dd .contact_small {
  font-size: 0.8em;
  margin: 0.2em 0 0 0;
}
.contact select {
  font-size: 1em;
  border: 1px solid #aaa;
  padding: 0.2em;
}

.submit_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.submit_box ul {
  width: 300px;
  margin: 0 !important;
  line-height: 1.6;
}
.submit_box ul li {
  padding: 0 !important;
}
.submit_box ul li:before {
  display: none;
}
.submit_box ul li input[type=submit] {
  background: #009376;
  color: #fff;
  font-size: 1.2rem;
  height: 3rem;
  border: none;
  width: 100%;
  border-radius: 4px;
  cursor: pointer;
}

.contact_note {
  padding: 1em;
  background: rgba(237, 215, 12, 0.3);
  margin-bottom: 2em;
  border-radius: 0.3rem;
}
.contact_note p {
  margin: 0;
}

.gglcptch {
  max-width: 100%;
}

.gglcptch_recaptcha {
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transform: scale(0.6097560976vw);
          transform: scale(0.6097560976vw);
}
.gglcptch_recaptcha div {
  margin: 0 auto;
}

/*=============================================================================*/
/*ページ内コンテンツ===============================================================*/
/*=============================================================================*/
