@charset "utf-8";

@import url("header.css");
@import url("nav.css");
@import url("footer.css");

@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Istok+Web&display=swap');
/*
body * { border:0.02px solid #000000; background:rgba(000,000,000,0.1)}
*/

html,
body {
 width: 100%;
 font-size: 62.5%;
 color: #2C3232;
 background-color: #DFEFED;
}

html {}

body {}

#wrap {
 width: 100%;
 /*overflow: hidden;*/
 min-width: 1024px !important;
}

.showPc {}

.showSp {
 display: none;
}

@media only screen and (max-width:1024px) {

 html,
 body {}
}

@media only screen and (max-width:640px) {

 html,
 body {
  width: 640px;
  min-width: 640px;
  /*font-size: 106.67%;*/
  font-size: 88%;
 }

 #wrap {
  width: 640px !important;
  min-width: 640px !important;
  overflow-x: hidden !important;
 }

 .showPc {
  display: none !important;
 }

 .showSp {
  display: block;
 }
}


/* --------------------------------------------

変数設定

---------------------------------------------- */
:root {}


/* --------------------------------------------

fonts

---------------------------------------------- */
body,
input,
select,
select option,
textarea,
h1,
h2,
h3,
h4,
h5,
h6 {
 font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
 font-weight: 500;
 font-optical-sizing: auto;
 font-style: normal;
 font-size: 1.8rem;
 line-height: 1.4;
 letter-spacing: 0.025em;
}

body,
input,
select,
select option,
textarea,
table,
th,
td,
p {
 font-weight: 500;
 font-style: normal;
 font-feature-settings: "palt";
 text-align: justify;
 text-justify: inter-ideograph;
}

p {
 line-height: 2;
}

b,
strong {
 font-style: normal;
 font-weight: 700;
}

small {
 display: inline-block;
 font-size: 0.85em;
}

a {
 color: #333;
 text-decoration: none;
 transition: 0.3s;
}

a:hover {}

a img {}

a:hover img {}

p a {
 text-decoration: underline;
}

.bold {
 font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
 font-weight: bold;
}

/* セレクト時の色指定 */
::selection {
 background: #d6daea;
 color: #092c45;
}

::-moz-selection {
 background: #d6daea;
 /*Firefox*/
 color: #092c45;
}

.flex {
 display: flex;
 align-items: flex-start;
 justify-content: space-between;
 flex-wrap: wrap;
 margin: auto;
}




/* --------------------------------------------

font

---------------------------------------------- */
.ff-en {
 font-family: "Istok Web", serif;
 font-weight: 400 !important;
 font-style: normal;
}



/* --------------------------------------------

#main

---------------------------------------------- */
main {
 position: relative;
}

main.main-pages {}

.mainInner {
 min-height: 700px;
 margin: 192px 7% 128px;
 padding: 32px 7% 64px;
 word-break: break-all;
 background-color: #fff;
 border-radius: 10px;
 box-shadow: 0 0 20px rgba(47, 79, 73, 0.15);
}

@media only screen and (max-width:640px) {
 .mainInner {
  margin: 192px 3% 128px;
  padding: 32px 6% 32px;
 }
}



/* --------------------------------------------

.breadcrumb　パンくずリスト

---------------------------------------------- */
.breadcrumb {}

.breadcrumb__list {
 display: flex;
 justify-content: flex-start;
 margin-left: -7%;
}

.breadcrumb__list li {
 position: relative;
 padding: 0em 16px;
 font-size: 1.4rem;
 letter-spacing: 0.1em;
 white-space: nowrap;
}

.breadcrumb__list li:nth-last-child(1) {
 overflow-x: hidden;
 text-overflow: ellipsis;
}

.breadcrumb li a {
 display: block;
 text-decoration: underline;
 transition: 0.2s;
}

.breadcrumb li:hover a {
 color: #ADADAD;
}

.breadcrumb li a::after {
 content: "−";
 position: absolute;
 top: 6px;
 right: -0.5em;
 font-size: 0.8rem;
 border-bottom: none;
 transition: 0.2s;
}

.breadcrumb li:hover a::after {
 color: #ADADAD;
}

@media only screen and (max-width:1280px) {
 .breadcrumb {}
}

@media screen and (max-width:640px) {
 .breadcrumb__list {
  margin-left: -4%;
 }

 .breadcrumb li {
  font-size: 1.1rem;
 }
}



/* --------------------------------------------

下層ページヘッダー

---------------------------------------------- */
.pagesHeader {}

.pagesHeader.flex {
 justify-content: flex-start;
 width: 104%;
 margin: 64px -2%;
 padding: 0 0 32px;
 border-bottom: 1px solid #c7c7c7;
}

.pagesHeader figure {
 width: 80px;
 margin-right: 32px;
}

.pagesHeader h1 {
 width: calc(100% - 112px);
 letter-spacing: 0.12em;
 line-height: 1.6;
}

.pagesHeader em {
 font-size: 3.2rem;
}

.pagesHeader .ff-en {
 font-size: 1.6rem;
 color: #A8AAAA;
}

@media only screen and (max-width:640px) {
 .pagesHeader {}

 .pagesHeader.flex {
  margin: 16px -2% 32px;
  padding: 0 0 16px;
 }

 .pagesHeader figure {
  width: 90px;
  margin-right: 16px;
 }

 .pagesHeader h1 {
  width: calc(100% - 106px);
  margin-top: 6px;
  line-height: 1.2;
 }

 .pagesHeader em {
  display: inline-block;
  font-size: 2.2rem;
 }

 .pagesHeader .ff-en {
  font-size: 1.0rem;
 }
}



/* --------------------------------------------

link

---------------------------------------------- */
.btn {
 display: inline-block;
 width: 200px;
 padding: 20px 0;
 text-align: center;
 font-size: 1.3rem;
 line-height: 1.4;
 letter-spacing: 0.2em;
 color: #fff;
 background-color: #1E4D55;
 border: 1px solid #1E4D55;
 border-radius: 100px;
 transition: 0.3s;
}

.btn-w {
 position: relative;
 padding: 20px 32px 20px 20px;
 color: #5A5A5A;
 background-color: #fff;
 border: 1px solid #898C8C;
}

.btn-w::after {
 content: "";
 display: block;
 position: absolute;
 right: 12px;
 top: calc(50% - 11px);
 width: 22px;
 height: 22px;
 background-image: url(../_image/common/arrow.svg);
 background-repeat: no-repeat;
 background-size: cover;
}

.btn:hover {
 background-color: #086778;
 border: 1px solid #086778;
}

.btn-w:hover {
 background-color: #e8e8e8;
 border: 1px solid #c4c4c4;
}

.btn-jp {
 width: 300px;
 font-size: 1.6rem;
 letter-spacing: 0.05em;
}

.btn span {
 text-align: center;
}

.btn-small {
 line-height: 32px;
}

.link-text {
 text-decoration: underline;
 color: #959595;
}

@media only screen and (max-width:640px) {
 .btn {
  width: 80%;
  max-width: 460px;
  padding: 32px 0;
  font-size: 1.8rem;
 }

 .btn-w {
  padding: 32px 48px 32px 20px;
 }

 .btn-w::after {
  right: 18px;
  top: calc(50% - 12px);
  width: 32px;
  height: 32px;
 }

 .btn-small {
  padding: 12px 0;
  font-size: 1.4rem;
 }

}





/* --------------------------------------------

section

---------------------------------------------- */
.mainInner .section {
 margin: 96px 0 128px;
}

.mainInner .section p {
 font-size: 1.8rem;
}

.mainInner .section a:not(.btn) {
 text-decoration: underline;
 color: #919191;
}

.mainInner .section a[href*=".pdf"]::after,
.mainInner .section a[target="_blank"]::after {
 content: "";
 display: inline-block;
 width: 1.4em;
 height: 1.4em;
 vertical-align: middle;
 margin: -8px 0px 0 0;
 background-position: center;
 background-size: cover;
}

.mainInner .section a[target="_blank"]::after {
 background-image: url(../_image/common/icon-blank.svg);
}

.mainInner .section a[target="_blank"][href*=".pdf"]::after {
 background-image: url(../_image/common/icon-pdf.svg);
}

.mainInner .section a.btn-w[target="_blank"]::after {
 filter: invert(1);
}

.mainInner .section a.btn-w[target="_blank"][href*=".pdf"]::after {
 filter: invert(0);
}

@media only screen and (max-width:640px) {
 .mainInner .section {
  margin: 48px 0 96px;
 }

}



/* --------------------------------------------

見出し

---------------------------------------------- */
.mainInner .section .ttl-1 {
 padding: 0rem 12px;
 margin: 32px 0;
 font-size: 3.4rem;
 font-style: normal;
 font-weight: 600;
 color: #a8aaaa;
}

.mainInner .section .ttl-1::after {
 content: "";
 display: block;
 bottom: 0;
 left: 0;
 width: calc(100% + 24px);
 height: 4px;
 margin: 20px -12px 0;
 background: rgb(0, 125, 127);
 background: linear-gradient(-60deg, rgba(0, 125, 127, 1) 19%, rgba(33, 174, 161, 1) 100%);
}



.mainInner .section .ttl-2 {
 padding: 16px;
 margin: 24px 0;
 font-size: 2.2rem;
 font-style: normal;
 font-weight: 600;
 color: #5F6464;
 background-color: #C2E6E5;
}

.mainInner .section .ttl-3 {
 position: relative;
 padding: 0 1rem 1rem;
 margin: 24px 0;
 font-size: 2.2rem;
 font-style: normal;
 font-weight: 600;
 color: #5F6464;
 border-bottom: 3px solid #d9ebe4;
}

.mainInner .section .ttl-3::before {
 content: "";
 display: block;
 position: absolute;
 bottom: -3px;
 left: 0;
 width: 30%;
 height: 3px;
 background: #009693;
}

.mainInner .section .ttl-4 {
 margin: 24px 0;
 font-size: 2rem;
 font-style: normal;
 font-weight: 600;
 color: #5F6464;
}

.mainInner .section .ttl-4::before {
 content: "";
 display: inline-block;
 width: 4px;
 height: 3rem;
 margin: -0.5rem 1.3rem 0 0;
 vertical-align: middle;
 background-color: #009693;
}

.mainInner .section .ttl-5 {
 margin: 24px 0;
 font-size: 1.8rem;
 font-style: normal;
 font-weight: 600;
 color: #009693;
}

.mainInner .section .ttl-5::before {
 content: "";
 display: inline-block;
 width: 1.0rem;
 height: 1.0rem;
 margin: -0.5rem 1rem 0 0;
 vertical-align: middle;
 background-color: #009693;
 border: 4px solid #d9ebe4;
 border-radius: 50%;
}

.mainInner .section .ttl-6 {
 margin: 24px 0;
 font-size: 1.8rem;
 font-style: normal;
 font-weight: 600;
 color: #009693;
}

.mainInner .section .ttl-6::before {
 content: "";
 display: inline-block;
 width: 1.5rem;
 height: 2px;
 margin: -0.3rem 0.8rem 0 0;
 vertical-align: middle;
 background: #009693;
}


@media only screen and (max-width:640px) {

 .mainInner .section .ttl-1 {
  margin: 24px 0;
  font-size: 2.6rem;
 }

 .mainInner .section .ttl-2 {
  font-size: 2.2rem;
 }

 .mainInner .section .ttl-3 {
  font-size: 2rem;
 }

 .mainInner .section .ttl-4 {
  font-size: 2rem;
 }

 .mainInner .section .ttl-5 {
  font-size: 2rem;
 }

 .mainInner .section .ttl-6 {
  font-size: 2rem;
 }
}






/* --------------------------------------------

figure

---------------------------------------------- */
.section_figure {
 max-width: 1200px;
 width: 96%;
 margin: 24px auto;
}

.section_figure figcaption {
 margin: 12px 0;
 text-align: center;
 font-size: 1.4rem;
}


@media only screen and (max-width:640px) {
 .section_figure {}
}


/* --------------------------------------------

table

---------------------------------------------- */
.section_table {
 min-width: 100%;
 margin: 24px 0;
 border-collapse: collapse;
 border: #c8c8c8 0px solid;
}

.section_table p {}

.section_table tbody {
 min-width: 100%;
}

.section_table th,
.section_table td {
 padding: 24px 24px;
 border: #c8c8c8 1px solid;
 vertical-align: middle;
 font-size: 1.8rem;
 line-height: 1.8;
 /*text-align: justify;*/
}

.section_table thead th,
.section_table thead td {}


.section_table th {
 font-weight: 600;
 min-width: 160px;
}

.section_table th,
.section_table tbody tr th {
 background: #e3eaea;
}


@media only screen and (max-width:640px) {
 .section_table {
  min-width: none;
  max-width: 100%;
 }

 .section_table col {
  width: auto !important;
 }

 .section_table th,
 .section_table td {
  width: auto !important;
  padding: 24px 16px;
  line-height: 1.6;
 }

 .section_table th {
  min-width: 5em;
 }

}





/* --------------------------------------------

ul

---------------------------------------------- */
.section_ul {
 position: relative;
}

.section_ul ul {
 margin: 0;
 padding: 0;
}

.section_ul li {
 margin: 12px 0;
 padding-left: 24px;
 font-size: 1.8rem;
 line-height: 1.8;
 text-align: justify;
}

.section_ul li::before {
 content: "";
 display: inline-block;
 width: 0.8rem;
 height: 0.8rem;
 margin: -0.1em 0.4em 0 -1em;
 vertical-align: middle;
 background: #009693;
 border-radius: 50%;
}


@media only screen and (max-width:640px) {
 .section_ul li {
  line-height: 1.6;
 }
}




/* --------------------------------------------

ol

---------------------------------------------- */
.section_ol {
 position: relative;
 counter-reset: num;
 list-style-type: none !important;
}

.section_ol li {
 position: relative;
 padding: 0.3rem 0 0.3rem 1.5em;
 font-size: 1.8rem;
 line-height: 1.8;
 text-align: justify;
}

.section_ol li strong {
 color: #8b9682;
}

.section_ol li::before {
 counter-increment: num;
 content: counter(num);
 display: inline-block;
 width: 1.4em;
 height: 1.4em;
 margin: -0.2em 0.5em 0 -1.8em;
 vertical-align: middle;
 font-size: 1.6rem;
 line-height: 1.6;
 font-family: "Istok Web", serif;
 font-weight: 400 !important;
 font-style: normal;
 color: #FFF;
 background: #92a8a3;
 border-radius: 50%;
 text-align: center;
}

@media only screen and (max-width:640px) {
 .section_ol li {
  line-height: 1.6;
 }
}



/* --------------------------------------------

校正用　制作中ページ

---------------------------------------------- */
.pendPages {
 position: fixed;
 z-index: 1;
 top: 150px;
 right: 10%;
 width: 80%;
 font-size: 1.8rem;
 color: red;
 font-weight: 500;
 line-height: 50px;
 color: #fff;
 text-align: center;
 border: 2px solid #fff;
 background: rgba(255, 0, 0, 0.65);
 z-index: 10;
}

.pendImageWrap {
 position: relative;
 left: 50%;
 width: 1366px;
 margin-left: calc(-1366px / 2);
 height: 800px;
 overflow: scroll;
 overflow-y: scroll;
}

.pendImage {
 display: block;
 /*position: relative;
 left: 50%;
 width: 1366px;
 margin-left: calc(-1366px / 2);*/
}

.pendImage img {}

@media only screen and (max-width:640px) {
 .pendImage {
  /*width: 120vw;
  margin-left: -60vw;*/
 }
}
