@charset "utf-8";

/** ***************************************************************************
 * Ai-NET
 * ************************************************************************* */
section {
 overflow: hidden;
}

#faq h4 {
 font-weight: bold;
 font-size: 1.2em;
 margin-bottom: 1em;
}

p.caption {
 margin-bottom: 1em;
}

.help__list {
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 55px;
 margin-top: 30px;
}

.help__item {
 height: 230px;
 background: #f5f5f4;
 border-radius: 20px;
}

.help__item:hover {
 border: #00478d solid 10px;
 height: 210px;
}

.help__item a {
 display: block;
 display: flex;
 flex-direction: column;
 justify-content: center;
 align-items: center;
 width: 100%;
 height: 100%;
}

.help__title {
 font-size: 3em;
 text-align: center;
 color: #00478d;
 font-weight: bold;
 padding: 20px;
 line-height: 1.3em;
 border-bottom: none;
 border-left: none;
 margin-bottom: 0;
 position: relative;
}

.help__title::after {
 content: "";
 position: absolute;
 height: 3px;
 width: 90%;
 background-color: #00478d;
 bottom: 70px;
 left: 50%;
 border-radius: 1px;
 transform: translate(-50%, -50%);
 -webkit-transform: translate(-50%, -50%);
 -ms-transform: translate(-50%, -50%);
}

.help__title--04::after {
 bottom: 80px;
}

.help__prtitle {
 display: block;
 margin-bottom: 10px;
}

.help__subtitle {
 display: block;
 font-size: 1.2rem;
 color: #666666;
}

.help__subtitle--tenpo {
 line-height: 1.4;
 margin-top: 10px;
}

@media screen and (max-width: 767px) {
 .help__list {
  display: block;
  margin-top: 30px;
 }

 .help__item {
  height: 150px;
  background: #f5f5f4;
  border-radius: 20px;
  margin-bottom: 20px;
 }

 .help__title {
  font-size: 2em;
  text-align: center;
  color: #00478d;
  font-weight: bold;
  padding: 10px;
  line-height: 1.3em;
  border-bottom: none;
  border-left: none;
  position: relative;
 }

 .help__title::after {
  content: "";
  position: absolute;
  height: 3px;
  width: 90%;
  background-color: #00478d;
  bottom: 50px;
  left: 50%;
  border-radius: 1px;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
 }

 .help__title--04::after {
  display: none;
 }

 .help__prtitle {
  margin-bottom: 10px;
 }

 .help__prtitle--04 {
  position: relative;
  min-width: 340px;
 }

 .help__prtitle--04::after {
  content: "";
  position: absolute;
  height: 3px;
  width: 90%;
  background-color: #00478d;
  bottom: -5px;
  left: 50%;
  border-radius: 1px;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
 }

 .help__subtitle {
  font-size: 1rem;
 }
}

.cp_qa *,
.cp_qa *:after,
.cp_qa *:before {
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

.cp_qa .cp_actab {
 position: relative;
 overflow: hidden;
 width: 100%;
 margin: 0 0 20px 0;
}

.cp_qa .cp_actab input {
 position: absolute;
 opacity: 0;
}

/* 質問 */
.cp_qa .cp_actab label {
 font-weight: bold;
 line-height: 1.5em;
 position: relative;
 display: block;
 margin: 0 0 0 0;
 padding: 1em 3em 1em 3em;
 cursor: pointer;
 text-indent: 1em;
 background: rgba(0, 71, 141, 0.1);
 font-size: 1.1em;
}

@media screen and (max-width: 767px) {
 .cp_qa .cp_actab label {
  font-size: 14px;
 }
}

.cp_qa .cp_actab label::before {
 font-size: 1.5em;
 margin-left: -2em;
 padding-right: 0.5em;
 content: "Q.";
 color: #00478d;
 font-family: "Cabin", sans-serif;
}

.cp_qa .cp_actab label:hover {
 transition: all 0.3s;
}

/* --質問の＋アイコン */
.cp_qa .cp_actab label::after {
 font-size: 1.7em;
 font-weight: bold;
 line-height: 2em;
 position: absolute;
 top: 0;
 right: 0;
 font-family: "Font Awesome 5 Free";
 content: "\f107";
 display: inline-block;
 width: 2em;
 height: 2em;
 -webkit-transition: transform 0.4s;
 transition: transform 0.4s;
 color: #00478d;
}

/* 答え */
.cp_qa .cp_actab .cp_actab-content {
 position: relative;
 overflow: hidden;
 max-height: 0;
 padding: 0 0 0 3em;
 -webkit-transition: max-height 0.2s;
 transition: max-height 0.2s;
}

.cp_qa .cp_actab .cp_actab-content::before {
 font-family: "Cabin", sans-serif;
 color: #00478d;
 font-size: 1.5em;
 font-weight: bold;
 position: absolute;
 margin: 0.65em 0 0 -1em;
 padding: 0;
 content: "A.";
}

.cp_qa .cp_actab .cp_actab-content p {
 margin: 1em 1em 1em 0.5em;
}

.cp_qa .cp_actab .cp_actab-content ul {
 margin: 1em 1em 1em 2em;
 list-style: disc;
}

.cp_qa .cp_actab .cp_actab-content a {
 color: #00478d;
 text-decoration: underline;
}

/* 質問を開いた時の仕様 */
/* --答えの高さ */
.cp_qa .cp_actab input:checked~.cp_actab-content {
 max-height: 40em;
}

/* 質問をクリックした時の+の動き */
.cp_qa .cp_actab input[type="checkbox"]:checked+label::after {
 -webkit-transform: rotateZ(180deg);
 transform: rotateZ(180deg);
 -webkit-transform-origin: 50% 50%;
 transform-origin: 50% 50%;
}

#partner table th,
#partner table td {
 text-align: center;
 font-size: 0.9em;
}

partner table th {
 background: #e6e6e6;
}

.satellite td {
 background: #f6f6f6;
 padding: 3px 20px;
}

.satellite td:first-child {
 padding: 3px 35px;
}

#partner a {
 text-decoration: underline;
 color: #00478d;
}

#partner a[href*=".pdf"] {
 width: 100%;
 font-weight: bold;
 position: relative;
 padding-right: 1.5em;
}

#partner a[href*=".pdf"]::after {
 content: "\f019";
 font-family: "Font Awesome 5 Free";
 font-weight: 900;
 position: absolute;
 top: 50%;
 right: 0;
 transform: translateY(-50%);
 -webkit-transform: translateY(-50%);
 -ms-transform: translateY(-50%);
 color: #00478d;
}

#partner .partner_venue a[href*=".pdf"]::after {
 display: none;
 content: "\f019";
 font-family: "Font Awesome 5 Free";
 font-weight: 900;
 position: absolute;
 top: 50%;
 right: 0;
 transform: translateY(-50%);
 -webkit-transform: translateY(-50%);
 -ms-transform: translateY(-50%);
 color: #00478d;
}

#partner .partner_venue {
 margin-bottom: 20px;
}

#tenpo ul {
 margin-bottom: 30px;
}

#tenpo ul li {
 margin-bottom: 10px;
 padding-left: 60px;
}

#tenpo ul li a {
 color: #00478d;
 text-decoration: underline;
 font-size: 16px;
 font-weight: bold;
 position: relative;
 display: inline;
 padding-left: 0 30px 0 25px;
 line-height: 1.6;
}

#tenpo ul li a::before {
 position: absolute;
 content: "\2192";
 font-weight: bold;
 color: #000;
 text-decoration: none;
 left: -20px;
}

#tenpo ul li a::after {
 position: static;
 content: "\f019";
 font-family: "fontawesome";
 font-weight: 900;
 display: inline-block;
 padding-left: 10px;
}

@media screen and (max-width: 767px) {
 #tenpo ul li {
  margin-bottom: 10px;
  padding-left: 5%;
 }

 #tenpo ul li a {
  font-size: 14px;
  line-height: 1.8;
 }

 #tenpo ul li a::after {
  padding-left: 5px;
 }
}