@charset "utf-8";

html,
body {
  color: #333;
  font-family: "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E",
    "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  line-height: 2;
  font-style: normal;
  font-size: 15px;
  line-height: 2;
}

.wf-jp-g {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック",
    "YuGothic", "メイリオ", "Meiryo", sans-serif;
}
.wf-en-g {
  font-family: "Lato", sans-serif;
}

a:hover img {
  filter: alpha(opacity=60);
  -moz-opacity: 0.6;
  opacity: 0.6;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
a {
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

a {
  color: #558dcc;
}
a:hover {
  color: #ddd;
  text-decoration: none;
}

img {
  line-height: 0;
  vertical-align: top;
}
img.object-fit-img {
  object-fit: cover;
}

.mobile {
  display: none;
}
.pc {
  display: inherit;
}

.inner {
  width: 1000px;
  margin: 0 auto;
  box-sizing: border-box;
}

article {
  margin-bottom: 70px;
}
article.nobottom {
  margin-bottom: 0;
}
article.mt45 {
  margin-top: 45px;
}

.demo-img {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .demo-img img {
    width: 100%;
  }
  .inner {
    width: 90%;
  }
}

.tac_pc {
  text-align: center;
}
.movie_item {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.movie_item iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

.c_red {
  color: #a00000;
}
/*----------

header

---------*/
header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 0 0 0 1%;
  box-sizing: border-box;
}

h1.siteid {
  width: 15%;
  transition: 0.2s;
  line-height: 0;
}
h1.siteid img {
  width: 100%;
}

header.fixed {
  background-color: rgba(255, 255, 255, 0.94);
  box-shadow: 2px 4px 8px -1px rgba(0, 0, 0, 0.2);
  position: fixed;
  top: 0;
  z-index: 99;
}
header.fixed h1.siteid {
  width: 12%;
}
header.fixed nav#navi ul li a {
  padding: 14px 0.9vw;
}

/* ナビゲーション */
#nav-toggle {
  display: none;
}
nav#navi {
  width: 85%;
}
nav#navi ul {
  display: flex;
  justify-content: flex-end;
}
nav#navi ul li {
  box-sizing: border-box;
  font-size: 1vw;
}
nav#navi ul li a {
  display: block;
  color: #000;
  text-decoration: none;
  padding: 22px 1vw;
  width: 100%;
  box-sizing: border-box;
  border-left: 1px dotted #ccc;
}
nav#navi ul li a:hover {
  color: #fff;
  background-color: #00758b;
}

.hdr_found {
  margin-left: 0.75em;
}
/*----------

index

---------*/
.index-main {
  text-align: center;
  margin-bottom: 0;
  position: relative;
}
.index-main h1 img {
  width: 100%;
}
p.bnr-specific-menulist {
  position: fixed;
  /*top: 20px;*/
  top: 100px;
  right: 3%;
  z-index: 2;
}

.index-concept {
  text-align: center;
  background-image: url(../images/page/index/bg-japan.png);
  background-position: right top;
  background-repeat: no-repeat;
  background-size: 45%;
  margin-top: -13%;
  padding: 12% 0 0;
}

.index-concept h2 {
  font-size: 2rem;
  letter-spacing: 0.2rem;
  margin-bottom: 32px;
}
.index-concept h2 span.small {
  font-size: 1.2rem;
  display: block;
}

.index-concept h2 span.hankaku {
  margin: 0 -0.5em;
}

.index-concept p {
  font-size: 1.2rem;
}
.index-concept .index_sdgs {
  display: inline-block;
  text-decoration: none;
}
.index-concept p.ic-logo {
  margin-top: 32px;
  margin-bottom: 25px;
}
.index-concept p.ic-txt {
  color: #000;
  font-size: 1.065rem;
  margin-bottom: 15px;
}

.index-concept .sdgs_icon_list {
  display: flex;
  justify-content: center;
  align-items: center;
}

.index-concept .sdgs_icon_list li + li {
  margin-left: 10px;
}
.index-sdgs .linkbtn {
  margin-top: 45px;
  font-size: 1.1rem;
}
.index-youtube {
  margin-bottom: 160px;
}
.index-youtube h2 {
  text-align: center;
  font-size: 1.2rem;
  margin-bottom: 32px;
}
.index-youtube ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.index-youtube .bnr-wide {
  margin: 45px auto 0;
  width: 491px;
  /* padding-bottom: 80px; */
}

.index-news div.inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.index-news h2 {
  display: flex;
  align-items: center;
  margin-bottom: 32px;
  letter-spacing: 0.2rem;
}
.index-news h2 span {
  font-size: 1rem;
  letter-spacing: 0;
  margin-left: 1rem;
}

.index-news .linkbtn {
  margin: 0;
}

.news-list {
  width: 100%;
  margin-top: 24px;
}
.news-list ul li {
  width: 100%;
  display: flex;
  align-items: center;
  border-bottom: 1px dotted #ccc;
  padding-bottom: 20px;
  margin-bottom: 20px;
}
.news-list span.days {
  font-size: 0.8rem;
  margin-right: 10px;
}
.news-list span.news-cat {
  background-color: #00758b;
  color: #fff;
  font-size: 0.8rem;
  width: 120px;
  margin-right: 10px;
  text-align: center;
}
.news-list span.news-cat.news-notices {
  background-color: #c25c88;
}
.news-list span.news-cat.news-comp {
  background-color: #e0ad10;
}
.news-list span.news-cat.news-member {
  background-color: #008080;
}
.news-list span.news-cat.news-newspaper {
  background-color: #004080;
}
.news-list span.news-title a {
  color: #333;
  text-decoration: none;
}
.news-list span.news-title a:hover {
  color: #00758b;
  text-decoration: underline;
}

.index-reason {
  background-image: url(../images/page/index/bg-reason.jpg);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover;
  background-attachment: fixed;
  padding: 5% 0;
}

.index-reason section {
  text-align: center;
}
.index-reason section.reason001,
.index-reason section.reason002 {
  margin-bottom: 40px;
}
.index-reason section.reason002 h2 {
  margin-bottom: 24px;
}
.index-reason section.reason002 h2 a img {
  transition: 0.3s;
}
.index-reason section.reason002 h2 a:hover img {
  opacity: 1;
}

.index-reason section.reason002 {
  position: relative;
  height: 1050px;
}
.index-reason section.reason002 ul li {
  position: absolute;
}
.index-reason section.reason002 ul li.re001 {
  top: 0;
  left: 30%;
}
.index-reason section.reason002 ul li.re002 {
  top: 180px;
  left: 0;
}
.index-reason section.reason002 ul li.re003 {
  top: 180px;
  right: 0;
}
.index-reason section.reason002 ul li.re004 {
  bottom: 180px;
  left: 0;
}
.index-reason section.reason002 ul li.re005 {
  bottom: 0;
  left: 30%;
}
.index-reason section.reason002 ul li.re006 {
  bottom: 180px;
  right: 0;
}
.index-reason section.reason002 ul li a:hover img {
  opacity: 1;
}

.index-reason section.reason002 h2 {
  padding-top: 370px;
  line-height: 1.4;
}
.index-reason section.reason002 h3 {
  background-color: #ffd000;
  width: 300px;
  padding: 5px 0;
  margin: 0 auto 10px;
  border-radius: 8px;
  font-weight: bold;
}
.index-reason section.reason002 p.linkbtn a {
  margin: -5px auto 0;
}
.index-reason section.reason003 {
  width: 740px;
  margin: 30px auto;
}

.index-katuyou div.inner {
  display: flex;
}
.index-katuyou div.inner .ikt-001 {
  width: 50%;
}
.index-katuyou div.inner .ikt-001 h2 {
  border-top: 1px solid #666;
  border-bottom: 1px solid #666;
  text-align: center;
  padding: 12px 0;
}
.index-katuyou div.inner .ikt-001 div:nth-child(n + 2) {
  margin-top: 32px;
}
.index-katuyou div.inner .ikt-001 div h3 {
  font-size: 1.3rem;
  margin-bottom: 12px;
}
.index-katuyou div.inner .ikt-001 div p {
  font-size: 0.9rem;
  line-height: 1.6rem;
}
.index-katuyou div.inner .ikt-img {
  margin: 0 -250px 0 -260px;
  position: relative;
}
/*.index-katuyou div.inner .ikt-img ul li{position: absolute;}
.index-katuyou div.inner .ikt-img ul li.btn-000{top:467px; right:252px;}
.index-katuyou div.inner .ikt-img ul li.btn-001{top:108px; right:87px;}
.index-katuyou div.inner .ikt-img ul li.btn-002{top:293px; right:121px;}
.index-katuyou div.inner .ikt-img ul li.btn-003{top:442px; right:254px;z-index: 3;}
.index-katuyou div.inner .ikt-img ul li.btn-004{top:486px; right:393px;}
.index-katuyou div.inner .ikt-img ul li.btn-005{top:675px; right:450px;}
.index-katuyou div.inner .ikt-img ul li.btn-006{top:439px; left:104px;}
.index-katuyou div.inner .ikt-img ul li.btn-007{top:528px; left:26px;}
.index-katuyou div.inner .ikt-img ul li.btn-008{bottom:281px; left:33px;}*/

.index-katuyou div.inner .ikt-002 {
  width: 42%;
  margin-top: 420px;
}
.index-katuyou div.inner .ikt-002 h2 {
  background-color: #003c8b;
  color: #fff;
  padding: 2% 3%;
  font-size: 0.95rem;
  letter-spacing: 0.1rem;
}
.index-katuyou div.inner .ikt-002 h3 {
  font-size: 1rem;
  margin-bottom: 15px;
}
.index-katuyou div.inner .ikt-002 h3:nth-of-type(n + 2) {
  border-top: 1px solid #666;
  padding-top: 20px;
}
.index-katuyou div.inner .ikt-002 h3 span {
  /*display: inline-block;*/
  display: block;
  font-size: 0.85rem;
}
.index-katuyou div.inner .ikt-002 dl {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.65rem;
  line-height: 1.5rem;
  margin-bottom: 12px;
}
.index-katuyou div.inner .ikt-002 dl dt {
  border: 1px solid #666;
  padding: 8px 5px;
  width: 80px;
  box-sizing: border-box;
  font-size: 0.7rem;
  text-align: center;
}
.index-katuyou div.inner .ikt-002 dl dd {
  width: 74%;
}

.index-case section.index-case-head {
  text-align: center;
}
.index-case section.index-case-head p {
  background-color: #00758b;
  color: #fff;
  font-size: 0.9rem;
  width: 300px;
  padding: 6px 0;
  box-sizing: border-box;
  margin: 0 auto 10px;
  text-align: center;
  border-radius: 8px;
}
.index-case section.index-case-head h3 {
  margin-top: -20px;
  margin-bottom: 35px;
}
.index-case section.case-list {
  justify-content: center;
}
.index-case section.case-list article {
  width: 30%;
  margin: 0 1%;
}

.index-future {
  background-color: #e0e5e6;
  background-image: url(../images/page/index/bg-future.png);
  background-repeat: no-repeat;
  background-position: right top;
  background-size: 50%;
  padding: 5% 0;
}
.index-future p.if-point {
  background-color: #fff;
  font-size: 0.9rem;
  width: 250px;
  padding: 6px 0;
  box-sizing: border-box;
  margin: 0 0 10px;
  text-align: center;
  border-radius: 8px;
}
.index-future h2 {
  margin-bottom: 15px;
}
.index-future P {
  font-size: 1.2rem;
}
.index-future p.if-bnr {
  margin-top: 32px;
}

.index-topics {
  background-image: url(../images/page/index/bg-topics.jpg);
  background-repeat: no-repeat;
  background-position: center center;
}
.index-topics div.inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 2%;
  box-sizing: border-box;
}
.index-topics div.tp-text {
  width: 38%;
}
.index-topics div.tp-text p.tp-caption {
  width: 120px;
  border: 1px solid #333;
  background-color: #fff;
  text-align: center;
  padding: 5px 10px;
  box-sizing: border-box;
  margin-bottom: 12px;
}
.index-topics div.tp-text h2 {
  font-size: 1.3rem;
  letter-spacing: 0.1rem;
}
.index-topics p.tp-img {
  width: 60%;
}
.index-topics p.tp-img img {
  width: 100%;
}

.index-other-list {
  display: flex;
  justify-content: space-between;
}
.index-other-list div.io-bnr {
  width: 32%;
}
.index-other-list div.io-bnr a {
  position: relative;
  overflow: hidden;
  display: block;
  padding: 12% 0;
  background-color: #000;
  text-decoration: none;
}
.index-other-list div.io-bnr a:after {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  opacity: 0.35;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -ms-background-size: cover;
  background-size: cover;
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -ms-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
.index-other-list div.io-bnr.io-001 a:after {
  background-image: url(../images/page/index/bnr-other001.jpg);
}
.index-other-list div.io-bnr.io-002 a:after {
  background-image: url(../images/page/index/bnr-other002.jpg);
}
.index-other-list div.io-bnr.io-003 a:after {
  background-image: url(../images/page/index/bnr-other003.jpg);
}

.index-other-list div.io-bnr a:hover:after {
  opacity: 0.7;
  -moz-transform: scale(1.2);
  -webkit-transform: scale(1.2);
  -ms-transform: scale(1.2);
  transform: scale(1.2);
}
.index-other-list div.io-bnr a div.io-text {
  z-index: 1;
  position: relative;
  display: block;
  color: #fff;
  padding: 10% 0 7%;
  text-align: center;
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -ms-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
.index-other-list div.io-bnr a div.io-text h3 {
  font-size: 1.6rem;
  letter-spacing: 0.2rem;
}
.index-other-list div.io-bnr a div.io-text h3 span {
  display: block;
  font-size: 0.9rem;
  margin-bottom: 15px;
}
.index-other-list div.io-bnr a div.io-text p {
  width: 60%;
  box-sizing: border-box;
  margin: 24px auto 0;
  border: 1px solid #fff;
  padding: 5px 0;
  font-size: 0.9rem;
  background-image: url(../images/common/icon-arrow002.png);
  background-repeat: no-repeat;
  background-position: 5% center;
  transition: 0.3s;
}
.index-other-list div.io-bnr a:hover div.io-text p {
  background-color: #007587;
}

.index-blog-list {
  display: flex;
  flex-wrap: wrap;
}
.index-blog-list div.blog-list {
  width: 48%;
  margin: 0 1% 2%;
  box-sizing: border-box;
}
.index-blog-list div.blog-list a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-sizing: border-box;
  color: #333;
  text-decoration: none;
  padding: 2%;
}
.index-blog-list div.blog-list a:hover {
  color: #fff;
  background-color: #007587;
}
.index-blog-list div.blog-list a p.blog-img {
  width: 25%;
}
.index-blog-list div.blog-list a p.blog-img img {
  width: 100%;
  height: 120px;
}
.index-blog-list div.blog-list a div.blog-list-text {
  width: 70%;
}
.index-blog-list div.blog-list a div.blog-list-text p.days {
  font-size: 0.8rem;
}
.index-blog-list div.blog-list a div.blog-list-text h3 {
  font-size: 1.2rem;
  margin-bottom: 10px;
}
.index-blog-list div.blog-list a div.blog-list-text div.blog-ex {
  font-size: 0.85rem;
  line-height: 1.5rem;
}

.index-sns div.inner {
  display: flex;
  justify-content: space-between;
}
.index-sns-item {
  width: 48%;
  max-width: 480px;
  height: 544px;
  background-color: #fff;
  overflow-y: auto;
  /* overflow-y: hidden;*/
}
.index-sns-item .snsfeed_wrap {
  width: 100%;
  height: 544px;
  overflow-y: auto;
}
.index-sns-item .sns_logo {
  text-align: center;
  width: auto;
  margin: 30px auto;
  display: block;
}

.index-bnr {
  background-color: #e8e9d1;
  padding: 5% 0;
  margin-bottom: 0;
}
.index-bnr div.inner ul {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}

.index-bnr div.inner ul li.wide {
  width: 100%;
  margin-top: 24px;
}
.index-bnr div.inner ul li.wide img {
  width: 100%;
}

.index-sponsor {
  background-color: #007ab1;
  color: #fff;
  text-align: center;
  padding: 5%;
}
.index-sponsor ul {
  display: flex;
  justify-content: center;
  margin-top: 24px;
}
.index-sponsor ul li {
  margin: 0 5px 15px;
}

.index-sponsor h2 {
  font-size: 24px;
  border: 1px solid #fff;
  display: inline-block;
  padding: 5px 30px;
  margin-bottom: 35px;
}

.index-sponsor h3 {
  font-size: 26px;
}
.index-sponsor .txt {
  font-size: 0.8rem;
}
/*----------

下層ページ共通

---------*/
.pagemain {
  margin-bottom: 10px;
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover;
  padding: 6% 0 8%;
}
.pagemain-text {
  width: 55%;
}
.pagemain-text h1 {
  background-color: #0086a2;
  color: #fff;
  font-size: 1.1rem;
  letter-spacing: 0.1rem;
  display: inline-block;
  padding: 5px 24px;
  margin-bottom: 15px;
}
.pagemain-text h2 {
  font-size: 2.2rem;
  letter-spacing: 0.3rem;
  line-height: 1.5;
}
.pagemain-text h2.min-text-size {
  font-size: 1.7rem;
  letter-spacing: 0.1rem;
}
.pagemain-text p {
  font-size: 0.9rem;
}
/* 短めのメインイメージ */
.pagemain.min {
  padding: 5% 0 6%;
}

.pagemain p.subtext {
  display: inline-block;
  background-color: rgba(0, 0, 0, 0.8);
  color: #fff;
  padding: 5px 15px;
  letter-spacing: 0.2rem;
}
/*.pagemain h1{
  font-size: 2.2rem;
  letter-spacing: 0.2rem;
  margin-top: 18px;
}*/

/* パンくず */
#breadcrumbs {
  font-size: 0.7rem;
  padding: 20px 3% 45px;
  margin-bottom: 0px;
}
#breadcrumbs ul {
  display: flex;
}
#breadcrumbs ul li a {
  background: url(../images/common/icon_pan.png) right center no-repeat;
  padding: 0 20px 0 0;
  margin-right: 10px;
  text-decoration: underline;
  display: block;
}
#breadcrumbs ul li:last-child a {
  background: none;
  padding: 0 20px 0 0;
  margin-right: 10px;
  text-decoration: underline;
  display: block;
}
#breadcrumbs ul li a:hover {
  text-decoration: none;
}
#breadcrumbs ul li.breadcat a:not(:nth-last-child(1)) {
  background: none;
  padding-right: 0;
}

h2 {
  font-size: 1.8rem;
  letter-spacing: 0.2rem;
  margin-bottom: 24px;
}
/* 見出し */
.subtitle-001 {
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  letter-spacing: 0.2rem;
  margin-bottom: 35px;
}
.subtitle-001::before,
.subtitle-001::after {
  border-top: 1px solid;
  content: "";
  width: 100px;
}
.subtitle-001::before {
  margin-right: 1.2rem;
}
.subtitle-001::after {
  margin-left: 1.2rem;
}

.en-title {
  color: #007589;
  font-size: 1rem;
  letter-spacing: 0.2rem;
  text-align: center;
}

.subtitle-002 {
  display: flex;
  align-items: center;
  font-size: 1.6rem;
  letter-spacing: 0.2rem;
  margin-bottom: 35px;
}
.subtitle-002::before {
  content: "";
  width: 40px;
  height: 2px;
  background-color: #007580;
  margin-right: 15px;
}

.subtitle-003 {
  display: flex;
  align-items: center;
  font-size: 1.6rem;
  letter-spacing: 0.2rem;
  margin-bottom: 35px;
  border-left: 10px solid #007580;
  padding-left: 1.5rem;
}
.subtitle-003::after {
  flex-grow: 1;
  border-top: 1px solid #ccc;
  content: "";
  margin-left: 1rem;
}

.subtitle-004 {
  text-align: center;
  font-size: 2.267rem;
  border-top: 1px solid #008080;
  border-bottom: 1px solid #008080;
  padding: 0.667rem 0;
}
.green-title {
  font-size: 1.3rem;
  color: #00758b;
  margin-bottom: 20px;
}
.green-title.nocolor {
  color: #000;
}
.green-title.pc-center {
  text-align: center;
}

.txt-bg-green {
  background-color: #007580;
  color: #fff;
  padding: 0.5rem 0.8rem;
  margin: 0 0.5rem;
}

/* ボタン */
.linkbtn {
  background-color: #fff;
  width: 250px;
  margin: 24px auto;
}
.linkbtn a {
  display: block;
  box-sizing: border-box;
  color: #00758b;
  background-color: rgba(255, 255, 255, 0.8);
  padding: 10px 20px;
  text-decoration: none;
  /*background-image: url(../images/common/icon-arrow.png);
  background-position: 95% center;
  background-repeat: no-repeat;*/
  background-color: transparent;
  position: relative;
  z-index: 1;
  transition: 0.3s;
  border: 2px solid #00758b;
}
.linkbtn a:hover {
  color: #fff;
}
.linkbtn a::after {
  content: "";
  position: absolute;
  right: 10px;
  top: 20px;
  width: 24px;
  height: 6px;
  background-image: url(../images/common/icon-arrow.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: auto;
  transition: 0.3s;
}
.linkbtn a:hover::after {
  content: "";
  right: 3px;
  background-image: url(../images/common/icon-arrow-hover.png);
}
.linkbtn a::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background-color: #00758b;
  transform-origin: 100% 50%;
  transform: scaleX(0);
  transition: transform ease 0.3s;
}
.linkbtn a:hover::before {
  transform-origin: 0% 50%;
  transform: scaleX(1);
}

/* 配置 */
.center-img {
  text-align: center;
  margin: 24px 0 30px;
}
.center-img img {
  max-width: 100%;
}

.comming-img {
  text-align: center;
  margin: 34px auto;
}
.comming-img img {
  width: 100%;
}

.tac-text {
  text-align: center;
  margin: 20px 0;
}

/* バナーアニメーション */
.bnr-anime {
  box-sizing: border-box;
  background-color: #00758b;
  transition: 0.3s;
}
.bnr-anime.blue {
  background-color: #003c8b;
}
.bnr-anime.white {
  background-color: #fff;
  border: 3px solid #fff;
}
.bnr-anime.white:hover {
  border: 3px solid #00758b;
}
.bnr-anime img {
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.bnr-anime:hover img {
  -webkit-transform: scale(0.94);
  transform: scale(0.94);
  opacity: 1;
}

/*----------

選ばれる理由
---------*/
.pagemain.reason {
  background-image: url(../images/page/reason/bg-main.png);
}
.reason-list section {
  width: 80%;
  max-width: 1200px;
  margin: 0 auto 60px;
  background-position: right center;
  background-size: 70%;
  background-repeat: no-repeat;
  padding: 5% 0;
  box-sizing: border-box;
}
.reason-list section.point001 {
  background-image: url(../images/page/reason/bg-point001.jpg);
}
.reason-list section.point002 {
  background-image: url(../images/page/reason/bg-point002.jpg);
}
.reason-list section.point003 {
  background-image: url(../images/page/reason/bg-point003.jpg);
}
.reason-list section.point004 {
  background-image: url(../images/page/reason/bg-point004.jpg);
}
.reason-list section.point005 {
  background-image: url(../images/page/reason/bg-point005.jpg);
}
.reason-list section.point006 {
  background-image: url(../images/page/reason/bg-point006.jpg);
}

.reason-list section div.white-box {
  width: 55%;
  padding: 5%;
  box-sizing: border-box;
  background-color: rgba(255, 255, 255, 0.96);
  box-shadow: 4px 8px 17px -10px rgba(0, 0, 0, 0.6);
}
.reason-list section:nth-of-type(even) {
  background-position: left center;
}
.reason-list section:nth-of-type(even) div.white-box {
  margin-left: auto;
}

.reason-list section p.point {
  background-color: #0086a2;
  color: #fff;
  font-size: 0.9rem;
  letter-spacing: 0.1rem;
  display: inline-block;
  padding: 5px 10px;
  margin-bottom: 10px;
}
.reason-list section h3 {
  font-size: 1.6rem;
  letter-spacing: 0.2rem;
  margin-bottom: 24px;
}

/*----------

外国人技能実習生事業
---------*/
.pagemain.system {
  background-image: url(../images/page/system/bg-main.png);
}

.system001 {
  background-image: url(../images/page/system/bg-system-001.jpg);
  background-position: right top;
  background-repeat: no-repeat;
  background-size: 55%;
  padding: 6% 0 0;
}
.system001 article {
  width: 55%;
  margin-bottom: 50px;
}
.system001 article section {
  background-color: #fff;
  padding: 5% 4%;
  box-sizing: border-box;
  margin-bottom: 32px;
}

.system-list section {
  margin-top: 80px;
}
.system-inner {
  margin: 0 5%;
}
.sl-merit {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.sl-merit div {
  box-sizing: border-box;
  border: 3px solid #007589;
  background-color: #fff;
  padding: 0 3% 3%;
  width: 350px;
  margin: 2% 1% 2%;
  text-align: center;
}
p.merit-head {
  background-color: #007589;
  border: 1px solid #007589;
  color: #fff;
  width: 100px;
  height: 100px;
  box-sizing: border-box;
  margin: -8% auto 24px;
  padding: 15px 0 0;
}
p.merit-head span {
  display: block;
  font-size: 1.8rem;
  line-height: 1.5;
}
.sl-merit div p.merit-img {
  margin-bottom: 24px;
}
.sl-merit div p.merit-text {
  text-align: left;
  font-size: 14px;
}

.sl-merit div .merit_link {
  display: inline;
  margin: auto 0px 0 auto;
  position: relative;
  padding: 0px 30px 0 0;
  color: #007589;
}
@media all and (-ms-high-contrast: none) {
  .sl-merit div .merit_link {
    width: 40%;
  }
}
.sl-merit div a .merit_link:after {
  content: "";
  position: absolute;
  right: 0;
  top: 12px;
  width: 24px;
  height: 6px;
  background-image: url(../images/common/icon-arrow.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: auto;
  transition: 0.3s;
}
.sl-merit div a:hover .merit_link:after {
  content: "";
  background-image: url(../images/common/icon-arrow-hover.png);
}

.system-inner.sl-point {
  margin: 0;
  padding-bottom: 45px;
}

.sl-point div {
  width: 320px;
  margin: 2% 0.6% 2%;
  padding: 0;
  display: flex;
}
.sl-point div a {
  width: 100%;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  padding: 0 5% 5%;
  transition: 0.3s ease-in-out;
}
.sl-point div a:hover {
  background-color: #00758b;
}
.sl-point div a:hover > * {
  color: #fff;
}
.sl-point div a:hover .merit-head {
  border: 1px solid #fff;
}
.sl-point div a .green-title {
  border-bottom: 1px solid #007580;
}
.sl-point div a:hover .green-title {
  border-bottom: 1px solid #fff;
}
.sl-point div .merit-text {
  color: #000;
  margin-bottom: 40px;
}

.system-inner.flex-box {
  display: flex;
  justify-content: space-between;
}
.system-inner.flex-box .sys-text {
  width: 50%;
}
.system-inner.flex-box .sys-right {
  width: 45%;
}
.system-inner .sys-list ul {
  display: flex;
  flex-wrap: wrap;
  margin-top: 20px;
}
.system-inner .sys-list li {
  width: 30%;
  margin: 0 1% 2%;
  text-align: center;
  background-color: #007589;
  color: #fff;
  padding: 10px;
  box-sizing: border-box;
}

.sys-hyou {
  margin-bottom: 32px;
}
.sys-hyou h4 {
  background-color: #007589;
  color: #fff;
  padding: 10px;
  font-size: 1.2rem;
  margin-bottom: 0;
}
.sys-caption {
  font-size: 0.9rem;
}
.sys-caption p:nth-child(n + 2) {
  margin-top: 20px;
}
.kosyu-flow {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 40px;
}

.kosyu-flow li:not(:nth-of-type(2)) {
  display: flex;
  width: 300px;
}
.kosyu-flow-box {
  display: flex;
  flex-direction: column;
  width: 100%;
  align-items: center;
  border: 3px solid #007580;
  height: 210px;
  padding: 60px 40px;
  text-decoration: none;
}

.kosyu-flow-box .sttl {
  color: #007580;
  font-size: 1.25rem;
  line-height: 1.5;
  min-height: 3em;
}

.kosyu-flow-box .green-name {
  color: #fff;
  font-size: 1.2rem;
  background-color: #007580;
  border: 2px solid #007580;
  width: 100%;
  text-align: center;
  padding: 35px 10px;
  box-sizing: border-box;
  margin-top: 10px;
}
.kosyu-flow li a:hover {
  background-color: #007580;
}
.kosyu-flow li a:hover .sttl {
  color: #fff;
}
.kosyu-flow li a:hover .green-name {
  border: 2px solid #fff;
}

.kosyu-flow li a .kosyu-004-linkbtn {
  width: 140px;
  position: relative;
  color: #007580;
  border: 2px solid #007580;
  padding: 5px 10px;
}
.kosyu-flow li a:hover .kosyu-004-linkbtn {
  color: #fff;
  border: 2px solid #fff;
  background-color: #007580;
}

.kosyu-flow li a .kosyu-004-linkbtn:after {
  content: "";
  position: absolute;
  right: 7px;
  top: 16px;
  width: 24px;
  height: 6px;
  background-image: url(../images/common/icon-arrow.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: auto;
  transition: 0.3s;
}
.kosyu-flow li a:hover .kosyu-004-linkbtn:after {
  content: "";
  background-image: url(../images/common/icon-arrow-hover.png);
}

.sys-img-ukeire {
  margin: 34px auto;
  text-align: center;
}
.syokusyu-detail {
  display: flex;
  justify-content: center;
  /*margin-top: 40px;*/
}
.syokusyu-detail div {
  text-align: center;
  width: 630px;
  margin: 30px 2% 0;
  background-color: #e4e9e9;
  /*padding: 8% 0 4%;*/
  padding: 4% 0 1%;
}

.syokusyu-detail div.df {
  width: 750px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.syokusyu-detail div.df .linkbtn {
  margin: 24px 0;
}
.syokusyu-detail div.df .linkbtn + .linkbtn {
  margin-left: 24px;
}

/*----------

特定技能について
---------*/

.pagemain.specific {
  background-image: url(../images/page/specific/bg-main.png);
}
.spec-detail {
  background-color: #e6ebeb;
  padding: 4% 4%;
}
.spec-detail h3 {
  font-size: 1.4rem;
  background-color: #007589;
  color: #fff;
  text-align: center;
  padding: 12px 0;
  margin: 45px 0 20px;
}
.spec-detail h4 {
  font-size: 1.3rem;
  border-left: 5px solid #007580;
  padding-left: 0.8rem;
  margin-bottom: 15px;
}
.spec-list {
  display: flex;
  flex-wrap: wrap;
}
.spec-list:first-of-type {
  margin-bottom: 25px;
}

.spec-list li {
  background-color: #fff;
  border-radius: 6px;
  margin: 0 8px 10px 0;
  padding: 5px 15px;
  font-size: 1.2rem;
}

.select-lang {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 36px;
}
.select-lang li.btn.circle {
  width: 135px;
  height: 135px;
  margin-right: 20px;
}

.select-lang li.btn.circle:last-of-type {
  margin-right: 0;
}
.select-lang li.btn.circle a {
  font-size: 1rem;
  line-height: 1.4;
}
.select-lang li.btn.circle a span {
  font-size: 0.9rem;
}

.btn.circle a {
  width: 100%;
  height: 100%;
  border: 2px solid #b3b3b3;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  box-sizing: border-box;
  color: #000;
  text-decoration: none;
}
.btn.circle a:hover {
  color: #fff;
  background-color: #156c7d;
}
.btn.circle a span:after {
  content: "";
  display: inline-block;
  width: 7px;
  height: 9px;
  margin-left: 10px;
  background: url("../images/common/icon-arrow-tri.png") no-repeat center center /
    contain;
  transition: 0.3s ease;
}
.btn.circle a:hover span:after {
  background: url("../images/common/icon-arrow-tri-hover.png") no-repeat center
    center / contain;
}

/*----------

教育事業
---------*/
.pagemain.education {
  background-image: url(../images/page/education/bg-main.png);
}

.performance {
  width: 300px;
  height: 300px;
  margin: 0 auto;
  border-radius: 50%;
  border: 3px solid #007580;
  text-align: center;
  color: #007580;
  padding-top: 60px;
  box-sizing: border-box;
}
.performance h3 {
  font-size: 1.2rem;
  margin-bottom: 14px;
}
.performance p {
  font-size: 3.2rem;
  line-height: 1.3;
  display: flex;
  justify-content: center;
  align-items: center;
}
.performance p span {
  font-size: 1.2rem;
  margin-left: 0.5rem;
}

.sl-merit.ed div {
  width: 30%;
  /*padding-left:2%;
  padding-right: 2%;*/
  margin: 0 1% 2% 0;
}
.sl-merit.ed div p.merit-text {
  font-size: 0.9rem;
}
.caption-text {
  text-align: right;
  font-size: 0.9rem;
  margin-top: 14px;
}
.sys-hyou .sys-caption {
  margin-top: 24px;
}

#education002 .linkbtn {
  width: 30%;
  margin: 44px auto 0;
}

.other-list section {
  border: 2px solid #007580;
  margin-bottom: 50px;
}
.other-list section h3 {
  background-color: #007580;
  color: #fff;
  text-align: center;
  font-size: 1.4rem;
  letter-spacing: 0.2rem;
  padding: 2% 0;
}
.other-list section .ol-inner {
  padding: 3%;
}
.ob-photo {
  display: flex;
  justify-content: space-between;
  margin: 32px 0 24px;
}

.other-flow {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 40px;
}
.ob-photo li {
  width: 32%;
}
.ob-photo li img {
  width: 100%;
}

.ob-list li {
  list-style: disc;
  margin: 0 0 8px 20px;
}
.ob-list.flex-box {
  display: flex;
  flex-wrap: wrap;
}
.ob-list.flex-box.col3 li {
  width: 31%;
}
.ob-list.flex-box.col4 li {
  width: 24%;
}
.ob-list.flex-box.col5 li {
  width: 18%;
}

.ob-cont.flex-box {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 32px;
}
.swiper-container.gallery {
  margin: 0 5%;
}
.swiper-container {
  position: relative;
}
.swiper-wrapper {
}
.swiper-slide img {
  width: 100%;
}

.movie_imglist {
  display: flex;
  flex-wrap: wrap;
}

.movie_imglist li {
  margin: 2% 1.5% 2%;
  width: 30.3%;
}

.country_name {
  display: flex;
  align-items: center;
  font-size: 1.2rem;
  margin-bottom: 10px;
}

.country_name img {
  width: 75px;
  margin-right: 10px;
}
.movie_img {
  position: relative;
  display: block;
}
.movie_img:after {
  content: "";
  display: block;
  background: url("../images/page/system/icon_movie.png") no-repeat center
    center / contain;
  width: 60px;
  height: 42px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

.movie_img img {
  width: 100%;
}
/*----------

組合について

---------*/
.pagemain.union {
  background-image: url(../images/page/union/bg-main.png);
}

.idea-contents {
  /*background-image: url(../images/page/union/bg-idea-002.jpg);
  background-repeat: no-repeat;
  background-position: center top;*/
  background-color: #aad2d3;
  background-size: 100%;
  /*padding: 8% 0 10%;*/
  text-align: center;
}
.idea-contents h3 {
  margin-bottom: 20px;
}

.idea-head {
  margin-bottom: 380px;
}
.idea-head p {
  color: #005e00;
  font-size: 1.25rem;
  letter-spacing: 0.1rem;
}
.idea-head p span {
  background-color: rgba(255, 255, 255, 0.95);
  display: inline-block;
  margin-bottom: 8px;
  padding: 0 8px;
}
.idea-bottom ul {
  display: flex;
  justify-content: center;
  margin-bottom: 40px;
}
.idea-bottom ul li {
  margin: 0 2%;
}
.idea-bottom ul li span {
  display: block;
  background-color: #1b3b0d;
  color: #fff;
  text-align: center;
  padding: 1% 0;
  font-size: 0.9rem;
  margin: 10px 20px 0;
}
.idea-bottom p {
  font-size: 1.2rem;
}

.jinzai {
  background-image: url(../images/page/union/bg-jinzai.jpg);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100%;
  padding: 24% 6% 0;
}
.jinzai div.inner {
  /*display: flex;*/
}
.jinzai .white-box {
  background: rgba(255, 255, 255, 0.96);
  padding: 5%;
  width: 60%;
  box-sizing: border-box;
  margin: 0 auto;
}
.jinzai .white-box h2 {
  color: #007589;
  font-size: 1.6rem;
}

.union-map {
  display: flex;
  justify-content: space-between;
}
.union-map section.ikt-img {
  position: relative;
  text-align: center;
  margin-right: -130px;
}
.union-map section.ikt-img ul li {
  position: absolute;
}

section.ikt-img-under {
  position: relative;
}
section.ikt-img ul li {
  position: absolute;
}
section.ikt-img ul li.btn-000 {
  top: 525px;
  right: 302px;
}
section.ikt-img ul li.btn-001 {
  top: 118px;
  right: 99px;
}
section.ikt-img ul li.btn-002 {
  top: 315px;
  right: 144px;
}
section.ikt-img ul li.btn-003 {
  top: 509px;
  right: 298px;
  z-index: 3;
}
section.ikt-img ul li.btn-004 {
  top: 543px;
  right: 445px;
}
section.ikt-img ul li.btn-005 {
  top: 675px;
  right: 450px;
}
section.ikt-img ul li.btn-006 {
  top: 491px;
  left: 117px;
}
section.ikt-img ul li.btn-007 {
  top: 595px;
  left: 34px;
}
section.ikt-img ul li.btn-008 {
  top: 835px;
  left: 30px;
}

.union-map section.ikt-002 {
  width: 40%;
  margin-top: 200px;
}
.union-map section.ikt-002 h2 {
  background-color: #003c8b;
  color: #fff;
  padding: 2% 3%;
  font-size: 1rem;
  letter-spacing: 0.1rem;
}
.union-map section.ikt-002 h3 {
  font-size: 1rem;
  margin-bottom: 15px;
}
.union-map section.ikt-002 h3:nth-of-type(n + 2) {
  border-top: 1px solid #666;
  padding-top: 20px;
}
.union-map section.ikt-002 h3 span {
  display: inline-block;
  font-size: 0.85rem;
}
.union-map section.ikt-002 dl {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.65rem;
  line-height: 1.5rem;
  margin-bottom: 12px;
}
.union-map section.ikt-002 dl dt {
  border: 1px solid #666;
  padding: 8px 5px;
  width: 80px;
  box-sizing: border-box;
  font-size: 0.7rem;
  text-align: center;
}
.union-map section.ikt-002 dl dd {
  width: 74%;
}

.access-list .access-gts {
  margin: 60px 0;
}
.access-list .access-gts p {
  margin: 0 6%;
  font-size: 1.2rem;
}
.access-list .syuchyou-list div {
  display: flex;
  flex-wrap: wrap;
  margin: 0 3%;
}
.access-list .syuchyou-list div dl {
  border: 1px solid #007589;
  padding: 2%;
  box-sizing: border-box;
  width: 48%;
  margin: 0 1% 2%;
}
.access-list .syuchyou-list div dl dt {
  font-size: 1.2rem;
  color: #007589;
}
.access-list .syuchyou-list div dl dd {
  margin-left: 4%;
}

.ggmap {
  margin-top: 32px;
}
.ggmap iframe {
  width: 100%;
}

.access-map-illust {
  text-align: center;
}
.access-mapimg .ggmap {
  width: 100%;
  max-width: 880px;
  margin: 45px auto 0;
}
.access-mapimg .ggmap iframe {
  border: 10px solid #bebab7;
  border-radius: 10px;
  box-sizing: border-box;
}

.tableunit table {
  width: 100%;
  border-bottom: 1px solid #ccc;
}
.tableunit table tr th,
.tableunit table tr td {
  padding: 1.5% 3%;
  vertical-align: middle;
}
.tableunit table tr th {
  width: 24%;
  border-top: 2px solid #007589;
  font-weight: normal;
}
.tableunit table tr td {
  width: 76%;
  font-size: 0.9rem;
  border-top: 1px solid #ccc;
}
.tableunit table tr th:last-of-type {
  border-bottom: 2px solid #007589;
}

.tableunit table tr td div.address {
  display: flex;
  margin-bottom: 24px;
}
.tableunit table tr td div.address p {
  width: 15%;
}
.tableunit table tr td div.address div,
.tableunit table tr td div.address ul {
  width: 85%;
}
.tableunit table tr td div.address dl {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
}
.tableunit table tr td div.address dl dt {
  width: 12%;
}

/*.tableunit.history table tr th{width: 15%;}
.tableunit.history table tr td.month{
  width: 10%;
  border-top: 2px solid #88BEC8;
  text-align: center;
}
.tableunit.history table tr td.his-text{width: 75%;}*/
.tableunit table tr:last-of-type td.month {
  border-bottom: 2px solid #88bec8;
}

section.history-contents div.history-list {
  display: table;
  width: 100%;
}
section.history-contents div.history-list h3,
section.history-contents div.history-list div {
  display: table-cell;
  vertical-align: middle;
}
section.history-contents div.history-list h3,
section.history-contents div.history-list div,
section.history-contents div.history-list div dl,
section.history-contents div.history-list div dl dt,
section.history-contents div.history-list div dl dd {
  box-sizing: border-box;
}
section.history-contents div.history-list h3 {
  width: 15%;
  border-top: 2px solid #007589;
  text-align: center;
}
section.history-contents div.history-list div {
  width: 85%;
  font-size: 0.9rem;
}
section.history-contents div.history-list div dl {
  display: table;
  width: 100%;
}
section.history-contents div.history-list div dl dt,
section.history-contents div.history-list div dl dd {
  display: table-cell;
  vertical-align: middle;
}
section.history-contents div.history-list div dl dt {
  width: 10%;
  border-top: 2px solid #88bec8;
  text-align: center;
}
section.history-contents div.history-list div dl dd {
  width: 90%;
  border-top: 1px solid #ccc;
  padding: 2% 3%;
}
section.history-contents div.history-list:last-of-type h3 {
  border-bottom: 2px solid #007589;
}
section.history-contents div.history-list:last-of-type div dl:last-of-type dt {
  border-bottom: 2px solid #88bec8;
}
section.history-contents div.history-list:last-of-type div dl:last-of-type dd {
  border-bottom: 1px solid #ccc;
}

section.buisiness-list ul {
  counter-reset: number 0;
}
section.buisiness-list ul li {
  font-size: 1.2rem;
  background-color: #007589;
  color: #fff;
  border-radius: 6px;
  margin-bottom: 10px;
  padding: 10px 20px;
  box-sizing: border-box;
  display: flex;
}
section.buisiness-list ul li::before {
  counter-increment: number 1; /* number カウンタの増加数をセット */
  content: counter(number) " ） ";
}

section.other-buisiness article {
  margin-top: 50px;
}
section.other-buisiness article h3.subtitle-002 {
  margin-bottom: 0;
}

section.other-buisiness article div {
  background-color: #f2f7f7;
  margin: -20px 0 0 auto;
  width: 90%;
  padding: 5% 3% 3%;
  box-sizing: border-box;
}

.other-buisiness-link {
  margin: 1rem 0 0 auto;
  width: 90%;
}

.other-buisiness-link a {
  color: #004f9e;
  padding-bottom: 2px;
  border-bottom: solid 2px;
  text-decoration: unset;
}
section.other-buisiness article div dl {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px dotted #ccc;
  padding-bottom: 15px;
  margin-bottom: 15px;
}
section.other-buisiness article div dl dt {
  width: 15%;
}
section.other-buisiness article div dl dd {
  width: 83%;
}
section.other-buisiness article div ul li {
  list-style: disc;
  margin: 0 0 10px 20px;
}

/*----------

よくあるご質問
---------*/
.pagemain.faq {
  background-image: url(../images/page/faq/bg-main.png);
}

.faq-subject ul li a {
  display: block;
  color: #333;
  text-decoration: none;
  border-bottom: 1px dotted #ccc;
  padding: 15px 20px 15px 40px;
  background-image: url(../images/page/faq/icon-arrow.png);
  background-position: 10px center;
  background-repeat: no-repeat;
}
.faq-subject ul li a:hover {
  background-color: #007589;
  color: #fff;
  background-image: url(../images/page/faq/icon-arrow-hover.png);
}
.faq-list section {
  margin-bottom: 45px;
}
.faq-list section h3.subtitle-002 {
  font-size: 1.4rem;
}
.faq-answer {
  background-color: #f0f5f5;
  margin: -55px 0 0 120px;
  padding: 6% 5% 5%;
}

/*----------

実績紹介
---------*/
.pagemain.case {
  background-image: url(../images/page/case/bg-main.png);
}

.case-list {
  display: flex;
  flex-wrap: wrap;
}
.case-list article {
  width: 30%;
  margin: 0 1% 3%;
}
.case-list article a {
  display: block;
  border: 2px solid #007589;
  box-sizing: border-box;
  color: #333;
  text-decoration: none;
}
.case-list article a:hover {
  background-color: #007589;
  color: #fff;
}
.case-list article a:hover div.photoarea h2 {
  background-color: rgba(0, 53, 124, 0.9);
}

.case-list article a div.photoarea {
  position: relative;
}
.case-list article a div.photoarea h2 {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
  background-color: rgba(0, 128, 120, 0.9);
  width: 100%;
  box-sizing: border-box;
  text-align: center;
  padding: 4% 3%;
  color: #fff;
  margin: 0 0 0 0;
  font-size: 1.1rem;
  letter-spacing: 0.1rem;
  line-height: 1.5;
}
.case-list article a p.case-photo img {
  width: 100%;
  height: 260px;
}
.case-list article a div.case-info {
  background-image: url(../images/page/case/idon-arrow.png);
  background-position: right bottom;
  background-repeat: no-repeat;
  background-size: 65px;
  padding: 3% 5%;
}
.case-list article a div.case-info ul {
  display: flex;
  flex-wrap: wrap;
}
.case-list article a div.case-info ul li {
  font-size: 0.85rem;
  margin-right: 5px;
}
.case-list article a div.case-info h3 {
  font-size: 1.1rem;
}

/* 詳細 */
.case-head {
  border-bottom: 2px solid #007582;
  padding: 0 0 12px;
  margin-bottom: 32px;
}
.case-head ul.case-cat {
  margin-bottom: 12px;
}
.case-head ul.case-cat li {
  display: inline-block;
  background-color: #007589;
  color: #fff;
  padding: 3px 15px;
  font-size: 0.9rem;
  margin-right: 5px;
}
.case-head h1 {
  font-size: 2rem;
}

.case-profile {
  display: flex;
  justify-content: space-between;
  margin-bottom: 60px;
}

.case-profile p.case-photo {
  width: 45%;
}
.case-profile p.case-photo img {
  width: 100%;
}
.case-profile div.case-profile-info {
  width: 50%;
}
.case-profile div.case-profile-info h2 {
  color: #007589;
}

.case-detail-list {
  margin-bottom: 60px;
}
.case-detail-list h3.subtitle-002 {
  color: #007589;
  margin-bottom: 20px;
}
.case-text {
  margin: 0 0 0 7%;
}

/*----------

実習生の声
---------*/
.pagemain.voice {
  background-image: url(../images/page/voice/bg-main.png);
}
.voice-list {
  display: flex;
  flex-wrap: wrap;
}
.voice-list article {
  width: 44%;
  margin: 0 3% 5%;
  box-sizing: border-box;
}
.voice-list article a {
  display: block;
  color: #333;
  text-decoration: none;
  padding: 4%;
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 4px 8px 17px -10px rgba(0, 0, 0, 0.6);
}
.voice-list article a:hover {
  background-color: #007589;
}
.voice-list article a:hover,
.voice-list article a:hover h2 {
  color: #fff;
}
.voice-list article a:hover h2 {
  border-color: #fff;
}

.voice-list article a p.voice-photo {
  margin-bottom: 24px;
}
.voice-list article a p.voice-photo img {
  width: 100%;
  height: 260px;
}

.voice-list article a h2 {
  border: 1px solid #007589;
  border-radius: 10px;
  padding: 3px 10px;
  text-align: center;
  color: #007589;
  font-size: 1.5rem;
  letter-spacing: 0;
}
.voice-list article a dl {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 3px;
  border-bottom: 1px dotted #ccc;
  margin-bottom: 3px;
}
.voice-list article a dl dt,
.voice-list article a dl dd {
  box-sizing: border-box;
  padding: 3px 8px;
  font-size: 0.9rem;
}
.voice-list article a dl dt {
  width: 30%;
  background-color: #007589;
  border: 1px solid #fff;
  color: #fff;
}
.voice-list article a dl dd {
  width: 70%;
}

/* 詳細 */
.voice-single {
  width: 85%;
  padding: 4%;
  box-sizing: border-box;
  margin: 0 auto 50px;
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 4px 8px 17px -10px rgba(0, 0, 0, 0.6);
}

.voice-single .voice_head {
  border-bottom: 2px solid #007582;
  padding: 0 0 12px;
  margin-bottom: 32px;
}
.voice-single .voice_head h1 {
  color: #007582;
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.2rem;
  margin-bottom: 24px;
}
.voice-single .voice_head h2 {
  font-size: 1.4rem;
  line-height: 1.5;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
}
.voice-single .voice_head h2 span {
  margin-left: 5px;
  font-size: 0.9rem;
}
.voice-single .voice_head div.name-area {
  display: flex;
  align-items: center;
}
.voice-single .voice_head p.name {
  font-size: 0.9rem;
}
.voice-single .voice_head p.name002 {
  font-size: 0.9rem;
  margin-left: 1rem;
}

.voice-single .voice-profile {
  display: flex;
  justify-content: space-between;
  margin-bottom: 60px;
}
.voice-single .voice-profile p.voice-photo {
  width: 50%;
}
.voice-single .voice-profile p.voice-photo img {
  width: 100%;
}
.voice-single .voice-profile-list {
  width: 45%;
}
.voice-profile-list dl {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px dotted #ccc;
  padding: 12px 10px;
  box-sizing: border-box;
  font-size: 0.9rem;
}
.voice-profile-list dl dt,
.voice-profile-list dl dd {
  box-sizing: border-box;
}
.voice-profile-list dl dt {
  width: 35%;
}
.voice-profile-list dl dd {
  width: 65%;
}

.voice-qa div.voice-qa-list {
  margin-bottom: 55px;
}
.voice-qa h2.subtitle-002 {
  color: #007582;
  line-height: 1.2rem;
  letter-spacing: 0.1rem;
  margin-bottom: 24px;
}
.voice-qa div.voice-answer {
  margin: 0 0 0 70px;
}

/* その他 */
.other-voice .voice-list article {
  width: auto;
  margin: 0 0 0;
}
.other-voice .voice-list article a h2 {
  font-size: 1.1rem;
}
.other-voice .voice-list article a p.voice-photo img {
  width: 100%;
  height: 12vw;
}
.other-voice .voice-list article a dl dt,
.other-voice .voice-list article a dl dd {
  font-size: 0.85rem;
}
.other-voice .voice-list article a dl dt {
  width: 35%;
}
.other-voice .voice-list article a dl dd {
  width: 65%;
}

.swiper-voice {
  position: relative;
  margin: 0 auto;
  overflow: hidden;
}
.other-voice .voice-list {
  display: block;
  padding: 0 1% 6%;
}

/*----------

採用情報
---------*/
.pagemain.recruit {
  background-image: url(../images/page/recruit/bg-main.png);
}

.recruit-message {
  margin-bottom: 0;
}
.recruit-message .mes-cont {
  background: url(../images/page/recruit/recruit_message_bg.png) no-repeat right
    bottom;
  margin-top: 60px;
  padding: 30px 0 40px;
}

.recruit-message .mes-cont .txt {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-orientation: upright;
  font-size: 1.34rem;
}
@media all and (-ms-high-contrast: none) {
  .recruit-message .mes-cont .txt {
    height: 505px;
  }
}
.recruit-message .mes-cont .name {
  font-size: 1.2rem;
  margin-top: 90px;
  margin-left: 1em;
}

.recruit-point {
  background-color: #008080;
  padding: 90px 0 70px;
}

.recruit-point .point-ttl {
  text-align: center;
  color: #fff;
  font-size: 2rem;
  line-height: 1.8;
  margin-bottom: 20px;
}

.recruit-point-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 20px;
}

.recruit-point-list li {
  background-color: #fff;
  width: 45.5%;
  font-size: 1.2rem;
  line-height: 1.5;
  padding: 20px 15px;
  margin-bottom: 20px;
  display: flex;
}
.recruit-point-list li p {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
}
.recruit-point-list li p span {
  text-indent: -1em;
  padding-left: 1em;
}
.recruit-point-list li p span:before {
  content: "● ";
}

.recruit-point .note {
  text-align: center;
  color: #fff;
  font-size: 1.32rem;
}

.recruit-contents .inner {
  width: 1600px;
  text-align: center;
}

.recruit-btnarea {
  padding: 30px 0 100px;
}

.recruit-btnarea .subtitle-001 {
  margin-bottom: 70px;
}

.recruit-btnlist {
  display: flex;
  flex-wrap: wrap;
  width: 710px;
  margin: 0 auto;
}

.recruit-btnlist li {
  width: 100%;
}

.recruit-btnlist .linkbtn {
  margin: 0 auto 30px;
}
.recruit-btnlist .linkbtn a {
  font-size: 22px;
  padding: 40px 40px 30px;
}
.recruit-btnlist .linkbtn a:after {
  background-image: url(../images/common/icon-arrow-line.png);
  width: 121px;
  height: 21px;
  top: 52%;
  right: 40px;
}
.recruit-btnlist .linkbtn a:hover:after {
  background-image: url(../images/common/icon-arrow-line-hover.png);
  width: 121px;
  height: 21px;
  right: 20px;
}
.recruit-btnlist .linkbtn a span {
  font-size: 20px;
  display: block;
}

.recruit-message-attention {
  max-width: 972px;
  margin: 0 auto 6.667rem;
}

.recruit-message-attention a {
  text-decoration: none;
  text-align: center;
  display: block;
  font-size: 3rem;
  letter-spacing: 0.06em;
  color: #000;
  line-height: 1.4;
  border: 5px solid #008080;
  padding: 3rem 1rem;
}

.recruit-message-attention a:hover {
  color: #fff;
  background-color: #008080;
}

.recruit-attention-news {
  padding: 60px 0 20px;
  background-color: #faf5f5;
}

.recruit-attention-news .detail-box {
  padding: 40px 0;
  display: flex;
}
.recruit-attention-news .detail-box + .detail-box {
  border-top: 1px solid #008080;
}

.recruit-attention-news .detail-box > h3 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 26.4%;
  border: 1px solid #008080;
  color: #008080;
  font-size: 2rem;
  margin-right: 3.333rem;
  flex-shrink: 0;
}

.recruit-attention-news .detail-box .price-table {
  width: 100%;
}
.recruit-attention-news .detail-box .price-table .th_bg_red {
  width: 167px;
}
.recruit-attention-news .detail-box .price-table .th_bg_red span {
  background-color: #a00000;
  color: #fff;
  font-size: 1.467rem;
  font-weight: normal;
  display: inline-block;
  width: 100%;
}
.recruit-attention-news .detail-box .price-table td {
  font-size: 1.733rem;
  display: flex;
  justify-content: space-between;
  padding-left: 2rem;
}
.recruit-attention-news .detail-box .detail-example {
  display: flex;
  font-size: 1.8rem;
}
.recruit-attention-news .detail-box .detail-example dd {
  margin-left: 2.333rem;
}
/*----------

SDGs

---------*/
.pagemain.sdgs {
  background-image: url(../images/page/sdgs/bg-main.png);
}

.sdgs-list {
  display: flex;
  justify-content: center;
  text-align: center;
  margin-bottom: -6%;
}
.sdgs-list div {
  border: 3px solid #007582;
  background-color: #fff;
  padding: 3%;
  box-sizing: border-box;
  width: 30%;
  margin: 0 1%;
}
.sdgs-list div h3 {
  color: #007582;
  font-size: 1.4rem;
  margin: 24px 0 20px;
}

.sdgs-detail {
  background-position: right top;
  background-repeat: no-repeat;
  background-size: 55%;
  padding: 6% 0;
}
.sdgs-detail.sdgs001 {
  background-image: url(../images/page/sdgs/bg-sdgs-001.jpg);
}
.sdgs-detail.sdgs002 {
  background-image: url(../images/page/sdgs/bg-sdgs-002.jpg);
}

.sdgs-detail article {
  width: 66%;
  margin-bottom: 50px;
}

.sdgs-contents:nth-of-type(even) .sdgs-detail {
  background-position: left top;
}
.sdgs-contents:nth-of-type(even) article {
  margin-left: auto;
}

.sdgs-detail article section {
  background-color: #fff;
  padding: 5% 4%;
  box-sizing: border-box;
  margin-bottom: 32px;
}
.sdgs-bnr {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 32px;
}
.sdgs-bnr li {
  width: 30%;
  margin: 0 1% 2%;
}
.sdgs-bnr li img {
  width: 100%;
}

/*----------

TOPICS
---------*/
.pagemain.topics {
  background-image: url(../images/page/topics/bg-main.png);
}
.min-width-text {
  width: 54%;
  margin: 0 auto 32px;
}
.min-width-text p:nth-of-type(n + 2) {
  margin-top: 24px;
}
.topics-photo {
  margin-top: 50px;
}
.topics-photo01 {
  margin-top: 100px;
}
.topics-photo .subtitle-002 {
  margin-bottom: 15px;
  font-size: 1.35rem;
}
.topics-photo ul {
  display: flex;
  flex-wrap: wrap;
}
.topics-photo ul li {
  width: 46%;
  margin: 0 2% 4%;
}
.topics-photo ul li img {
  width: 100%;
}
.topics-photo ul li span {
  display: block;
  font-size: 0.9rem;
  margin-top: 10px;
}
.topics-photo02 ul {
  align-items: center;
}
.topics-photo02 ul li {
  width: 29%;
}

/*----------
ブログ

---------*/
.pagemain.blog {
  background-image: url(../images/page/blog/bg-main.png);
}
.pagemain.blog.cate-blog-csr {
  background-image: url(../images/page/blog/bg-main-csr.png);
}

.column2 {
  display: flex;
  justify-content: space-between;
}
.column2 #main-contents {
  width: 70%;
}
.column2 #sidebar {
  width: 25%;
}

.blog-list {
  display: flex;
  flex-wrap: wrap;
}
.blog-list article {
  width: 48%;
  margin: 0 1% 4%;
}
.blog-list article {
  width: 48%;
  margin: 0 1% 4%;
}
.blog-list.row3 article {
  width: 31%;
  margin: 0 1% 4%;
}
.blog-list article a {
  display: block;
  height: 100%;
  background-color: #fff;
  border: 1px solid #f3f3f3;
  box-shadow: 4px 6px 12px -10px rgba(0, 0, 0, 0.6);
  box-sizing: border-box;
  color: #333;
  text-decoration: none;
}
.blog-list article a:hover {
  background-color: #007582;
  color: #fff;
}
.blog-photo {
  position: relative;
}
.blog-photo ul {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  flex-wrap: wrap;
  z-index: 2;
}
ul.blog_cat li {
  display: inline-block;
  background-color: #007582;
  color: #fff;
  font-size: 0.8rem;
  padding: 3px 8px;
  margin: 0 3px 3px 0;
}
.blog-photo img {
  width: 100%;
  height: 220px;
}
.blog-list article a div.blog-list-in {
  padding: 5% 6%;
}
.blog-list article a div.blog-list-in .days {
  font-size: 0.8rem;
  margin-bottom: 24px;
}
.blog-list article a div.blog-list-in .blog_ex {
  font-size: 0.9rem;
  line-height: 1.8;
}

/* sidebar */
.column2 #sidebar h2.subtitle-002 {
  font-size: 1.3rem;
  margin-bottom: 20px;
}
.column2 #sidebar div.side-list {
  margin-bottom: 32px;
}

.column2 #sidebar div.side-list ul {
  border-top: 1px dotted #ccc;
}
.column2 #sidebar div.side-list ul li a {
  display: block;
  text-decoration: none;
  font-size: 0.9rem;
  color: #333;
  padding: 4% 3%;
  border-bottom: 1px dotted #ccc;
}
.column2 #sidebar div.side-list ul li a:hover {
  background-color: #007582;
  color: #fff;
}

.blog-btn-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 4%;
}

.blog-btn-list .linkbtn {
  margin: 24px 0;
}
.blog-btn-list .linkbtn + .linkbtn {
  margin-left: 24px;
}
.blog-btn-list .linkbtn.current a {
  background-color: #00758b;
  color: #fff;
}
.blog-btn-list .linkbtn.current a:after {
  background-image: url(../images/common/icon-arrow-hover.png);
}
/* 詳細 */
.blig-single .blog_head {
  margin-bottom: 40px;
}
.blig-single .blog_head h1 {
  font-size: 1.3rem;
  border-bottom: 2px solid #007582;
  padding: 12px 0 12px;
  margin-bottom: 5px;
}
.blig-single .blog_head p.days {
  font-size: 0.8rem;
  text-align: right;
}
.blig-single .blog_detail figure {
  margin-top: 24px;
}
.blig-single .blog_detail img {
  max-width: 100%;
  height: auto;
}

.side-search input {
  box-sizing: border-box;
  padding: 6px;
}
.side-search .submit-btn {
  background-color: #007582;
  color: #fff;
  border: 2px solid #007582;
  width: 20%;
  padding: 4px 0;
  cursor: pointer;
  transition: 0.3s;
}
.side-search .submit-btn:hover {
  background-color: #fff;
  color: #007582;
}

.pagenavi {
  text-align: center;
}

/*----------

新着情報

---------*/
.pagemain.news {
  background-image: url(../images/page/news/bg-main.png);
}

.news-cat-list ul {
  display: flex;
  justify-content: center;
  margin-bottom: 45px;
}
.news-cat-list ul li {
  font-size: 1.2rem;
  letter-spacing: 0.1rem;
  width: 20%;
  text-align: center;
}
.news-cat-list ul li a {
  display: block;
  text-decoration: none;
  background-color: #fff;
  color: #007582;
  border: 1px solid #007582;
  padding: 10px 0;
  box-sizing: border-box;
}
body.post-type-archive-news .news-cat-list ul li.all-cat a,
.news-cat-list ul li.current-cat a,
.news-cat-list ul li a:hover {
  background-color: #007582;
  color: #fff;
}

.news-cat-list ul li.cat-item-9.current-cat a,
.news-cat-list ul li.cat-item-9 a:hover {
  background-color: #008080;
}
.news-cat-list ul li.cat-item-3.current-cat a,
.news-cat-list ul li.cat-item-3 a:hover {
  background-color: #c25c88;
}
.news-cat-list ul li.cat-item-4.current-cat a,
.news-cat-list ul li.cat-item-4 a:hover {
  background-color: #e0ad10;
}
.news-cat-list ul li.cat-item-5.current-cat a,
.news-cat-list ul li.cat-item-5 a:hover {
  background-color: #004080;
}
/*----------

申請書類ダウンロード

---------*/
.pagemain.document {
  background-image: url(../images/page/document/bg-main.png);
}
.pass-text {
  text-align: center;
}

input.pass-input {
  width: 24%;
  padding: 1%;
  margin-top: 24px;
}
input.pass-btn {
  background: #007582;
  color: #fff;
  border: 1px solid #007582;
  width: 200px;
  padding: 10px 0;
  font-size: 1rem;
  border-radius: 6px;
  margin-top: 24px;
}
input.pass-btn:hover {
  background: #fff;
  color: #007582;
  cursor: pointer;
}

.pdf-btn a {
  display: block;
  background-color: #007582;
  background-image: url(../images/page/document/icon-pdf-white.png);
  background-position: 4% center;
  background-repeat: no-repeat;
  color: #fff;
  border: 2px solid #007582;
  width: 350px;
  margin: 0 auto;
  padding: 20px 0 20px 4%;
  box-sizing: border-box;
  font-size: 1.2rem;
  letter-spacing: 0.1rem;
  border-radius: 6px;
  margin-top: 24px;
  text-decoration: none;
}
.pdf-btn a:hover {
  background-color: #fff;
  background-image: url(../images/page/document/icon-pdf-green.png);
  color: #007582;
  cursor: pointer;
}

/*----------

コールセンター
---------*/
.pagemain.call {
  background-image: url(../images/page/call/bg-main.png);
}

.call-head {
  text-align: center;
  margin: 20px 10%;
  border: 5px solid #008080;
  box-sizing: border-box;
  padding: 5%;
  font-size: 1.3rem;
}
p.call-point {
  font-size: 2rem;
  color: #dd193e;
}
.call-img {
  text-align: center;
}

.call-caption {
  text-align: center;
  margin-bottom: 32px;
  font-size: 1.2rem;
  letter-spacing: 0.1rem;
}
.call-list {
  display: flex;
  flex-wrap: wrap;
}
.call-list div {
  width: 46%;
  margin: 0 2% 4%;
  border: 2px solid #007582;
  box-sizing: border-box;
  padding: 2%;
}
.call-list div h3 {
  background-color: #007582;
  color: #fff;
  padding: 2%;
  text-align: center;
  font-size: 1.2rem;
}
.call-list div h3 span {
  display: inline-block;
  vertical-align: middle;
  font-size: 1rem;
}
.call-list div ul.tel-list {
  margin-bottom: 24px;
}
.call-list div ul.tel-list li {
  padding: 8px 0 8px 55px;
  background-position: left center;
  background-repeat: no-repeat;
  font-size: 1.6rem;
  font-weight: bold;
  border-bottom: 1px dotted #ccc;
}
.call-list div ul.tel-list li.tel {
  background-image: url(../images/page/call/icon-tel.png);
}
.call-list div ul.tel-list li.line {
  background-image: url(../images/page/call/icon-line.png);
}
.call-list div ul.tel-list li.wechat {
  background-image: url(../images/page/call/icon-wechat.png);
}

.call-list div ul.tel-list li a {
  display: block;
  color: #333;
  text-decoration: none;
}
.call-list div ul.qr-list {
  display: flex;
  justify-content: center;
  text-align: center;
}
.call-list div ul.qr-list li {
  width: 25%;
  margin: 0 12%;
}
.call-list div ul.qr-list li img {
  width: 100%;
}
.call-list div ul.qr-list span {
  display: block;
  margin-top: 8px;
  font-size: 1.2rem;
}

/*----------

404
---------*/
.pagemain.not404 {
  background-image: url(../images/common/bg-main-404.png);
}

/*----------

プライバシーポリシー

---------*/
.pagemain.policy {
  background-image: url(../images/page/policy/bg-main.png);
}

.policy-contents section {
  margin: 0 0 80px;
}
.policy-contents section div {
  margin: 0 50px;
}
.policy-contents section div p {
  margin-bottom: 20px;
}

.policy-contents section div p.mark_sa img {
  width: 150px;
  margin-bottom: 15px;
}

article.policy-in {
  margin-bottom: 20px;
}
article.policy-in section {
  margin: 40px 0 0 40px;
}
article.policy-in section h3 {
  color: #007580;
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: 10px;
}

/*----------

お問い合わせ

---------*/
.pagemain.contact {
  background-image: url(../images/page/contact/bg-main.png);
}

.conact_head {
  text-align: center;
  font-size: 18px;
}
.conact_head p {
  margin-bottom: 24px;
}
.conact_head .tellink {
  line-height: 1.5;
  margin-bottom: 0;
}
.tellink a {
  text-decoration: none;
  color: #007580;
  font-size: 4rem;
  letter-spacing: 0.3rem;
}

.form-info {
  text-align: center;
  margin-bottom: 45px;
}
.form-info p {
  margin-bottom: 20px;
}
.form-info .redbox {
  margin: 0 1rem 0 0;
}

.form-caption {
  margin: 30px 0;
  font-size: 0.9rem;
}

/* 入力エラー */
.contact-error {
  background: #ffdede;
  padding: 30px;
  margin-bottom: 30px;
  text-align: center;
}
.contact-error h2 {
  color: #ff0000;
  font-weight: bold;
}

.redtext {
  color: #cc0000;
  font-weight: bold;
}
table.formtbl {
  width: 100%;
  border-top: solid 1px #efefef;
}

table.formtbl tr.none {
  display: none;
}
table.formtbl tr th,
table.formtbl tr td {
  box-sizing: border-box;
  padding: 3% 1%;
  border-bottom: solid 1px #efefef;
  vertical-align: middle;
}
span.f-title {
  display: inline-block;
  vertical-align: middle;
}
span.redbox,
span.greenbox {
  display: inline-block;
  vertical-align: middle;
  background-color: #ab1a3c;
  color: #fff;
  padding: 3px 10px;
  font-weight: normal;
  margin-right: 1rem;
  font-size: 0.8rem;
}
span.greenbox {
  background-color: #007582;
}
table.formtbl tr th.f-messe {
  background-color: #007582;
  color: #fff;
  text-align: center;
  padding: 2% 0;
  font-size: 1.2rem;
  font-weight: normal;
}

table.formtbl tr th {
  width: 30%;
  text-align: left;
}
table.formtbl tr td {
  width: 70%;
}

.spec-form table.formtbl tr th {
  width: 32%;
  font-size: 0.9rem;
}
.spec-form table.formtbl tr td {
  width: 68%;
}

table.formtbl tr td img {
  max-width: 100%;
}

.formtbl input.w30 {
  width: 35%;
}
.formtbl input.w90,
.formtbl textarea {
  width: 96%;
}
.formtbl input,
.formtbl textarea {
  padding: 10px;
  background: #f6f6f6;
  border: 1px solid #ccc;
  box-sizing: border-box;
}
.formtbl select {
  padding: 5px;
  box-sizing: border-box;
  border: 1px solid #ccc;
}

td.birthday span {
  display: inline;
  vertical-align: middle;
  margin-right: 12px;
}

table.formtbl td label {
  padding: 0 0 0 0;
  margin: 0 0 0 0;
}
table.formtbl td input[type="radio"] {
  padding: 0 5px;
  margin: 0 5px;
}
table.formtbl td label span {
  margin-left: 5px;
}
.formtbl td input:focus,
.formtbl td textarea:focus {
  background: #fffaca;
}

table.formtbl td p.fcap {
  padding-bottom: 20px;
}
table.formtbl td dl {
  display: table;
  width: 100%;
  border-bottom: dotted 1px #ccc;
  box-sizing: border-box;
}
table.formtbl td dl:last-child {
  border-bottom: none;
}

div.formtbl dl {
  display: table;
  width: 100%;
  border-bottom: solid 1px #ccc;
}

table.formtbl td dl dt,
table.formtbl td dl dd {
  display: table-cell;
  padding: 14px 0;
  box-sizing: border-box;
  border-top: none;
  vertical-align: middle;
  text-align: left;
}

table.formtbl td dl.jiki dt {
  width: 15%;
}
table.formtbl td dl.jiki dd {
  width: 80%;
  padding-left: 1%;
}
table.formtbl td dl.jiki dd input,
table.formtbl td dl.jiki dd select {
  width: 100%;
}

table.formtbl td.address dl dt {
  width: 20%;
}
table.formtbl td.address dl dd {
  width: 76%;
}

table.formtbl td dl:last-child dt,
table.formtbl td dl:last-child dd {
  border-bottom: none;
}

table.formtbl tr.pass td input:nth-child(n + 2) {
  margin-top: 15px;
}

input[type="submit"] {
  -webkit-appearance: none;
}
#submit {
  text-align: center;
  margin: 30px 0;
}

#submit input {
  background: #e69706;
  color: #fff;
  border: 1px solid #e69706;
  width: 35%;
  padding: 30px 0;
  font-size: 18px;
  font-weight: 500;
  border-radius: 6px;
}

#submit input:hover {
  background: #fff;
  color: #e69706;
  cursor: pointer;
}

#submit input.backbtn {
  background: #f2f2f2;
  color: #333;
  border: 1px solid #666;
  width: 35%;
  padding: 30px 0;
  font-size: 16px;
  border-radius: 6px;
  margin-right: 20px;
}

#submit input.backbtn:hover {
  background: #333;
  color: #fff;
  cursor: pointer;
}

span.error {
  color: #ff0000;
  font-weight: bold;
  margin-left: 5px;
}

.contact-caption {
  text-align: center;
  margin-bottom: 32px;
}

/*----------

footer

---------*/

/* side-bnr */
.side-bnr {
  position: fixed;
  right: 0;
  top: 30%;
  z-index: 90;
}
.side-bnr ul li {
  margin-bottom: 10px;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.2rem;
}
.side-bnr ul li a {
  display: block;
  text-decoration: none;
  background-color: #00758b;
  color: #fff;
  background-image: url(../images/common/icon-mail.png);
  background-position: center 10px;
  background-repeat: no-repeat;
  padding: 34px 5px 10px;
}
@media all and (-ms-high-contrast: none) {
  .side-bnr ul li a {
    height: 111px;
  }
}
.side-bnr ul li a:hover {
  color: #000;
  background-color: #ffd000;
}

/* page-top */
#page-top {
  position: fixed;
  bottom: 3%;
  right: 2%;
  z-index: 900;
}
#page-top a {
  background: url(../images/common/img_pagetop.png) no-repeat center center;
  text-decoration: none;
  width: 50px;
  height: 55px;
  text-align: center;
  display: block;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
#page-top a:hover {
  background: url(../images/common/img_pagetop_hover.png) no-repeat center
    center;
}

.bnr-link {
  margin: 100px 0 60px;
}
.bnr-link ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.bnr-link ul:nth-of-type(n + 2) {
  margin-top: 24px;
}
.bnr-link ul li {
  margin: 0 5px;
}
.bnr-link ul li img {
  width: 100%;
}

.foot-info {
  margin-bottom: 45px;
  font-size: 1.2rem;
  display: flex;
}
.foot-info h2.foot-logo {
  width: 38%;
  margin: 0 30px 0 0;
}
.foot-info h2.foot-logo img {
  width: 100%;
}

.foot-info dl {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.foot-info dl dt {
  border: 1px solid #000;
  padding: 10px 5px;
  width: 200px;
  box-sizing: border-box;
  margin: 0 0;
  text-align: center;
}
.foot-info dl dd {
  width: 70%;
  margin-left: 2%;
}
.foot-info ul {
  display: flex;
  align-items: center;
}
.foot-info ul li a {
  color: #000;
  text-decoration: none;
  margin-right: 24px;
}
.foot-info ul li + li {
  margin-left: 1em;
}

.foot-link,
.foot-link .foot-nav nav,
.foot-link .foot-nav div.sns ul {
  display: flex;
  justify-content: space-between;
}
.foot-link .foot-nav div.sns ul {
  flex-wrap: wrap;
}
.foot-link .foot-bnr {
  width: 45%;
  margin-top: 50px;
}
.foot-link .foot-nav {
  width: 52%;
}
.foot-link .foot-nav nav ul {
  width: 48%;
}
.foot-link .foot-bnr ul li {
  margin-bottom: 24px;
}
.foot-link .foot-bnr ul li img {
  width: 100%;
}

.foot-link .foot-bnr ul.sns {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.foot-link .foot-bnr ul.sns li {
  width: 28%;
  margin: 0 4% 6%;
}

.foot-link .foot-nav nav {
  margin-bottom: 24px;
}
.foot-link .foot-nav nav ul li a {
  display: block;
  color: #000;
  text-decoration: none;
  margin-bottom: 10px;
}
.foot-link .foot-nav nav ul li a:hover {
  color: #007ab1;
}
.copy {
  margin-top: 32px;
  font-size: 0.8rem;
  letter-spacing: 0.2em;
  background-color: #007ab1;
  color: #fff;
  text-align: center;
  padding: 3% 0;
}

/*--common-*/
.di-fl {
  display: flex;
}
.ju-sp {
  justify-content: space-between;
}

.demo-img img {
  width: 100%;
}
.tac {
  text-align: center;
}

/*--Point bg-*/
.pagemain-text-point {
  width: 48%;
}
.pagemain.point01 {
  background-image: url(../images/page/reasons/compliance/bg-main.png);
}
.pagemain.point02 {
  background-image: url(../images/page/reasons/follow/bg-main.png);
}
.pagemain.point03 {
  background-image: url(../images/page/reasons/cost/bg-main.png);
}
.pagemain.point04 {
  background-image: url(../images/page/reasons/japan/bg-main.png);
}
.pagemain.point05 {
  background-image: url(../images/page/reasons/skill/bg-main.png);
}
.pagemain.point06 {
  background-image: url(../images/page/reasons/brand/bg-main.png);
}

/*--コンプライアンスの徹底--*/

h1.system-main-ttl {
  width: 100%;
  font-size: 1.4rem;
  position: relative;
  background-color: #007580;
  color: #fff;
  overflow: hidden;
  padding: 0.5em 1em;
  margin-bottom: 1em;
  box-sizing: border-box;
  letter-spacing: 0.1em;
}

h1.system-main-ttl:before {
  background-color: rgba(245, 241, 231, 1);
  content: "";
  display: block;
  transform: rotate(-30deg);
  position: absolute;
  bottom: -30px;
  right: -175px;
  width: 200px;
  height: 200px;
}

.point-n {
  width: 120px;
  text-align: center;
  background-color: #0086a2;
  color: #fff;
  font-size: 1.1rem;
  letter-spacing: 0.1rem;
  display: block;
  padding: 5px 0;
  margin-bottom: 15px;
}

.pagemain-text01 {
  font-size: 1.2rem !important;
  margin-bottom: 15px;
}

.pagemain-text-point p {
  font-size: 0.9rem;
}

.point-area {
}

.point-area p {
  padding-top: 5em;
  width: 40%;
}

.point-area div {
  width: 60%;
}
.point-area div img,
.arrow img {
  width: 100%;
}

.arrow {
  width: 10%;
  margin: 3em auto;
}

p.ttl-point {
  margin: 0 auto 1em;
  text-align: center;
  font-size: 1.4rem;
}

p.border {
  width: 70%;
  padding: 0.5em 0;
  border-radius: 20px;
  border: solid 1px #007580;
}

p.ttl-point span {
  padding: 1em 2em;
  border-radius: 20px;
  border: solid 1px #007580;
}
p.ttl-point span.noline {
  padding: 0;
  border-radius: 0;
  border: none;
}
p.ttl-point .fz_s {
  font-size: 0.9rem;
  display: block;
  margin-top: -0.3rem;
}

h2.ttl-page {
  text-align: center;
  font-size: 1.2rem;
  margin-bottom: 0;
}

p.txt-point {
  text-align: center;
  font-size: 1rem;
  margin-bottom: 2em;
}

ul.point-list {
  flex-wrap: wrap;
}

ul.point-list li {
  width: 49%;
  padding: 2em;
  margin-bottom: 1em;
  box-sizing: border-box;
  border: solid 1px #007580;
}

ul.point-list li dl {
  border-bottom: solid 1px #007580;
  margin-bottom: 2em;
}

ul.point-list li dl dt {
  width: 24%;
}
ul.point-list li img {
  width: 100%;
}

ul.point-list li dl dd {
  width: 70%;
  line-height: 2;
  letter-spacing: 0.1em;
}

ul.point-list li dl dd h2 {
  font-size: 1.2rem;
  letter-spacing: 0.1em;
}

ul.point-list li p {
  padding: 0;
  font-size: 0.9rem;
  width: 100%;
}

ul.point-list li p span {
  display: block;
  padding: 2em 0 0;
  font-size: 0.8rem;
}

p.txt-001 {
  font-size: 0.8rem;
}

.li-90 {
  line-height: 90px !important;
}

ul.point-list li h3 {
}

ul.point-list li h3 {
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  font-size: 1.2rem;
  margin: 1em 0 0.5em;
}

ul.point-list li h3::after {
  border-top: 1px solid;
  content: "";
  width: 60%;
  box-sizing: border-box;
}

ul.point-list li h3::after {
  margin-left: 1.2rem;
}

ul.point-list li ol {
  width: 49%;
  float: left;
}

ul.point-list li ol li {
  width: 100%;
  border: none;
  padding: 0;
  margin: 0;
}

ul.point-list li ol.fl-right {
  float: right;
}

ul.point-list li.wi100 {
  width: 100% !important;
}
ul.point-list li.last dl dt {
  width: 10%;
}
ul.point-list li.last img {
  width: 100%;
}
ul.point-list li.last dl dd {
  width: 86%;
}
ol.wi100 {
  width: 100% !important;
}

ul.point-list li.last {
  position: relative;
}

ul.point-list li.last ol.tool {
  position: absolute;
  top: 20%;
  right: 4%;
  text-align: right;
  width: 40%;
  float: none;
}

ul.point-list li.last ol.tool li {
  width: 26%;
  float: left;
  margin-left: 2em;
}

ul.point-list li.last ol.tool li:last-child {
  width: 46%;
  margin-top: -0.5em;
}

.mb-2 {
  margin-bottom: 2em !important;
}

.point-japan {
  width: 100%;
  margin: 3em auto 0;
}

.point-japan img,
.arrow-01 img,
.cost-list-img img {
  width: 100%;
}

h3.point-japan-ttl {
  width: 70%;
  margin: -10% auto 5em;
  background-color: #00457c;
  padding: 0.5em 0;
  color: #fff;
  font-size: 1.4rem;
  text-align: center;
  border-radius: 20px;
  letter-spacing: 0.1em;
  position: relative;
  z-index: 10;
}

h3.cost-ttl {
  padding: 1em 0;
  background-color: #007580;
  text-align: center;
  font-size: 1.4rem;
  color: #fff;
  letter-spacing: 0.1em;
}

h3.cost-ttl span {
  padding-bottom: 10px;
  color: #ffea00;
  text-decoration: underline;
}

.arrow-01 {
  width: 20%;
  margin: 0 auto;
}

ul.cost-list {
  margin: 2em 0 5em;
  flex-wrap: wrap;
}

ul.cost-list li {
  width: 32%;
  padding: 1em 1em 2em;
  margin: 0 0 1em;
  box-sizing: border-box;
  border: solid 1px #007580;
}

ul.cost-list li h3 {
  text-align: center;
  background-color: #007580;
  color: #fff;
  padding: 0.5em 0;
}

ul.cost-list li p {
  text-align: center;
  line-height: 2;
}

p.cost-txt {
  text-align: center;
  font-size: 1.2rem;
}

.cost-area {
  overflow: hidden;
  padding: 1em;
  border: solid 1px #007580;
  box-sizing: border-box;
}

.cost-area ul {
  float: left;
  margin: 0 1em;
}

.cost-area ul li {
  font-size: 1.2rem;
}
.step-area ul {
  margin-bottom: 5em;
}
.step-area ul li {
  width: 28%;
}

.step-area ul li dl.step-n {
  margin-bottom: 1em;
}
.step-area ul li dl.step-n dt {
  width: 24%;
}

.step-box-img img,
.step-area ul li.arrow img,
.step-area ul li dl.step-n dt img {
  width: 100%;
}
.step-area ul li dl.step-n dd {
  margin-left: 1em;
  font-size: 1.3rem;
  padding-top: 0.5em;
}

.step-box {
  min-height: 450px;
  padding: 1em 1em;
  border: solid 1px #007580;
  box-sizing: border-box;
}

.step-box h3 {
  text-align: center;
  font-size: 1.2rem;
  line-height: 2;
  box-sizing: border-box;
  min-height: 80px;
}

.step-area ul li.arrow {
  width: 3%;
  padding-top: 15em;
}

.pt-2 {
  padding-top: 1.4em;
}

dl.period-area {
  border-bottom: solid 1px #007580;
  padding-bottom: 1em;
  margin-bottom: 1em;
}

dl.period-area dt {
  width: 40%;
  text-align: center;
  border-radius: 10px;
  background-color: #e1a800;
  color: #fff;
  margin-right: 1em;
}

dl.period-area dd {
}

.step-box hr {
  border: none;
  border-bottom: solid 1px #007580;
  padding-bottom: 1.4em;
  margin-bottom: 1em;
}

.step-box ol {
  margin-top: 1em;
}
.step-box ol li {
  font-size: 0.6rem;
  width: 100%;
}

.step-box ol li span {
  display: block;
}

p.step-box-txt {
  font-size: 0.8rem;
  text-align: center;
  margin-bottom: 1em;
}

/*----------

coming soon

---------*/

.article-coming {
  margin: 70px auto;
}
