@charset "utf-8";

/* ---------------------------------------------------------------------------------------------
　   COMMON
--------------------------------------------------------------------------------------------- */
body.top {color:#FFF; background-color:#02294f;}

/* ---------------------------------------------------------------------------------------------
　   MV
--------------------------------------------------------------------------------------------- */
.p-mv {
  height: 100vh;
  color: #fff;
  transition: .5s;
  position: relative;
  background: url(../image/top_mvimg.webp)no-repeat center;
  background-size: cover;
}
.p-mv--bgtop::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 150px;
  pointer-events: none;
  z-index: 0;
  background: linear-gradient(to bottom, rgba(0, 32, 61, 1) 0%, rgba(0, 32, 61, 0) 100%);
}
.p-mv__container {
  max-width: 1240px;
  width: 100%;
  height: 100%;
  padding: 20px;
  margin: 0 auto;
  display: block;
}

.p-mv__inner {
  height: 100%;
  display: flex;
  align-items: center;
}
.p-mv__text {
  width: 100%;
}
.p-mv__catch-title {
  line-height: 1.3em;
  font-size: 4rem;
  font-weight: 700;
  display: inline-block;
  color: #0A2E4E;
  background: url(../image/top_mv_h1_bgimg_pc.png);
  background-size: cover;
  padding: 8px 20px;
  margin-bottom: 25px;
  letter-spacing: -1px;
}
.p-mv__catch-txt {
  line-height: 180%;
  font-size: 1.875rem;
  text-shadow: 0 0 10px rgb(0 0 0 / 80%);
  margin-bottom: 0;
}
.p-mv__select-menu {
  display: flex;
  gap: 10px;
  list-style: none;
  padding: 0;
  margin-top: 30px;
}
.p-mv__select-menu a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  min-width: 300px;
  height: 60px;
  font-size: 1rem;
}
.p-mv__select-menu li:first-child a {
  background: rgb(242, 117, 0);
  background: -moz-linear-gradient(left, rgba(242, 117, 0, 1) 0%, rgba(237, 203, 33, 1) 100%);
  background: -webkit-linear-gradient(left, rgba(242, 117, 0, 1) 0%, rgba(237, 203, 33, 1) 100%);
  background: linear-gradient(to right, rgba(242, 117, 0, 1) 0%, rgba(237, 203, 33, 1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f27500', endColorstr='#edcb21', GradientType=1);
}
.p-mv__select-menu li:last-child a {
  background: #0077d9;
  background: -moz-linear-gradient(left, #0077d9 0%, #35d0c4 100%);
  background: -webkit-linear-gradient(left, #0077d9 0%, #35d0c4 100%);
  background: linear-gradient(to right, #0077d9 0%, #35d0c4 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0077d9', endColorstr='#35d0c4', GradientType=1);
}

/* Utility */
.u-d-flex { display: flex; }
.u-align-items-center { align-items: center; }
.u-justify-content-between { justify-content: space-between; }
.u-justify-flex-start { justify-content:flex-start; gap:15px; }
.u-fadein { opacity: 1; transition: .8s; }
.u-br-sp { display: none; }

@media only screen and (max-width: 991px) {
  .p-mv__catch-title {font-size:3rem;}
}
@media only screen and (max-width: 767px) {
  .p-mv { height: 80vh; }
  .p-mv__catch-title {font-size: 2.25rem; background:url(../image/top_mv_h1_bgimg_sp.png)no-repeat left center;         background-size:contain; padding:10px 20px; width:100%;}
  .p-mv__catch-txt {font-size: 0.875rem;}
  .p-mv__select-menu { flex-wrap: wrap; justify-content:center; }
  .u-br-sp { display: inline; }
}


/**news**/
:root { --brand-gradient: linear-gradient(-35deg, #CD2D2D 0%, #BE327B 20%, #9C45B0 50%, #6B59CB 80%,#0E6EC8 100%);}
.btn-like {background: var(--brand-gradient) !important; color: #fff; transition: all 200ms ease !important;}
/* hover: 少し明るく */
.btn-like:hover { transform-origin: center; transform: scale(1.012); opacity: 1 !important; background: var(--brand-gradient) !important;}
/* active/pressed: 少し暗く＆押し込み感 */
.btn-like:active { background: linear-gradient(rgba(0, 0, 0, .18), rgba(0, 0, 0, .18)), var(--brand-gradient); transform: translateY(1px);}
/* キーボードフォーカスが来たときの見やすさも一応 */
.btn-like:focus-visible {outline: 2px solid rgba(14, 110, 200, .6); outline-offset: 2px;}
.top_news, .top_news .top_news_body, .top_news .top_news_body a { opacity: 1 !important;}
.top_news_body {padding-left: 0 !important;}

@media only screen and (max-width: 767px) {#top_news .news_inner {width: 100%; max-width: 100%; }}

/* ---------------------------------------------------------------------------------------------
　   OUR SOLUTION
--------------------------------------------------------------------------------------------- */
.our_solution {
	position: relative;
	background: #003769;
	color: #fff;
	overflow: visible; /* 疑似要素を表示する余地を確保 */
	padding-top: 70px;
	padding-bottom: 60px;
}

.our_solution::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 150px;
	pointer-events: none;
	z-index: 0;
	background: linear-gradient(to bottom, rgba(4,41,76,1) 0%, rgba(4,41,76,0) 100%);
}

.our_solution > * {
	position: relative;
	z-index: 1;
}
.our_solution_list {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	justify-content: center;
	align-items: stretch;
	gap: 30px;
}
.our_solution_list .our_solution_item {
	background: linear-gradient(to bottom, #0E4D89 0%, #092846 100%);
  padding: 35px 30px 30px;
}
.our_solution_list .our_solution_item h4 {
	font-size: 1.3125rem;
	text-align: center;
	margin-bottom: 20px;
}
.our_solution_list .our_solution_item p {
	font-size: 1rem;
	line-height: 180%;
	margin-bottom: 15px;
}
.our_solution_list .our_solution_item p:last-child {
	margin-bottom: 0;
}

@media only screen and (max-width: 991px) {
	.our_solution_list {
		grid-template-columns: 1fr;
	}
}

/* ========== OUR SOLUTION ========== */
.our-solution {
  position:relative;
  background:url(../image/top_oursolution_bgimg.webp)no-repeat top center #003769;
  background-size:cover;
  color: #fff;
  overflow: visible;
  padding-top: 70px;
  padding-bottom: 60px;
}
.p-our-solution__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}
.p-our-solution__inner {
  position: relative;
  z-index: 1;
}
.p-our-solution__title {
  font-size: 2rem;
  font-weight: 500;
  margin-bottom: 0.5em;
  text-align: center;
}
.p-our-solution__lead {
  font-size: 1.1rem;
  text-align: center;
  margin-bottom: 2em;
}
.p-our-solution__list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  justify-content: center;
  align-items: stretch;
  gap: 30px;
}
.p-our-solution__item {
  background: linear-gradient(to bottom, #0E4D89 0%, #092846 100%);
  padding: 35px 30px 30px;
  display: flex;
  flex-direction: column;
}
.p-our-solution__item-title {
  font-size: 1.3125rem;
  text-align: center;
  margin-bottom: 20px;
  font-weight: 700;
}
.p-our-solution__item-text {
  font-size: 1rem;
  line-height: 200%;
  margin-bottom: 15px;
}
.p-our-solution__item-text:last-child {
  margin-bottom: 0;
}
.p-our-solution::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 150px;
  pointer-events: none;
  z-index: 0;
  background: linear-gradient(to bottom, rgba(4,41,76,1) 0%, rgba(4,41,76,0) 100%);
}
.p-our-solution > * {
  position: relative;
  z-index: 1;
}

@media only screen and (max-width: 991px) {
  .p-our-solution__list {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .p-our-solution__container {
    max-width: 100%;
    padding: 0 10px;
  }
  .p-our-solution__item-title {
    font-size: 1rem;
    text-align: center;
    margin-bottom: 15px;
  }
}

@media only screen and (max-width: 768px) {
  .our-solution { padding-top:40px; padding-bottom:40px; }
  .p-our-solution__item {padding:30px 20px;}
  .p-our-solution__item-text { font-size: 0.875rem;}
  .p-our-solution__list {grid-template-columns: 1fr; gap:30px;}
}

/* ---------------------------------------------------------------------------------------------
　   USE CASES
--------------------------------------------------------------------------------------------- */
.section.usecases  {padding: 80px 0 0;}

.usecases {
	position: relative;
	background:url(../image/top_usecase_bgimg.webp) no-repeat center #003769;
	background-size: cover;
	color:#FFF;
}
.usecases::before {
	content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 300px;
  pointer-events: none;
  z-index: 0;
  background: linear-gradient(to bottom, rgb(0, 55, 105, 1) 0%, rgba(0, 55, 105, 0) 100%);
}
.usecases::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 300px;
  pointer-events: none;
  z-index: 0;
  background: linear-gradient(to top, rgb(0, 55, 105, 1) 0%, rgba(0, 55, 105, 0) 100%);
}
.usecases .container {
  z-index: 1;
  position: relative;
}
/*
.hex-grid {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 1vw;
	position: relative;
	z-index: 1;
}
.hex-grid .hex-item {
  position: relative;
  max-width: calc(25.7325% - 2.195%);
  width: 100%;
  height: 100%;
  aspect-ratio: 13 / 15;
	background: url(../image/top_usecase_hexbg.svg) no-repeat center;
	background-size: cover;
	padding: 1%;
  display: flex;
  justify-content: center;
  box-sizing: border-box;
  align-items: center;
}*/
.hex-grid {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: clamp(8px, 1vw, 26px);
  position: relative;
  z-index: 1;
}
.hex-grid .hex-item {
  position: relative;
  max-width: clamp(180px, 23%, 260px);
  width: 100%;
  height: 100%;
  aspect-ratio: 13 / 15;
  background: url(../image/top_usecase_hexbg.svg) no-repeat center;
  background-size: cover;
  padding: 1%;
  display: flex;
  justify-content: center;
  box-sizing: border-box;
  align-items: center;
}
.hex-grid .hex-item:nth-child(5), .hex-grid .hex-item:nth-child(6), .hex-grid .hex-item:nth-child(7) {
	position: relative;
  top: clamp(-72px, -12vh, -160px);
}
.hex-item__icon {text-align:center; margin-bottom:20px;}
.hex-item__label {text-align: center; font-weight: 700;}

@media only screen and (max-width: 991px) {
  .hex-grid {gap:0.75rem;}
  .hex-grid .hex-item {max-width: 48%; padding: 2%;}
  .hex-grid .hex-item:nth-child(5), .hex-grid .hex-item:nth-child(6), .hex-grid .hex-item:nth-child(7) { position:relative; top: 0;}
  .hex-item__icon {max-width:15vw; margin: 0 auto 5px;}
  .hex-item__label {font-size:0.875rem;}
}
@media only screen and (max-width: 767px) {
  .section.usecases {padding: 40px 0;}
  .usecases::before, .usecases::after {height: 100px;}
  .hex-item__label {font-size: 0.6875rem;}
}

/* ---------------------------------------------------------------------------------------------
　   PRODUCT SUITE
--------------------------------------------------------------------------------------------- */
.product {
  position:relative;
  background:url(../image/top_product_suite_bgimg.webp) no-repeat center #003769;
  background-size: cover;
  color: #FFF; padding-top: 70px;
}
.product::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 300px;
  pointer-events: none;
  z-index: 0;
  background: linear-gradient(to bottom, rgb(0, 55, 105, 1) 0%, rgba(0, 55, 105, 0) 100%);
}
.product .container {
  z-index: 1;
  position: relative;
}
.product_cards_inner {display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; align-items:stretch; gap: 2.25%; grid-template-rows: subgrid; grid-row: span 4;}
.product_card {
  position: relative;
  background: rgb(4 41 76 / 70%);
  padding: 20px 20px 30px 20px;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  gap: 15px;
  border-top: 5px solid #FFF;
  border-left: 1px solid #698095;
  border-right: 1px solid #698095;
  border-bottom: 1px solid #698095;
  transition: 0.5s;
}
.product_card:hover,
.product_card.is-hover {
  position: relative;
  background:#FFF;
  color: #04294c;
  border-top: 5px solid #04294c;
}
.product_card a {
  position:absolute;
  width:100%;
  height:100%;
  z-index:1;
}
.product_card_text {
	font-size: 1rem;
  font-weight: 500;
	line-height: 180%;
}
.product_card_title {
  font-size: 1.3125rem;
	text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
.product_card_list li {
	position: relative;
	font-size: 0.875rem;
  font-weight: 500;
  line-height: 160%;
	padding-left: 20px;
}
.product_card_list li::before {
	content: '・';
  position: absolute;
  left: 0;
}

@media only screen and (max-width: 991px) {
  .product_cards_inner {
    grid-template-columns: 1fr 1fr;
  }
}
@media only screen and (max-width: 767px) {
  .product {padding-top: 40px;}
  .product::before, .product::after {height: 100px;}
  .product .container {max-width:initial;}
  .product_card_text {font-size:0.875rem; max-width:550px; margin:0 auto;}
  .product_card_list {font-size:0.825rem; max-width:500px; margin:0 auto;}
}
@media only screen and (max-width: 640px) {
  .product_cards_inner {grid-template-columns: 1fr; gap: 20px;}
}
/* ---------------------------------------------------------------------------------------------
　   KNOWLEDGE
--------------------------------------------------------------------------------------------- */

/* ========== KNOWLEDGE ========== */
.p-knowledge {
  color: #FFF;
  background: url(../image/top_knowledge_bgimg.webp) no-repeat center / cover;
  padding-top: 80px;
  padding-bottom: 80px;
}
.p-knowledge__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}
.p-knowledge__title {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 0.5em;
  text-align: center;
}
.p-knowledge__lead {
  font-size: 1.1rem;
  text-align: center;
  margin-bottom: 2em;
}
.p-knowledge__list-wrapper {
  overflow: auto;
  margin-bottom: 20px;
}
.p-knowledge__list {
  display: flex;
  justify-content: space-between;
  width: 100%;
  gap: 2em;
}
.p-knowledge__large {
  width: 30%;
  display: flex;
  flex-direction: column;
  gap: 1.5em;
}
.p-knowledge__small {
  display: grid;
  width: 66.6705%;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 25px;
}
.p-knowledge__card {
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.p-knowledge__card a {
  display: block;
  color: inherit;
  text-decoration: none;
  height: 100%;
}
.p-knowledge__thumb {
  width: 100%;
  text-align: center;
  padding:0;
}
.p-knowledge__thumb img {
  width: 100%;
  max-width: 100%;
  height: auto;
  box-shadow: 1px 4px 3px rgba(50,50,50,.18);
}
.p-knowledge__body {
  margin-top: 15px;
  font-size: 1rem;
}
.p-knowledge__card-title {
  font-weight: 700;
  color: #FFF;
  margin-bottom: 30px;
  font-size: 1rem;
}
@media only screen and (max-width: 991px) {
  .p-knowledge__container {
    max-width: 100%;
    padding: 0;
  }
  .p-knowledge__list-wrapper {
    margin-bottom: 20px;
  }
  .p-knowledge__list {
    display: flex;
    width: max-content;
    gap:15px;
  }
  .p-knowledge__large {
    width: initial;
    display: inline-block;
  }
  .p-knowledge__small {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    gap: 15px;
  }
  .p-knowledge__card {
    width: 145px;
    margin-right:0;
  }
  .p-knowledge__card-title {
    font-size:0.875rem;
  }
  .p-knowledge__thumb {
    height: 165px;
  }
  .p-knowledge__body {
    margin-top: 10px;
    font-size: 12px;
  }
  .p-knowledge__large .btn,
  .p-knowledge__large .btn_border {
    display: none;
  }
  .btn_border.knowledge_btn {
    margin: 0 auto;
  }
}
@media print, screen and (min-width: 992px) {
  .p-knowledge .btn_sp {
    display: none;
  }
  .p-knowledge__list {
    flex-direction: row;
    justify-content: space-between;
  }
  .p-knowledge__large {
    width: 30%;
  }
  .p-knowledge__large .btn {
    margin-top: 60px;
  }
  .p-knowledge__small {
    display: grid;
    width: 66.6705%;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 25px;
  }
  .p-knowledge__large .p-knowledge__body {
    font-size: 17px;
  }
  .p-knowledge__small .p-knowledge__body {
    font-size: 14px;
  }
  .p-knowledge__body {
    margin-top: 20px;
  }
}

@media only screen and (max-width: 767px) {
  .p-knowledge {
    background: url(../image/top_knowledge_bgimg.webp) no-repeat center / cover;
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .p-knowledge__container {
    padding: 0 10px;
  }
  .product_card_title {
    font-size: 1rem;
  }
  .btn_border.knowledge_btn {
    margin: 0 auto;
  }
}

/* ---------------------------------------------------------------------------------------------
　   CASE STUDY
--------------------------------------------------------------------------------------------- */

/* ========== CASE STUDY ========== */
.p-case {
  padding: 80px 0;
  background:url(../image/solutions/solution_bgimg_01.webp)no-repeat top center; background-size:cover;
}
.l-container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px;
}
.p-case__title {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 0.5em;
  text-align: center;
}
.p-case__lead {
  font-size: 1.1rem;
  text-align: center;
  margin-bottom: 2em;
}
.p-case__list {
  display: flex;
  flex-wrap: wrap;
  gap: 2.25%;
  justify-content: center;
  margin-bottom: 40px;
}
.p-case__card {
  display: grid;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  overflow: hidden;
  max-width: 31.6665%;
  width:100%;
  transition: box-shadow 0.2s;
}
.p-case__card a {
  grid-template-rows: subgrid;
  grid-row: span 4;
  gap: 10px;
  display: grid;
}

.p-case__card:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.12);
}
.p-case__thumb {
  max-width: 380px;
  width: 100%;
  aspect-ratio: 95 / 56;
  text-align: center;
  padding: 0;
  overflow: hidden;
}
.p-case__body {
  padding: 20px 24px 24px 24px;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}
.p-case__card-title {
  font-size: 1rem;
  font-weight: 500;
  padding-left: 20px;
  padding-right: 20px;
}
.p-case__company {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-left: 20px;
  padding-right: 20px;
}
.p-case__company-logo {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.p-case__company-logo img {
  max-width: 80px;
  height: auto;
}
.p-case__company-name {
  font-size: 1rem;
  font-weight: 500;
}
.p-case__more {
  margin-top: auto;
  text-align: left;
  color: #005296;
  font-size: 0.9375rem;
  font-weight: 500;
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 15px;
}
.p-case__more span {
  position: relative;
  padding-right: 14px;
  text-decoration: underline;
  transition: 0.5s;
}
.p-case__more span::after {
  position: absolute;
  content: '';
  background: url(../image/btn_arrow_l_blue.svg) no-repeat center;
  right: 0;
  top: 50%;
  width: 5px;
  height: 10px;
  background-size: cover;
  transform: translateY(-50%);
}
.p-case__card a:hover .p-case__more span {
  text-decoration: none;
}
.p-case__all-link {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 300px;
  width: 100%;
  height: 60px;
  margin: 0 auto 0;
  padding: 12px 0;
  text-align: center;
  border: 1px solid #FFF;
  color: #fff;
  font-weight: 500;
  font-size: 1rem;
  text-decoration: none;
  transition: background 0.2s;
}
.p-case__all-link span {
  position: relative;
  padding-right: 14px;
}
.p-case__all-link span::after {
  position: absolute;
  content: '';
  background: url(../image/btn_arrow_white.svg) no-repeat center;
  right: 0;
  top: 50%;
  width: 5px;
  height: 10px;
  background-size: cover;
    transform: translateY(-50%);
}
.p-case__all-link:hover {
  color:#003769;
  background:#FFF;
  opacity:1;
}
.p-case__all-link:hover span::after {
  background: url(../image/btn_arrow_d_blue.svg) no-repeat center;
}

@media only screen and (max-width: 991px) {
  /*.p-case__list {
    flex-direction: column;
    gap: 24px;
    align-items: center;
  }
  .p-case__card {
    width: 100%;
    max-width: 400px;
  }*/
}

@media only screen and (max-width: 767px) {
  .p-case {
    padding: 40px 0;
  }
  .l-container {
    padding: 0 6%;
  }
  .p-case__list {
    max-width: 450px;
    margin: 0 auto 30px;
    flex-flow: column;
    gap: 20px;
  }
  .p-case__card {
    max-width: 100%;
  }
  .p-case__card-title, .p-case__company-name {
    font-size: 0.875rem;
  }
  .p-case__thumb {
    max-width: 100%;
  }
}

/* ---------------------------------------------------------------------------------------------
　   FAQ
--------------------------------------------------------------------------------------------- */
.faq {
	background: #04294C;
	color: #FFF;
}
.accordion__box {
	border-bottom: 1px solid #eee;
}
.accordion__box:last-child {
	margin-bottom: 0;
}
.accordion_header {
	position: relative;
	color: #FFF;
	cursor: pointer;
	font-weight: 700;
	transition: .3s;
}
.accordion_header:hover {
  opacity: 0.7;
}
.q,.a {
	position: absolute;
	font-weight: 400;
}
.q {
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.a {
	top: 0;
	left: 0;
	color: #ff9e23;
}

.accordion_header::before,
.accordion_header::after {
	position: absolute;
	top: 50%;
	display: block;
	width: 12px;
	height: 2px;
	background: #FFF;
	content: '';
	transform: translateY(-50%);
}

.accordion_header::after {
	transform: translateY(-50%) rotate(90deg);
	transition: 0.5s;
}
.accordion_header.open::before,
.accordion_header.open::after {
	background: #FFF;
}

.accordion_header.open::after {
	transform: rotate(0);
	transition: 0.5s;
}
.accordion_inner {
	position: relative;
	display: none;
	color: #FFF;
}
.accordion_inner p {
	min-height: 2.2em;
	line-height: 2em;
	color: #FFF;
}
.accordion_inner p a {
	text-decoration: underline;
	color: #FFF;
}
@media only screen and (max-width: 991px) {
	.faq_title .btn {
		display: none;
	}
	.faq_inner {
		margin-bottom: 20px;
	}
}
@media only screen and (max-width: 767px) {
	.accordion_header {
		padding: 20px 40px 20px 25px;
		font-size:0.875rem;
	}
	.accordion_header::before, .accordion_header::after {
		right: 15px;
	}
	.q,.a,.accordion_inner p {
		font-size:0.875rem;
	}
	.accordion_inner {
		padding: 0 20px 20px 25px;
		font-size: 12px;
	}
}
@media print, screen and (min-width: 768px) {
	.accordion_header {
		padding: 20px 50px 20px 40px;
		font-size: 1rem;
	}
	.accordion_header::before,
	.accordion_header::after {
		right: 20px;
	}
	.q,.a {
		font-size: 22px;
		font-weight: 300;
	}
	.accordion_inner {
		padding: 5px 20px 20px 40px;
		font-size: 14px;
	}
}
@media print, screen and (min-width: 992px) {
	#faq .btn_sp {
		display: none;
	}
	.faq_inner {
		display: flex;
		justify-content: space-between;
	}
	.faq_title {
		width: 30%;
	}
	.faq_body {
		width: 66%;
	}
}
