@charset "UTF-8";

/* ======================================= */
/* インナーサイズの設定
/* ======================================= */
.inner {
  max-width: 1100px;
  margin: 0 auto;
}

.innerB {
  width: 960px;
  margin: 0 auto;
}

/* ======================================= */
/* マージン・パディング
/* ======================================= */
.pageContents section {
  padding: 60px 1rem 60px;
}

/*.pageContents section:last-of-type {
  padding: 80px 0 120px;
}*/
.pageContents section.bgClr {
  background: #F2FAFD;
}
.pageContents section .block {
  margin: 3rem 0;
}
.pageContents section h4, .pageContents section h5, .pageContents section h6, .pageContents section ul, .pageContents section ol, .pageContents section dl, .pageContents section table, .pageContents section p {
  margin: 25px 0;
}

/* ======================================= */
/* 基本設定　見出し・テキスト
/* ======================================= */
.pageContents h2 {
  text-align: left;
  font-weight: bold;
  font-size: 231%;
  color: #00a0de;
  margin: 0 0 50px;
}
.pageContents h3 {
/*  text-align: center;*/
  font-weight: bold;
  font-size: 200%;
  color: #00a0de;
  margin: 0 0 50px;
}
.pageContents h3 span {
  padding: 10px 2em;
  border: 2px solid #009FDE;
  border-radius: 50px;
  background: #FFF;
  text-align: center;
}
.pageContents h3.cloudBg {
  text-align: center;
  background-image: url("../../assets/img/common/cloud_bg.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  height: 85px;
  font-size: 200%;
  padding: 15px 0 0;
}
.pageContents h4 {
  color: #036fb8;
  font-weight: bold;
  font-size: 1.4rem;
}
.pageContents h5 {
  color: #00a0de;
  font-weight: bold;
  font-size: 1.2rem;
}
.pageContents h6 {
  font-weight: bold;
  font-size: 1.1rem;
}
.pageContents a {
  color: #026EB7;
  text-decoration: underline;
}
.pageContents a:hover {
  text-decoration: none;
}

.pageContents th a {
  color: #fff;
  text-decoration: underline;
}

.pageContents p {
  font-size: 100%;
}
.pageContents p.smallTxt {
  font-size: 12px;
}
.pageContents ol {
  margin: 20px 0;
  padding: 0 0 0 1.4em;
}
.pageContents ol li {
  list-style: decimal;
}
.pageContents hr {
  height: 1px;
border: none;
border-top: 1px dotted #00a0de;
margin: 1rem 0;
}
.pageContents dl dt {
  color: #00a0de;
}
.pageContents figure.largeImg {
  padding: 0 70px;
}
.pageContents table {
  width: 100%;
  background-color: #FFF;
}
.pageContents table tr th, .pageContents table tr td {
  border: 1px solid #e6ebec;
  padding: 14px;
  line-height: 1.2rem;
}
.pageContents table tr th {
  background: #009FDE;
  color: #fff;
  font-weight: bold;
}

.pageContents table tr:nth-of-type(odd) {
  background: #E5F5FC;
}
.pageContents p.btnTypeA.center,
.pageContents p.btnTypeB.center,
.pageContents p.btnTypeC.center {
  width: 30%;
  margin: 0 auto;
}
.pageContents p.btnTypeA a,
.pageContents p.btnTypeA2 a,
.pageContents p.btnTypeB a,
.pageContents p.btnTypeC a {
  text-decoration: none;
  padding: 14px 2em;
  text-align: center;
  border-radius: 50px;
  line-height: 1.4;
}
.pageContents p.btnTypeA a {
  margin: 20px 0 0;
  display: block;
  background: #00a0de;
  color: #FFF;
}
.pageContents p.btnTypeA a:hover {
  background: #036fb8;
}
.pageContents p.btnTypeB a {
  display: inline-block;
  border: 1px solid #00a0de;
}
.pageContents p.btnTypeB a:hover {
  background: #00a0de;
  color: #FFF;
}
.pageContents p.btnTypeC a {
  color: #00a0de;
  background: -webkit-linear-gradient(45deg, #00a0de 0%, #5427da 100%);
  margin: 20px 0 0;
  display: block;
  color: #FFF;
}
.pageContents p.btnTypeC a:hover {
  background: -webkit-linear-gradient(45deg, #5427da 0%, #00a0de 100%);
}

/* ============================================================== */
/* 各ブロックの設定
/* ============================================================== */

.pageContents ul {
  padding: 0 0 0 1.8em;
}
.pageContents ul li {
  list-style: disc;
  margin: 3px 0 0;
  position: relative;
}
.pageContents ul li:first-child {
  margin: 0;
}
.pageContents ul li ul {
  margin: 5px 0 15px 1.2em !important;
  padding: 0;
}
.pageContents ul li ul li {
  list-style: circle;
}
.pageContents ul li ul li::before {
  display: none;
}
.pageContents ul.smallList li {
  font-size: 85%;
}
.pageContents ul.typeB {
  padding: 0;
}
.pageContents ul.typeB li {
  list-style: none;
  padding: 0 0 0 1.8em;
  margin: 3px 0 0;
  position: relative;
}
.pageContents ul.typeB li::before {
  content: "●";
  display: block;
  position: absolute;
  top: 0;
  left: 5px;
}
.pageContents ul.typeB li ul {
  margin: 5px 0 15px 1.2em;
  padding: 0;
}
.pageContents ul.typeB li ul li {
  padding: 0;
  list-style: disc;
}
.pageContents ul.typeB li ul li::before {
  display: none;
}
.pageContents ul.typeC {
  padding: 0;
}
.pageContents ul.typeC li {
  list-style: none;
  padding: 0 0 0 1.8em;
  margin: 3px 0 0;
  position: relative;
}
.pageContents ul.typeC li::before {
  content: "■";
  color: #036fb8;
  display: block;
  position: absolute;
  top: 0;
  left: 5px;
}
.pageContents ul.typeC li ul {
  margin: 5px 0 15px 1.2em;
  padding: 0;
}
.pageContents ul.typeC li ul li {
  padding: 0;
  list-style: disc;
}
.pageContents ul.typeC li ul li::before {
  display: none;
}
.pageContents ul.typeD {
  padding: 0;
}
.pageContents ul.typeD li {
  list-style: none;
  padding: 0 0 0 1.8em;
  margin: 3px 0 0;
  position: relative;
}
.pageContents ul.typeD li::before {
  content: "※";
  display: block;
  position: absolute;
  top: 0;
  left: 5px;
}
.pageContents ul.typeD li ul {
  margin: 5px 0 15px 1.2em;
  padding: 0;
}
.pageContents ul.typeD li ul li {
  padding: 0;
  list-style: disc;
}
.pageContents ul.typeD li ul li::before {
  display: none;
}
.pageContents ul.typeE {
  width: 960px;
  margin: 30px auto;
  padding: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.pageContents ul.typeE li {
  width: 465px;
  margin: 10px 0 10px 30px;
  list-style: none;
}
.pageContents ul.typeE li:nth-child(odd) {
  margin: 10px 0;
}
.pageContents ul.typeE li a {
  color: #FFF;
  text-decoration: none;
  background: #00a0de;
  display: block;
  border-radius: 25px;
  padding: 12px 0;
  text-align: center;
}
.pageContents ul.typeE li a:hover {
  background: #036fb8;
}

/* ======================================= */
/* 1カラム
/* ======================================= */

.pageContents .col1TypeA {
  background: #F2FAFD;
  border-radius: 0 0 10px 10px;
}
.pageContents .col1TypeA p.boxTitle {
  font-size: 116%;
  background: #00a0de;
  font-weight: bold;
  color: #FFF;
  text-align: center;
  padding: 12px 0;
  border-radius: 10px 10px 0 0;
  margin: 0;
}
.pageContents .col1TypeA div.contWrap {
  padding: 40px;
}
.pageContents .col1TypeA div.contWrap h4 {
  margin: 0 0 20px;
  font-size: 124%;
}
.pageContents .col1TypeA div.contWrap p {
  margin: 10px 0;
}
.pageContents .col1TypeA div.contWrap figure {
  margin: 0 0 15px;
}
.pageContents .col1TypeA div.contWrap span {
  background: #00a0de;
  color: #FFF;
  padding: 5px 1em;
  display: inline-block;
}
.pageContents .col1TypeA div.contWrap ul {
  margin: 10px 0 20px;
}
.pageContents .col1TypeA div.contWrap dl {
  margin: 10px 0 20px;
}
.pageContents .col1TypeA div.contWrap dl dt {
  margin: 20px 0 0;
}
.pageContents .col1TypeA div.contWrap dl dt:first-of-type {
  margin: 0;
}
.pageContents .col1TypeA div.contWrap div.row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.pageContents .col1TypeA div.contWrap div.row div {
  width: 45%;
  margin: 15px 0 15px 5%;
}
.pageContents .col1TypeA div.contWrap div.row div:nth-child(2n+1) {
  margin: 15px 0;
}
.pageContents .col1TypeA div.contWrap div.row div figure {
  margin: 0 0 15px;
}
.pageContents .col1TypeA div.contWrap div.row div p {
  text-align: center;
}

/* ======================================= */
/* 2カラム
/* ======================================= */

.pageContents .videoBlock {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
 /* -ms-flex-direction: row-reverse;
      flex-direction: row-reverse;*/
}
.pageContents .videoBlock div {
  width: 50%;
  padding: 0 4% 0 0;
}
.pageContents .videoBlock div:first-of-type {
  padding: 0;
  width: 50%;
}
.pageContents .videoBlock div p {
  margin: 20px 0 0;
}
.pageContents .videoBlock div p:first-of-type {
  margin: 0;
}
.pageContents .col2TypeA {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-direction: row-reverse;
      flex-direction: row-reverse;
}
.pageContents .col2TypeA figure {
  width: 50%;
}
.pageContents .col2TypeA div {
  width: 50%;
  padding: 0 4% 0 0;
}
.pageContents .col2TypeA div h4 {
  margin: 0;
}
.pageContents .col2TypeA div p {
 /* margin: 20px 0 0;*/
}
.pageContents .col2TypeB_A {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.pageContents .col2TypeB_A div.colBox {
  width: 48%;
  margin: 0 0 30px 2%;
  background: #F2FAFD;
  border-radius: 0 0 10px 10px;
}
.pageContents .col2TypeB_A div.colBox .boxTitle {
  font-size: 1.3rem;
  background: #00a0de;
  font-weight: bold;
  color: #FFF;
  text-align: center;
  padding: 12px 0;
  border-radius: 10px 10px 0 0;
  margin: 0;
}


.pageContents .col2TypeB_A div.colBox div.contWrap {
  padding: 40px;
}
.pageContents .col2TypeB_A div.colBox div.contWrap h4 {
  margin: 0 0 20px;
  font-size: 124%;
}
.pageContents .col2TypeB_A div.colBox div.contWrap p {
  margin: 10px 0;
}
.pageContents .col2TypeB_A div.colBox div.contWrap figure {
  margin: 0 0 15px;
}
.pageContents .col2TypeB_A div.colBox div.contWrap span {
  background: #00a0de;
  color: #FFF;
  padding: 5px 1em;
  display: inline-block;
}
.pageContents .col2TypeB_A div.colBox div.contWrap ul {
  margin: 10px 0 20px;
}
.pageContents .col2TypeB_A div.colBox div.contWrap dl {
  margin: 10px 0 20px;
}
.pageContents .col2TypeB_A div.colBox div.contWrap dl dt {
  margin: 20px 0 0;
}
.pageContents .col2TypeB_A div.colBox div.contWrap dl dt:first-of-type {
  margin: 0;
}
.pageContents .col2TypeB_A div.colBox div.contWrap div.row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.pageContents .col2TypeB_A div.colBox div.contWrap div.row div {
  width: 45%;
  margin: 15px 0 15px 5%;
}
.pageContents .col2TypeB_A div.colBox div.contWrap div.row div:nth-child(2n+1) {
  margin: 15px 0;
}
.pageContents .col2TypeB_A div.colBox div.contWrap div.row div figure {
  margin: 0 0 15px;
}
.pageContents .col2TypeB_A div.colBox div.contWrap div.row div p {
  text-align: center;
}
.pageContents .col2TypeB_A div.colBox:nth-child(2n+1) {
  margin: 0 0 30px;
}
.pageContents .col2TypeB_B {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.pageContents .col2TypeB_B div.colBox {
  width: 48%;
  margin: 0 0 30px 2%;
  background: #F2FAFD;
  border-radius: 0 0 10px 10px;
}
.pageContents .col2TypeB_B div.colBox p.boxTitle {
  font-size: 116%;
  background: #00a0de;
  font-weight: bold;
  color: #FFF;
  text-align: center;
  padding: 12px 0;
  border-radius: 10px 10px 0 0;
  margin: 0;
}
.pageContents .col2TypeB_B div.colBox div.contWrap {
  padding: 40px;
}
.pageContents .col2TypeB_B div.colBox div.contWrap h4 {
  margin: 0 0 20px;
  font-size: 124%;
}
.pageContents .col2TypeB_B div.colBox div.contWrap p {
  margin: 10px 0;
}
.pageContents .col2TypeB_B div.colBox div.contWrap figure {
  margin: 0 0 15px;
}
.pageContents .col2TypeB_B div.colBox div.contWrap span {
  background: #00a0de;
  color: #FFF;
  padding: 5px 1em;
  display: inline-block;
}
.pageContents .col2TypeB_B div.colBox div.contWrap ul {
  margin: 10px 0 20px;
}
.pageContents .col2TypeB_B div.colBox div.contWrap dl {
  margin: 10px 0 20px;
}
.pageContents .col2TypeB_B div.colBox div.contWrap dl dt {
  margin: 20px 0 0;
}
.pageContents .col2TypeB_B div.colBox div.contWrap dl dt:first-of-type {
  margin: 0;
}
.pageContents .col2TypeB_B div.colBox div.contWrap div.row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.pageContents .col2TypeB_B div.colBox div.contWrap div.row div {
  width: 45%;
  margin: 15px 0 15px 5%;
}
.pageContents .col2TypeB_B div.colBox div.contWrap div.row div:nth-child(2n+1) {
  margin: 15px 0;
}
.pageContents .col2TypeB_B div.colBox div.contWrap div.row div figure {
  margin: 0 0 15px;
}
.pageContents .col2TypeB_B div.colBox div.contWrap div.row div p {
  text-align: center;
}
.pageContents .col2TypeB_B div.colBox:nth-child(2n+1) {
  margin: 0 0 30px;
}
.pageContents .col2TypeC div {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: stretch;
      align-items: stretch;
  margin: 60px 0 0;
}
.pageContents .col2TypeC div:first-of-type {
  margin-top: 0;
}
.pageContents .col2TypeC div figure {
  width: 20%;
}
.pageContents .col2TypeC div div {
  display: block;
  -ms-flex-align: unset;
      align-items: unset;
  -ms-flex-pack: unset;
      justify-content: unset;
  width: 80%;
  padding: 0 0 0 4%;
  margin: 0;
}
.pageContents .col2TypeC div div p.numberTxt {
  font-size: 231%;
  font-weight: bold;
  color: #00a0de;
  margin: 0;
}
.pageContents .col2TypeC div div p.numberTxt span {
  vertical-align: top;
  display: inline-block;
  margin: 10px 0 0 20px;
  padding: 5px 20px;
  text-align: center;
  background-color: #00a0de;
  font-size: 55%;
  color: #fff;
  position: relative;
}
.pageContents .col2TypeC div div p.numberTxt span::after {
  content: "";
  display: block;
  border-left: 15px solid #00a0de;
  border-top: 21px solid transparent;
  border-bottom: 21px solid transparent;
  position: absolute;
  top: 0;
  right: -15px;
}
.pageContents .col2TypeC div div h4 {
  margin: 10px 0;
  font-size: 177%;
}
.pageContents .col2TypeC div div p {
  margin: 0;
}
.pageContents .col2TypeD {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.pageContents .col2TypeD div {
  width: 48%;
  margin: 0 0 30px 4%;
}
.pageContents .col2TypeD div:nth-child(2n+1) {
  margin: 0 0 30px;
}
.pageContents .col2TypeD div figure {
  margin: 0 0 15px;
}
.pageContents .col2TypeD div p {
  background: #00a0de;
  color: #FFF;
  border-radius: 10px;
  padding: 12px 0;
  text-align: center;
  margin: 0;
}
.pageContents .col2TypeE {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.pageContents .col2TypeE div {
  width: 49%;
  margin: 0 0 25px 2%;
  background: #FFF;
  border: 1px solid #00a0de;
  border-radius: 10px;
}
.pageContents .col2TypeE div:nth-child(2n+1) {
  margin: 0 0 25px;
}
.pageContents .col2TypeE div p {
  margin: 0;
  padding: 15px 1.4em;
}
.pageContents .col2TypeE div p:first-of-type {
  background: #00a0de;
  color: #FFF;
  border-radius: 8px 8px 0 0;
  text-align: center;
}

/* ======================================= */
/* 3カラム
/* ======================================= */

.pageContents .col3TypeA article {
  margin: 0;
}
.pageContents .col3TypeA article h4 {
  margin: 0 0 15px;
}
.pageContents .col3TypeA article .row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.pageContents .col3TypeA article .row > a {
  display: block;
  text-decoration: none;
  color: #4D4D4D;
  width: 32%;
  margin: 0 0 30px 2%;
  padding: 20px 20px 20px;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
  background: #FFF;
}
.pageContents .col3TypeA article .row > a:nth-child(3n+1) {
  margin: 0 0 30px;
}
.pageContents .col3TypeA article .row > a:hover {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
}
.pageContents .col3TypeA article .row a figure {
  margin: 0 0 20px;
  text-align: center;
}
.pageContents .col3TypeA article .row a div {
  width: 100%;
}
.pageContents .col3TypeA article .row a div p {
  margin: 0;
  font-size: 116%;
  font-weight: bold;
}
.pageContents .col3TypeA article .row a div p svg {
  font-size: 70%;
  margin: 0 0 0 1.4em;
  color: #999;
}
.pageContents .col3TypeA article .row a div p:first-of-type {
  font-weight: normal;
  border-bottom: 1px solid #CCCCCC;
  padding-bottom: 5px;
  font-size: 93%;
  margin-bottom: 10px;
}

.pageContents .col3TypeA article .row div.shadowbox {
  display: block;
  text-decoration: none;
  color: #4D4D4D;
  width: 32%;
  margin: 0 0 30px 2%;
  padding: 20px 20px 40px;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
  background: #FFF;
}

.pageContents .col3TypeA article .row div.shadowbox:nth-child(3n+1) {
  margin: 0 0 30px;
}

.pageContents .col3TypeA article .row div.shadowbox ul.typeC {
  margin: 1rem 0 0;
}

.pageContents .col3TypeA article .row div.shadowbox figure {
  margin: 0 0 20px;
  text-align: center;
}
.pageContents .col3TypeA article .row div.shadowbox div {
  width: 100%;
}
.pageContents .col3TypeA article .row div.shadowbox div p {
  margin: 0;
  font-size: 116%;
  font-weight: bold;
}
.pageContents .col3TypeA article .row div.shadowbox div p svg {
  font-size: 70%;
  margin: 0 0 0 1.4em;
  color: #999;
}
.pageContents .col3TypeA article .row div.shadowbox div p:first-of-type {
  font-weight: normal;
  border-bottom: 1px solid #CCCCCC;
  padding-bottom: 5px;
  font-size: 93%;
  margin-bottom: 10px;
}

.pageContents .col3TypeB {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.pageContents .col3TypeB div {
  width: 32%;
  margin: 0 0 30px 2%;
  background: #F2FAFD;
  border-radius: 20px;
  padding: 30px;
}
.pageContents .col3TypeB div:nth-child(3n+1) {
  margin: 0 0 30px;
}
.pageContents .col3TypeB div figure {
  width: 50%;
  margin: 0 auto 15px;
  text-align: center;
}
.pageContents .col3TypeB div div {
  width: 100%;
  margin: 0;
  background: none;
  border-radius: none;
  padding: 0;
}
.pageContents .col3TypeB div div h4 {
  margin: 0;
  text-align: center;
  font-size: 124%;
}
.pageContents .col3TypeB div div p {
  margin: 10px 0 0;
}
.pageContents .col3TypeC {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.pageContents .col3TypeC div {
  width: 30%;
  margin: 0 0 30px 5%;
}
.pageContents .col3TypeC div:nth-child(3n+1) {
  margin: 0 0 30px;
}
.pageContents .col3TypeC div figure {
  width: 75%;
  margin: 0 auto 15px;
}
.pageContents .col3TypeC div div {
  width: 100%;
  margin: 0;
  background: none;
  border-radius: none;
  padding: 0;
}
.pageContents .col3TypeC div div h4 {
  margin: 0;
  font-size: 124%;
}
.pageContents .col3TypeC div div p {
  margin: 10px 0 0;
}
.pageContents .col3TypeD {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.pageContents .col3TypeD p {
  width: 32%;
  background: #00a0de;
  color: #FFF;
  border-radius: 10px;
  padding: 12px 0;
  text-align: center;
  margin: 0 0 15px 2%;
}
.pageContents .col3TypeD p:nth-child(3n+1) {
  margin: 0 0 15px;
}

/* ======================================= */
/* 4カラム
/* ======================================= */
.pageContents .col4TypeA {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.pageContents .col4TypeA div {
  width: 24%;
  margin: 0 0 20px 1.3333%;
}
.pageContents .col4TypeA div:nth-of-type(4n+1) {
  margin: 0 0 20px;
}
.pageContents .col4TypeA div figure {
  margin: 0 0 10px;
}
.pageContents .col4TypeA div p {
  color: #036fb8;
  text-align: center;
  margin: 0;
}
.pageContents .col4TypeB {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.pageContents .col4TypeB div {
  width: 22%;
  margin: 0 0 20px 4%;
}
.pageContents .col4TypeB div:nth-of-type(4n+1) {
  margin: 0 0 20px;
}
.pageContents .col4TypeB div figure {
  width: 50%;
  margin: 0 auto 10px;
}
.pageContents .col4TypeB div p {
  background: #00a0de;
  border-radius: 10px;
  padding: 10px 0;
  color: #FFF;
  font-size: 85%;
  line-height: 1.4;
  text-align: center;
  margin: 0;
}

/* ======================================= */
/* テーブル
/* ======================================= */
.pageContents table.tableTypeA tr td {
  text-align: center;
}
.pageContents table.tableTypeA tr td:first-of-type {
  color: #FFF;
  font-weight: bold;
  text-align: left;
  background: #59C1EA;
}
.pageContents table.tableTypeA tr td:first-of-type span {
  font-size: 85%;
}
.pageContents table.tableTypeA tr:last-child {
  color: #fff;
}
.pageContents table.tableTypeA tr:last-child td {
  background: #99D9F2;
}
.pageContents table.tableTypeB tr td {
  text-align: left;
}
.pageContents table.tableTypeB tr td.bgClr {
  color: #FFF;
  background: #59C1EA;
  text-align: center;
}
.pageContents table.tableTypeB tr td ul {
  margin: 0;
}

/* ============================================================== */
/* 背景に色があったときの設定
/* ============================================================== */
.pageContents section.bgClr {
}
.pageContents section.bgClr .col1TypeA {
  background: #FFF;
}
.pageContents section.bgClr .col2TypeB_A div.colBox {
  background: #FFF;
}
.pageContents section.bgClr .col2TypeB_B div.colBox {
  background: #FFF;
}
.pageContents section.bgClr .col3TypeB div {
  background: #FFF;
}

/* ============================================================== */
/* その他
/* ============================================================== */
#ancNav {
  background: #00a0de;
  padding: 30px 0;
}
#ancNav .inner {
  width: auto;
  margin: 0 auto;
}
#ancNav .inner ul {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
}
#ancNav .inner ul li {
  margin: 7px 0.4em;
}
#ancNav .inner ul li a {
  font-size: 100%;
  color: #026EB7;
  text-decoration: none;
  display: inline-block;
  background: #FFF;
  padding: 6px 2.2em 6px 1em;
  border-radius: 25px;
  position: relative;
}
#ancNav .inner ul li a:hover {
  background: #036fb8;
  color: #FFF;
}

#ancNav .inner ul li a.active {
  background: #036fb8;
  color: #FFF;
}

#ancNav .inner ul li a::after {
  content: "▼";
  display: block;
  font-size: 70%;
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-55%);
}

#news h3 {
  font-family: "Roboto";
  font-size: 262%;
  color: #00a0de;
  letter-spacing: 0.1em;
  text-align: left;
  margin: 0 0 20px;
}
#news nav#categoryList {
  margin: 40px 0;
}
#news nav#categoryList ul {
  display: -ms-flexbox;
  display: flex;
  margin: 0;
  padding: 0;
}
#news nav#categoryList ul li {
  width: 12%;
  list-style: none;
  margin: 0;
}
#news nav#categoryList ul li.active a {
  color: #00a0de;
}
#news nav#categoryList ul li a {
  font-size: 85%;
  display: block;
  text-align: center;
  text-decoration: none;
  color: #999;
}
#news nav#categoryList ul li a:hover {
  color: #00a0de;
}
#news .newsList {
  margin: 0 0 70px;
}
#news .newsList a {
  color: #4D4D4D;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: justify;
      justify-content: space-between;
  border-bottom: 1px solid #BEBEBE;
  padding: 20px 1%;
  text-decoration: none;
  position: relative;
  transition: background-color 0.2s ease-in-out;
}
#news .newsList a:hover {
  background-color: #e7f1f7;
}
#news .newsList a:first-of-type {
  border-top: none;
}
#news .newsList a em {
  width: 8%;
  font-style: normal;
}
#news .newsList a span {
  width: 12%;
}
#news .newsList a span span {
  width: 120px;
  display: inline-block;
  text-align: center;
  font-size: 77%;
  padding: 8px 0;
  color: #FFF;
  background: #000;
}
#news .newsList a span span.catA {
  color: #4764ee;
  background: -webkit-linear-gradient(135deg, #4764ee 0%, #996ff7 100%);
  color: #FFF;
}
#news .newsList a span span.catB {
  background: #00a0de;
}
#news .newsList a span span.catC {
  background: #fe0000;
}
#news .newsList a span span.catD {
  background: #542689;
}
#news .newsList a p {
  width: 75%;
  padding: 0 2em 0 0;
  margin: 0;
}
#news .newsList a.new::after {
  content: "NEW";
  display: block;
  font-size: 70%;
  text-align: center;
  width: 45px;
  padding: 2px 0;
  background-color: #FF0000;
  color: #FFF;
  position: absolute;
  top: 20px;
  right: 1%;
}

#introSec article {
  padding: 60px 0;
}
#introSec article:nth-child(even) {
  background: #F2FAFD;
}
#introSec article:nth-child(even) .inner {
  -ms-flex-direction: row;
      flex-direction: row;
}
#introSec article:nth-child(even) .inner div {
  padding: 0 0 0 4%;
}
#introSec article .inner {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row-reverse;
      flex-direction: row-reverse;
  -ms-flex-align: center;
      align-items: center;
}
#introSec article .inner figure {
  width: 40%;
}
#introSec article .inner div {
  width: 60%;
  padding: 0 4% 0 0;
}
#introSec article .inner div h4 {
  margin: 0;
}
#introSec article .inner div p {
  margin: 20px 0 0;
}
#introSec article .inner div p.btnTypeB a {
  display: inline-block;
  text-decoration: none;
  border: 1px solid #00a0de;
  padding: 12px 2em;
  border-radius: 25px;
}
#introSec article .inner div p.btnTypeB a:hover {
  background: #00a0de;
  color: #FFF;
}

#infoDetail #entryHeader h3 {
  color: #00a0de;
  font-size: 154%;
  margin: 0 0 20px;
}
#infoDetail #entryHeader ul {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  padding: 0;
  margin: 0;
}
#infoDetail #entryHeader ul em {
  font-style: normal;
  margin: 0 2em 0 0;
}
#infoDetail #entryHeader ul span {
  display: inline-block;
  text-align: center;
  width: 90px;
  background: #000;
  font-size: 85%;
  padding: 3px;
}
#infoDetail #entryHeader ul span.catA {
  color: #4764ee;
  background: -webkit-linear-gradient(135deg, #4764ee 0%, #996ff7 100%);
  color: #FFF;
}
#infoDetail #entryHeader ul span.catB {
  background: #00a0de;
}
#infoDetail #entryHeader ul span.catC {
  background: #fe0000;
}
#infoDetail #entryHeader ul span.catD {
  background: #542689;
}
#infoDetail #entryBody {
  padding: 0 0 25px;
}

.tilestyle ul{
  display:flex;
  flex-wrap:wrap;
  justify-content:left;
}

.tilestyle li{
display: block;
width: 31%;
margin: 0 0 2% 2% !important;
padding: 20px 20px 20px;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
background: #FFF;
}

.tilestyle li:hover {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
}

.tilestyle li a{
    text-decoration: none;
    color: #4D4D4D;
  display:block;
}

/* ======================================= */
/* メディアクエリ
/* ======================================= */
@media screen and (max-width: 768px) {
  /* ======================================= */
  /* インナーサイズの設定
  /* ======================================= */
  .inner {
    width: 100%;
    margin: 0;
    padding: 0 5%;
  }

  .innerB {
    width: 100%;
    margin: 0;
    padding: 0 5%;
  }

  /* ======================================= */
  /* マージン・パディング
  /* ======================================= */
  .pageContents section {
    padding: 40px 0;
  }
  .pageContents section:last-of-type {
    padding: 20px 0 60px;
  }
  .pageContents section .block {
    margin: 15px 0;
  }
  .pageContents section h4, .pageContents section h5, .pageContents section h6, .pageContents section ul, .pageContents section ol, .pageContents section dl, .pageContents section table, .pageContents section p {
    margin: 15px 0;
  }

  /* ======================================= */
  /* 基本設定　見出し・テキスト
  /* ======================================= */
  .pageContents h2 {
    text-align: left;
    font-weight: bold;
    font-size: 177%;
    color: #00a0de;
    margin: 0 0 25px;
  }
  .pageContents h3 {
    font-size: 131%;
    margin: 0 0 25px;
  }
  .pageContents h3 span {
    display: block;
    padding: 5px 0.6em;
    border: none;
    border-left: 5px solid #00a0de;
    border-radius: 0;
    background: none;
    text-align: left;
  }
  .pageContents h3.cloudBg {
    text-align: center;
    background-image: url("../../../assets/img/common/cloud_bg.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center bottom;
    height: auto;
    font-size: 139%;
    line-height: 1.3;
    padding: 0px 2em 8px;
  }
  .pageContents h4 {
    font-size: 116%;
  }
  .pageContents h5 {
    font-size: 108%;
  }
  .pageContents h6 {
    font-size: 100%;
  }
  .pageContents p {
    font-size: 100%;
  }
  .pageContents p.smallTxt {
    font-size: 11px;
  }
  .pageContents ol {
    margin: 15px 0;
  }
  .pageContents figure.largeImg {
    padding: 0;
  }
  .pageContents table {
    width: 100%;
    background-color: #FFF;
  }
  .pageContents table tr th, .pageContents table tr td {
    border: 1px solid #e6ebec;
    padding: 14px;
  }
  .pageContents table tr th {
    background: #009FDE;
    color: #fff;
    font-weight: normal;
  }
  .pageContents table tr td {
    text-align: center;
  }
  .pageContents table tr:nth-of-type(odd) {
    background: #E5F5FC;
  }
  .pageContents p.btnTypeA.center,
  .pageContents p.btnTypeB.center,
  .pageContents p.btnTypeC.center {
    width: 100%;
    margin: 0;
  }
  .pageContents p.btnTypeA a,
  .pageContents p.btnTypeB a,
  .pageContents p.btnTypeC a {
    padding: 10px 2em;
    border-radius: 50px;
  }
  .pageContents p.btnTypeA a {
    margin: 15px 0 0;
  }
  .pageContents p.btnTypeB a {
    display: block;
  }
  .pageContents p.btnTypeC a {
    margin: 15px 0 0;
  }

  /* ============================================================== */
  /* 各ブロックの設定
  /* ============================================================== */

  /* ======================================= */
  /* リスト
  /* ======================================= */
  .pageContents ul.smallList li {
    font-size: 85%;
  }
  .pageContents ul.typeE {
    width: 100%;
    margin: 15px 0;
  }
  .pageContents ul.typeE li {
    width: 100%;
    margin: 10px 0 0;
    list-style: none;
  }
  .pageContents ul.typeE li:nth-child(odd) {
    margin: 10px 0 0;
  }

  /* ======================================= */
  /* 1カラム
  /* ======================================= */

  .pageContents .col1TypeA p.boxTitle {
    font-size: 100%;
    padding: 12px 1em;
  }
  .pageContents .col1TypeA div.contWrap {
    padding: 20px;
  }
  .pageContents .col1TypeA div.contWrap h4 {
    margin: 0 0 10px;
    font-size: 116%;
  }
  .pageContents .col1TypeA div.contWrap p {
    margin: 10px 0;
  }
  .pageContents .col1TypeA div.contWrap figure {
    margin: 0 0 10px;
  }
  .pageContents .col1TypeA div.contWrap span {
    padding: 3px 0.8em;
  }
  .pageContents .col1TypeA div.contWrap ul {
    margin: 10px 0;
  }
  .pageContents .col1TypeA div.contWrap dl {
    margin: 10px 0;
  }
  .pageContents .col1TypeA div.contWrap dl dt {
    margin: 10px 0 0;
  }
  .pageContents .col1TypeA div.contWrap div.row {
    display: block;
    -ms-flex-wrap: unset;
        flex-wrap: unset;
  }
  .pageContents .col1TypeA div.contWrap div.row div {
    width: 100%;
    margin: 10px 0 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-align: center;
        align-items: center;
  }
  .pageContents .col1TypeA div.contWrap div.row div:nth-child(2n+1) {
    margin: 10px 0 0;
  }
  .pageContents .col1TypeA div.contWrap div.row div:nth-child(1) {
    margin: 0;
  }
  .pageContents .col1TypeA div.contWrap div.row div figure {
    width: 40%;
    margin: 0;
  }
  .pageContents .col1TypeA div.contWrap div.row div p {
    width: 60%;
    text-align: left;
    padding: 0 0 0 4%;
    margin: 0;
  }

  /* ======================================= */
  /* 2カラム
  /* ======================================= */
  .pageContents .videoBlock {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-direction: row;
        flex-direction: row;
  }
  .pageContents .videoBlock div {
    width: 100%;
    padding: 0;
  }
  .pageContents .videoBlock div:first-of-type {
    padding: 0;
    width: 100%;
    margin: 0 0 10px;
  }
  .pageContents .videoBlock div p {
    margin: 15px 0 0;
  }
  .pageContents .videoBlock div p:first-of-type {
    margin: 0;
  }
  .pageContents .col2TypeA {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-align: stretch;
        align-items: stretch;
    -ms-flex-direction: row;
        flex-direction: row;
  }
  .pageContents .col2TypeA figure {
    width: 100%;
    margin: 0 0 10px;
  }
  .pageContents .col2TypeA div {
    width: 100%;
    padding: 0;
  }
  .pageContents .col2TypeA div h4 {
    margin: 0;
  }
  .pageContents .col2TypeA div p {
    margin: 10px 0 0;
  }
  .pageContents .col2TypeB_A {
    display: block;
    -ms-flex-wrap: unset;
        flex-wrap: unset;
  }
  .pageContents .col2TypeB_A div.colBox {
    width: 100%;
    margin: 15px 0 0;
  }
  .pageContents .col2TypeB_A div.colBox p.boxTitle {
    font-size: 100%;
    padding: 12px 1em;
  }
  .pageContents .col2TypeB_A div.colBox div.contWrap {
    padding: 20px;
  }
  .pageContents .col2TypeB_A div.colBox div.contWrap h4 {
    margin: 0 0 10px;
    font-size: 116%;
  }
  .pageContents .col2TypeB_A div.colBox div.contWrap p {
    margin: 10px 0;
  }
  .pageContents .col2TypeB_A div.colBox div.contWrap figure {
    margin: 0 0 10px;
  }
  .pageContents .col2TypeB_A div.colBox div.contWrap span {
    padding: 3px 0.8em;
  }
  .pageContents .col2TypeB_A div.colBox div.contWrap ul {
    margin: 10px 0;
  }
  .pageContents .col2TypeB_A div.colBox div.contWrap dl {
    margin: 10px 0;
  }
  .pageContents .col2TypeB_A div.colBox div.contWrap dl dt {
    margin: 10px 0 0;
  }
  .pageContents .col2TypeB_A div.colBox div.contWrap div.row {
    display: block;
    -ms-flex-wrap: unset;
        flex-wrap: unset;
  }
  .pageContents .col2TypeB_A div.colBox div.contWrap div.row div {
    width: 100%;
    margin: 10px 0 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-align: center;
        align-items: center;
  }
  .pageContents .col2TypeB_A div.colBox div.contWrap div.row div:nth-child(2n+1) {
    margin: 10px 0 0;
  }
  .pageContents .col2TypeB_A div.colBox div.contWrap div.row div:nth-child(1) {
    margin: 0;
  }
  .pageContents .col2TypeB_A div.colBox div.contWrap div.row div figure {
    width: 40%;
    margin: 0;
  }
  .pageContents .col2TypeB_A div.colBox div.contWrap div.row div p {
    width: 60%;
    text-align: left;
    padding: 0 0 0 4%;
    margin: 0;
  }
  .pageContents .col2TypeB_A div.colBox:nth-child(2n+1) {
    margin: 15px 0 0;
  }
  .pageContents .col2TypeB_A div.colBox:nth-child(1) {
    margin: 0;
  }
  .pageContents .col2TypeB_B {
    display: block;
    -ms-flex-wrap: unset;
        flex-wrap: unset;
  }
  .pageContents .col2TypeB_B div.colBox {
    width: 100%;
    margin: 15px 0 0;
  }
  .pageContents .col2TypeB_B div.colBox p.boxTitle {
    font-size: 100%;
    padding: 12px 1em;
  }
  .pageContents .col2TypeB_B div.colBox div.contWrap {
    padding: 20px;
  }
  .pageContents .col2TypeB_B div.colBox div.contWrap h4 {
    margin: 0 0 10px;
    font-size: 116%;
  }
  .pageContents .col2TypeB_B div.colBox div.contWrap p {
    margin: 10px 0;
  }
  .pageContents .col2TypeB_B div.colBox div.contWrap figure {
    margin: 0 0 10px;
  }
  .pageContents .col2TypeB_B div.colBox div.contWrap span {
    padding: 3px 0.8em;
  }
  .pageContents .col2TypeB_B div.colBox div.contWrap ul {
    margin: 10px 0;
  }
  .pageContents .col2TypeB_B div.colBox div.contWrap dl {
    margin: 10px 0;
  }
  .pageContents .col2TypeB_B div.colBox div.contWrap dl dt {
    margin: 10px 0 0;
  }
  .pageContents .col2TypeB_B div.colBox div.contWrap div.row {
    display: block;
    -ms-flex-wrap: unset;
        flex-wrap: unset;
  }
  .pageContents .col2TypeB_B div.colBox div.contWrap div.row div {
    width: 100%;
    margin: 10px 0 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-align: center;
        align-items: center;
  }
  .pageContents .col2TypeB_B div.colBox div.contWrap div.row div:nth-child(2n+1) {
    margin: 10px 0 0;
  }
  .pageContents .col2TypeB_B div.colBox div.contWrap div.row div:nth-child(1) {
    margin: 0;
  }
  .pageContents .col2TypeB_B div.colBox div.contWrap div.row div figure {
    width: 40%;
    margin: 0;
  }
  .pageContents .col2TypeB_B div.colBox div.contWrap div.row div p {
    width: 60%;
    text-align: left;
    padding: 0 0 0 4%;
    margin: 0;
  }
  .pageContents .col2TypeB_B div.colBox:nth-child(2n+1) {
    margin: 15px 0 0;
  }
  .pageContents .col2TypeB_B div.colBox:nth-child(1) {
    margin: 0;
  }
  .pageContents .col2TypeC div {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-align: stretch;
        align-items: stretch;
    margin: 25px 0 0;
  }
  .pageContents .col2TypeC div:first-of-type {
    margin-top: 0;
  }
  .pageContents .col2TypeC div figure {
    width: 40%;
    margin: 0 auto 10px;
  }
  .pageContents .col2TypeC div div {
    width: 100%;
    padding: 0;
    margin: 0;
  }
  .pageContents .col2TypeC div div p.numberTxt {
    font-size: 177%;
  }
  .pageContents .col2TypeC div div p.numberTxt span {
    vertical-align: top;
    margin: 10px 0 0 10px;
    padding: 5px 15px;
    font-size: 12px;
  }
  .pageContents .col2TypeC div div p.numberTxt span::after {
    border-left: 10px solid #00a0de;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
    right: -10px;
  }
  .pageContents .col2TypeC div div h4 {
    margin: 8px 0;
    font-size: 116%;
  }
  .pageContents .col2TypeC div div p {
    margin: 0;
  }
  .pageContents .col2TypeD {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .pageContents .col2TypeD div {
    width: 100%;
    margin: 15px 0 0;
  }
  .pageContents .col2TypeD div:nth-child(2n+1) {
    margin: 15px 0 0;
  }
  .pageContents .col2TypeD div:nth-child(1) {
    margin: 0;
  }
  .pageContents .col2TypeD div figure {
    margin: 0 0 10px;
  }
  .pageContents .col2TypeD div p {
    padding: 12px 1em;
  }
  .pageContents .col2TypeE {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .pageContents .col2TypeE div {
    width: 100%;
    margin: 10px 0 0;
    border-radius: 10px;
  }
  .pageContents .col2TypeE div:nth-child(2n+1) {
    margin: 10px 0 0;
  }
  .pageContents .col2TypeE div:nth-child(1) {
    margin: 0;
  }
  .pageContents .col2TypeE div p {
    margin: 0;
    padding: 10px 1.2em;
  }
  .pageContents .col2TypeE div p:first-of-type {
    border-radius: 8px 8px 0 0;
    text-align: center;
  }

  /* ======================================= */
  /* 3カラム
  /* ======================================= */
  .pageContents .col3TypeA article {
    margin: 30px 0 0;
  }
  .pageContents .col3TypeA article:nth-child(1) {
    margin: 0;
  }
  .pageContents .col3TypeA article h4 {
    margin: 0 0 10px;
  }
  .pageContents .col3TypeA article .row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .pageContents .col3TypeA article .row a {
    width: 100%;
    display: -ms-flexbox;
    display: flex;
    margin: 15px 0 0;
    padding: 20px 10px;

  }
  .pageContents .col3TypeA article .row a:nth-child(3n+1) {
    margin: 15px 0 0;
  }
  .pageContents .col3TypeA article .row a:nth-child(1) {
    margin: 0;
    padding: 0;
  }
  .pageContents .col3TypeA article .row a:hover {
    box-shadow: none;
  }
  .pageContents .col3TypeA article .row a figure {
    width: 20%;
    margin: 0;
  }
  .pageContents .col3TypeA article .row a div {
    width: 80%;
    padding: 0 0 0 4%;
  }
  .pageContents .col3TypeA article .row a div p {
    margin: 0;
    font-size: 100%;
  }
  .pageContents .col3TypeA article .row a div p:first-of-type {
    padding-bottom: 3px;
    font-size: 85%;
    margin-bottom: 5px;
  }
  .pageContents .col3TypeA article .row div.shadowbox {
    width: 100%;
    display: -ms-flexbox;
    display: flex;
    margin: 15px 0 0;
    padding: 15px;
    background: none;

  }
  .pageContents .col3TypeA article .row div.shadowbox:nth-child(3n+1) {
    margin: 15px 0 0;
  }
  .pageContents .col3TypeA article .row div.shadowbox:nth-child(1) {
    margin: 0;
  }

  .pageContents .col3TypeA article .row div.shadowbox figure {
    width: 35%;
    margin: 0;
  }
  .pageContents .col3TypeA article .row div.shadowbox div {
    width: 65%;
    padding: 0 0 0 4%;
  }
  .pageContents .col3TypeA article .row div.shadowbox div p {
    margin: 0;
    font-size: 100%;
  }
  .pageContents .col3TypeA article .row div.shadowbox div p:first-of-type {
    padding-bottom: 3px;
    font-size: 85%;
    margin-bottom: 5px;
  }
  .pageContents .col3TypeB {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .pageContents .col3TypeB div {
    width: 46%;
    margin: 2% !important;
    border-radius: 10px;
    padding: 20px 2%;
  }

  
  .pageContents .col3TypeB div figure {
    margin: 0 auto 10px;
  }
  .pageContents .col3TypeB div div {
    width: 100%;
    margin: 0;
    background: none;
  }
  .pageContents .col3TypeB div div h4 {
    font-size: 116%;
  }
  .pageContents .col3TypeB div div h4 br {
    display: none;
  }
  .pageContents .col3TypeC {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .pageContents .col3TypeC div {
    width: 100% !important;
    margin: 15px 0 0;
  }
  .pageContents .col3TypeC div:nth-child(3n+1) {
    margin: 15px 0 0;
  }
  .pageContents .col3TypeC div:nth-child(1) {
    margin: 0;
  }
  .pageContents .col3TypeC div div {
    width: 100%;
    margin: 0;
    background: none;
    border-radius: none;
    padding: 0;
  }
  .pageContents .col3TypeC div div h4 {
    margin: 0;
    font-size: 116%;
  }
  .pageContents .col3TypeC div div p {
    margin: 10px 0 0;
  }
  .pageContents .col3TypeD {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .pageContents .col3TypeD p {
    width: 100%;
    padding: 12px 0;
    text-align: center;
    margin: 5px 0 0;
  }
  .pageContents .col3TypeD p:nth-child(3n+1) {
    margin: 5px 0 0;
  }
  .pageContents .col3TypeD p:nth-child(1) {
    margin: 0;
  }

  /* ======================================= */
  /* 4カラム
  /* ======================================= */
  .pageContents .col4TypeA {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .pageContents .col4TypeA div {
    width: 48%;
    margin: 0 0 15px 4%;
  }
  .pageContents .col4TypeA div:nth-of-type(4n+1) {
    margin: unset;
  }
  .pageContents .col4TypeA div:nth-of-type(2n+1) {
    margin: 0 0 15px;
  }
  .pageContents .col4TypeA div figure {
    margin: 0 0 5px;
  }
  .pageContents .col4TypeA div p {
    font-size: 85%;
  }
  .pageContents .col4TypeB {
    display: block;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .pageContents .col4TypeB div {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -ms-flex-align: center;
        align-items: center;
    width: 100%;
    margin: 0 0 15px;
  }
  .pageContents .col4TypeB div:nth-of-type(4n+1) {
    margin: unset;
  }
  .pageContents .col4TypeB div:nth-of-type(2n+1) {
    margin: 0 0 15px;
  }
  .pageContents .col4TypeB div figure {
    width: 30%;
    margin: 0;
  }
  .pageContents .col4TypeB div p {
    width: 70%;
    background: none;
    border-radius: none;
    padding: 0 0 0 4%;
    color: #00a0de;
    font-size: 85%;
    line-height: 1.4;
    text-align: left;
    margin: 0;
  }

  /* ======================================= */
  /* テーブル
  /* ======================================= */
  .pageContents table,
  .pageContents table.tableTypeA,
  .pageContents table.tableTypeB {
    white-space: nowrap;
  }
  .pageContents table.tableTypeA tr td:first-of-type {
    font-weight: normal;
  }

  /* ============================================================== */
  /* その他
  /* ============================================================== */
  #ancNav {
    padding: 15px 0;
  }
  #ancNav .inner,#ancNavSub .inner {
    width: 100%;
    margin: 0;
    padding: 0;
    overflow-x: scroll;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
  }
  #ancNav .inner ul {
    padding: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -ms-flex-pack: start;
        justify-content: flex-start;
  }
  #ancNav .inner ul li {
    margin: 1%;
    width: 31%;
  }
  #ancNav .inner ul li a,#ancNavSub .inner ul li a {
    display: block;
    white-space: nowrap;
    font-size: 85%;
    padding: 5px 2.2em 5px 1em;
    border-radius: 3px;
  }

  #news {
    padding: 20px 0 0;
  }
  #news.newsListPage {
    padding: 20px 0 40px;
  }
  #news h3 {
    font-size: 177%;
    margin: 0;
  }
  #news nav#categoryList {
    margin: 20px 0;
    overflow-x: scroll;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
  }
  #news nav#categoryList ul {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    margin: 0;
    padding: 0;
  }
  #news nav#categoryList ul li {
    width: auto;
    list-style: none;
    margin: 0 0 0 1em;
  }
  #news nav#categoryList ul li:first-child {
    margin: 0;
  }
  #news nav#categoryList ul li a {
    font-size: 77%;
    white-space: nowrap;
    text-align: left;
  }
  #news .newsList {
    margin: 0;
  }
  #news .newsList a {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: start;
        justify-content: flex-start;
    padding: 14px 2%;
    transition: none;
  }
  #news .newsList a em {
    font-size: 85%;
    width: 30%;
    font-style: normal;
  }
  #news .newsList a span {
    width: 30%;
  }
  #news .newsList a span span {
    width: 100px;
    font-size: 70%;
    padding: 3px 0;
  }
  #news .newsList a p {
    font-size: 85%;
    width: 100%;
    padding: 5px 0 0 0;
  }
  #news .newsList a.new::after {
    width: 40px;
    top: 14px;
    right: 1%;
  }

  #introSec article {
    padding: 20px 0;
  }
  #introSec article:nth-child(even) .inner {
    -ms-flex-direction: row;
        flex-direction: row;
  }
  #introSec article:nth-child(even) .inner div {
    padding: 0;
  }
  #introSec article .inner {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-align: stretch;
        align-items: stretch;
  }
  #introSec article .inner figure {
    width: 100%;
    margin: 0 0 10px;
  }
  #introSec article .inner div {
    width: 100%;
    padding: 0;
  }
  #introSec article .inner div h4 {
    margin: 0;
  }
  #introSec article .inner div h4 br {
    display: none;
  }
  #introSec article .inner div p {
    margin: 10px 0 0;
  }
  #introSec article .inner div p.btnTypeB a {
    display: block;
    width: 100%;
  }

  #infoDetail #entryHeader {
    margin: 0 0 30px;
  }
  #infoDetail #entryHeader h3 {
    font-size: 124%;
    margin: 0 0 10px;
    text-align: left;
  }
  #infoDetail #entryHeader ul em {
    font-size: 85%;
  }
  #infoDetail #entryHeader ul span {
    font-size: 77%;
  }
  #infoDetail #entryBody {
    padding: 0 0 10px;
  }
}
