/*
Theme Name: arc_base 2022
Theme URI: 
Version: 1.0
Author: ARCADIA SYSTEMS
Author URI: https://arc-mec.com/

/*	INDEX
-------------------------------------------------
	BASE
	HEADER
	CONTENT
	SIDE BAR
	FOOTER
	MISC
	Mobile
	HACK
*/

/*	BASE
-------------------------------------------------*/
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  margin: 0;
  padding: 0;
  color: #333333;
  line-height: 1.5;
  font-size: 16px;
  font-family: "Yu Gothic", YuGothic, "メイリオ", -apple-system,
    BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3",
    Hiragino Kaku Gothic ProN, Arial, Meiryo, sans-serif;
}
body {
  overflow-x: hidden;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold;
}
a,
a:link {
}
a:hover {
}
a:visited {
}
a:active {
}

a img {
  border: none;
}
input[type="email"],
input[type="text"] {
  font-size: 1rem;
  padding: 2px;
}
input[type="submit"] {
  font-size: 1rem;
  padding: 0.4em;
}
textarea {
  font-size: 1rem;
  padding: 0.4em;
}
.small {
  font-size: 0.8em;
}
.bold {
  font-weight: bold;
}
.align_c {
  text-align: center;
}
.align_r {
  text-align: right;
}
.align_l {
  text-align: left;
}
.bottom_1em {
  margin-bottom: 1em;
}
section,
article,
div {
}
p {
  margin-bottom: 0.2em;
}
table {
  border-collapse: collapse;
  width: 100%;
}
table th,
table td {
  padding: 0.6em;
  border: 1px solid #ccc;
  box-sizing: border-box;
  margin: 0 auto;
}

/*	HEADER
-------------------------------------------------
*/
header {
  background-color: #1a1a78;
}
.header_container {
  max-width: 1200px;
  padding: 0;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}

.header_container .hc_left {
  padding: 1em 0;
}
.header_container .hc_left h1 img {
  width: auto;
  height: 2em;
}
.header_container .hc_right {
  display: flex;
}
.hc_right ul {
  display: flex;
  height: 100%;
  list-style: none;
}
.hc_right ul li a {
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  height: 100%;
  padding: 1em;
}

.hc_right ul li a span {
  display: block;
}
.hc_right .head_btn a {
  color: #fff;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding: 0.5em;
  width: 100px;
  height: 100%;
}
.hc_right .head_btn.ec_btn a {
  background-color: #2493cb;
}
.hc_right .head_btn.contact_btn a {
  background-color: #d6d147;
}
.hc_right ul li a:hover,
.hc_right .head_btn.ec_btn a:hover,
.hc_right .head_btn.contact_btn a:hover {
  background-color: #3756c5;
}

.hc_right .head_btn a img {
  width: 3em;
  height: auto;
  display: block;
}
.hc_right .head_btn a span {
  display: inline-block;
  width: 100%;
  margin-top: auto;
}

/*	CONTENT
-------------------------------------------------
*/

.breadcrumbs {
  margin: 1em 0;
}

.h2back {
  background-image: url(../images/pagetitle_back.jpg);
  background-position: center;
  margin: 0 0 2rem;
}
.h2back h2 {
  font-size: 3em;
  color: #fff;
  max-width: 1000px;
  margin: 0 auto;
  padding: 1.5em 1em;
}

.post {
  max-width: 1000px;
  margin: 0 auto;
  padding: 2em;
}
.pagename h2 {
  font-size: 2rem;
  color: #1a1a78;
  display: flex;
  align-items: center;
  margin: 0 0 2rem;
}
.pagename h2 span {
  font-size: 1.2rem;
  margin-left: 2rem;
}

.pagename h2:before {
  content: "";
  display: inline-block;
  margin-right: 2rem;
  width: 1.5rem;
  height: 0.6rem;
  margin-bottom: 0.1em;
  background-color: #1a1a78;
}

/*	post table
-------------------------------------------------*/

table {
}

table caption {
}

table th {
}

table td {
}

table th,
table td {
}

table td ul,
table td ol {
  margin-left: 1em;
}

/*	post ol ul li
-------------------------------------------------*/
ul,
ol {
}

.post ul,
.post ol {
  padding-left: 2em;
}

ul li,
ol li {
}

/*	TOP
-------------------------------------------------*/
main.top_container {
}
.top_items {
  padding: 4em 0;
}
.top_items_wrap {
  max-width: 1000px;
  margin: 0 auto;
}
.top_items_wrap h2 {
  font-size: 2rem;
  color: #1a1a78;
  display: flex;
  align-items: center;
  margin: 0 0 2rem;
}
.top_items_wrap h2 span {
  font-size: 1.2rem;
  margin-left: 2rem;
}

.top_items_wrap h2:before {
  content: "";
  display: inline-block;
  margin-right: 2rem;
  width: 1.5rem;
  height: 0.6rem;
  margin-bottom: 0.1em;
  background-color: #1a1a78;
}

.top_slider {
  position: relative;
  padding: 0;
  width: 100%;
  height: 520px;
  margin-bottom: 3em;
}
.top_slider .main_catch {
  max-width: 1200px;
  width: 100%;
  padding: 0 1em;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-shadow: 2px 2px 0px #333;
  z-index: 10;
}
.top_slider .main_catch .catce_text {
  font-family: serif;
  font-weight: bold;
  line-height: 1;
}
.top_slider .main_catch .catce_text span {
  display: block;
}
.top_slider .main_catch .catce_text.catch1 {
  font-size: 4rem;
  color: #fff600;
  margin-bottom: 1rem;
}
.top_slider .main_catch .catce_text.catch2 {
  font-size: 2rem;
  color: #fff;
}
.top_slider .main_slider {
  width: 2000px;
  height: 520px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
.top_slider .sub_slider {
  position: absolute;
  right: 2em;
  bottom: -40px;
  z-index: 1;
}
.top_slider .sub_slider .slider_thumbnail {
  display: flex;
  padding: 0.2em 0;
  border: 0.2em solid #fff;
  background-color: #fff;
  list-style: none;
}
.top_slider .sub_slider .slider_thumbnail li {
  width: 80px;
  height: 60px;
  margin: 0 0.2em;
}
.top_slider .sub_slider .slider_thumbnail li img {
  width: 100%;
  height: auto;
}

.top_news {
}
.top_news .news_list {
  list-style: none;
  margin-bottom: 2em;
}
.top_news .news_list li {
  border-bottom: 2px solid #ccc;
}
.top_news .news_list li a:link,
.top_news .news_list li a:visited {
  display: flex;
  color: #333;
  text-decoration: none;
  padding: 2rem;
  margin: 0;
}
.top_news .news_list li div {
  width: 8em;
}
.top_news .news_list li h3 {
  font-size: 1.2rem;
}
.top_news .news_link {
  text-align: right;
}
.top_news .news_link a {
  color: #1a1a78;
  font-weight: bold;
  text-decoration: none;
  text-align: left;
  padding: 0.5em 0;
  border-bottom: 1px solid #1a1a78;
  display: inline-block;
  width: 10em;
}
.top_news .news_link a:after {
  content: "";
  display: block;
  width: 2rem;
  border-bottom: 1px solid #1a1a78;
  transform: rotate(30deg) translate(114px, -64px);
}

.top_news .news_link a:hover,
.top_news .news_link a:hover:after {
  color: #ff8800;
  border-color: #ff8800;
}

/**/
.top_product {
  background-color: #f4f9fc;
  background-image: url(../images/oaks_producthead.png);
  background-repeat: no-repeat;
  padding: 8em 0 6em;
}

.product_list {
  display: flex;
  flex-wrap: wrap;
  padding: 0 !important;
}
.product_list li {
  width: calc(100% / 3 - 2em);
  border: 1px solid #ccc;
  margin: 1em;
  list-style: none;
}

.product_list li a {
  display: block;
  text-decoration: none;
  font-size: 0;
}
.product_list li a:hover {
  opacity: 0.8;
}
.product_list li a figure {
  position: relative;
  width: 100%;
  height: 8rem;
  overflow: hidden;
}
.product_list li a figure img {
  width: 100%;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.product_list li a figure figcaption {
  font-size: 1.2rem;
  padding: 0 1em;
  font-weight: bold;
  color: #fff;
  border-bottom: 2px solid #fff;
  white-space: nowrap;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  text-shadow: 1px 1px black;
}

/**/
.top_about {
  background-image: url(../images/about_backimage.jpg);
  background-position: center;
}
.about_wrap {
  display: flex;
  justify-content: center;
}
.about_wrap .about_items {
  width: calc(40% - 2em);
  margin: 1em 2em;
}
.about_wrap .about_items a {
  text-decoration: none;
  font-size: 0;
}
.about_wrap .about_items a:hover {
  opacity: 0.8;
}
.about_wrap .about_items figure {
}
.about_wrap .about_items figure img {
  width: 100%;
  height: auto;
}
.about_wrap .about_items figure figcaption {
  background-color: rgba(0, 0, 255, 0.8);
  padding: 1rem;
  font-size: 1rem;
}
.about_wrap .about_items figure figcaption h3 {
  color: #fff;
  text-align: center;
  font-size: 1.5rem;
  margin: 0 0 1rem;
}
.about_wrap .about_items figure figcaption .more_link {
  color: #fff;
  text-align: right;
}
.about_wrap .about_items figure figcaption .more_link span {
  border-bottom: 1px solid #fff;
  padding: 0 4rem 0 0;
  display: inline-block;
}
.about_wrap .about_items figure figcaption .more_link span:after {
  content: "";
  display: block;
  width: 2rem;
  border-bottom: 1px solid #fff;
  transform: rotate(30deg) translate(68px, -47px);
}

/**/
.top_links {
  background-color: #f4f9fc;
}
.top_links ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  align-items: center;
  margin: 0 auto 2em;
}
.top_links ul li {
  width: calc(100% / 3 - 1em);
  margin: 0.5em;
}
.top_links ul li a {
  text-decoration: none;
  background-color: #fff;
  padding: 1em;
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: none;
}
.top_links ul li a img {
  max-width: 100%;
  max-height: 3rem;
  width: auto;
  height: auto;
}
.top_links .top_links_btn {
  text-align: center;
}
.top_links .top_links_btn a:link,
.top_links .top_links_btn a:visited {
  color: #fff;
  font-size: 1rem;
  font-weight: bold;
  text-decoration: none;
  background-color: #2493cb;
  display: inline-block;
  padding: 0.5em 1em;
  border-radius: 8px;
}
.top_links .top_links_btn a:hover,
.top_links .top_links_btn a:active {
  background-color: #1a1a78;
}

/*	page
-------------------------------------------------*/
/*アクセスマップ*/
#post-22 {
}
#post-22 iframe {
  width: 100%;
  height: 400px;
}

/*	会社概要
-------------------------------------------------*/

/*	single
-------------------------------------------------*/
.news_posts {
  border-bottom: 1px dotted #ccc;
}
.news_posts .posth3 {
  margin-bottom: 1rem;
}
.news_posts .entry {
  margin-bottom: 1rem;
  padding: 0 1rem;
}
.postdate {
  text-align: right;
}

/*	FOOTER
-------------------------------------------------
*/
footer {
  color: #fff;
}

footer .footer_contact {
  background-image: url(../images/contact_backimage.jpg);
  background-position: center;
}

.footer_filter {
  background-color: rgba(0, 0, 255, 0.2);
  padding: 6em 2em;
}
.footer_filter_link {
  max-width: 640px;
  margin: 0 auto;
}
footer .footer_contact a {
  text-decoration: none;
  color: #fff;
}
footer .footer_contact a:hover {
  opacity: 0.8;
}
footer .footer_contact h2 {
  font-size: 2rem;
  text-align: center;
  padding: 2em;
  background-color: rgba(0, 0, 255, 0.8);
}

footer .footer_container {
  background-color: #1a1a78;
}

.fc_wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 2em 0;
  display: flex;
}
.fc_wrap .fc_right {
}
.fc_wrap .fc_right nav {
  display: flex;
}
.fc_wrap .fc_right nav ul {
  list-style: none;
  margin: 0 1em;
}
.fc_wrap .fc_right nav ul li {
  font-weight: bold;
  margin: 0 0 0.5em;
}
.fc_wrap .fc_right nav ul li.sublist {
  display: flex;
}
.fc_wrap .fc_right nav ul li ul {
  list-style: disc;
  padding-left: 2em;
}
.fc_wrap .fc_right nav ul li ul li {
  font-weight: normal;
}
.fc_wrap .fc_right nav ul li a {
  color: #fff;
  text-decoration: none;
}

footer .copyright {
  text-align: center;
  padding: 1em;
}

/*	新着情報
-------------------------------------------------*/

/*	製品情報
-------------------------------------------------*/
/*一覧ページ*/
.product_item {
  padding: 2em;
  margin: 0 auto 2em;
  background-color: #f4f9fc;
}
.product_item .posth3 {
  color: #2493cb;
  display: flex;
  align-items: center;
  margin: 0 0 2rem;
}
.product_item .posth3 span {
  font-size: 1.2rem;
  margin-left: 2rem;
}

.product_item .posth3:before {
  content: "";
  display: inline-block;
  margin-right: 2rem;
  width: 1.5rem;
  height: 0.6rem;
  margin-bottom: 0.1em;
  background-color: #2493cb;
}

.product_item .posth3 a:link,
.product_item .posth3 a:visited {
  color: #fff;
  font-size: 1rem;
  font-weight: bold;
  text-decoration: none;
  background-color: #2493cb;
  display: inline-block;
  padding: 0.5em 1em;
  margin-left: auto;
}
.product_item .posth3 a:hover,
.product_item .posth3 a:active {
  opacity: 0.8;
}

.product_item .flex {
  display: flex;
}
.pi_img {
  width: 40%;
  width: 240px;
  margin-right: 2em;
}
.pi_img img {
  width: 100%;
  height: auto;
}
.pi_info {
  color: #1a1a78;
  width: calc(60% - 2em);
  width: calc(100% - 240px - 2em);
}
.product_list_wrap {
  background-color: #f4f9fc;
}

/**/
.borad_parts .pi_img {
}
.borad_parts .pi_info {
}

/*詳細ページ*/
.product_item.item_detail {
  background-color: #fff;
}
.product_item.item_detail .flex {
  flex-wrap: wrap;
}
.pi_packing {
  width: 100%;
  color: #1a1a78;
  margin: 2em 0 0;
}
.pi_packing h3 {
  margin-bottom: 1em;
}
.packing_detail {
  padding: 0 2em;
}
.pi_contact {
  margin: 1em 0;
}
.pi_contact a:link,
.pi_contact a:visited {
  color: #fff;
  font-size: 1rem;
  font-weight: bold;
  text-decoration: none;
  background-color: #2493cb;
  display: inline-block;
  padding: 0.5em 1em;
  border-radius: 8px;
}
.pi_contact a:hover,
.pi_contact a:active {
  background-color: #1a1a78;
}

/*製品資料*/
.pd_section {
  margin: 0 0 2em;
}
.pd_menu {
  padding: 2em 0 0;
  background-color: #f4f9fc;
}
.pd_menu ul {
  max-width: 1000px;
  margin: 0 auto 2em;
  display: flex;
  list-style: none;
  padding: 0 2em;
}
.pd_menu ul li {
  color: #2493cb;
  text-align: center;
  font-weight: bold;
  border: 1px solid #2493cb;
  border-left: none;
  width: 25%;
  padding: 1em;
  background-color: #fff;
  cursor: pointer;
}
.pd_menu ul li:nth-of-type(1) {
  border-left: 1px solid #2493cb;
}
.pd_menu ul li:hover {
  background-color: #2493cb;
  color: #fff;
}
.pd_menu ul li.current {
  border-bottom: none;
}
.pd_menu ul li.disabled {
  pointer-events: none;
  background-color: #efefef;
  color: #ccc;
}

.pd_main {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 2em;
}
.pd_main .pd_item {
}
.pd_main .pd_item dl {
  margin-bottom: 1em;
}
.pd_main .pd_item dl dt {
  font-weight: bold;
  margin-bottom: 0.5em;
}
.pd_main .pd_item dl dd {
  margin-bottom: 0.5em;
  padding-left: 1em;
}
.pd_main .pd_item dl dd p {
  margin-bottom: 0.5em;
}

/*Q&A*/
.pqa_section {
  background-color: #fafafa;
  padding: 2em;
  margin: 0;
}
.pqa_wrap {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 2em;
}

.pqa_items {
  background-color: #fefefe;
  padding: 1em 2em;
  margin: 0 0 2em;
  box-shadow: 1px 1px 1px #ccc;
}
.pqa_items dt {
  border-bottom: 1px dotted #ccc;
  cursor: pointer;
}
.pqa_items dd {
  display: none;
}

.question_item,
.answer_item {
  display: flex;
  align-items: center;
}

.question_item {
  font-size: 1.2em;
  font-weight: bold;
}

.pqa_icon {
  font-size: 1.5rem;
  padding: 1rem;
  text-align: center;
  font-weight: bold;
  width: 5rem;
}
.pqa_icon span {
  display: block;
  font-size: 0.8rem;
  font-weight: normal;
  text-align: center;
}
.pqa_title,
.pqa_detail {
  width: calc(100% - 5rem);
}
.pqa_title {
  padding-bottom: 1rem;
}

.pqa_title div {
  margin-bottom: 0.5em;
}
.pqa_title span {
  font-size: 0.8rem;
  font-weight: normal;
  color: #fff;
  padding: 0.2em 0.5em;
  background-color: #2493cb;
}

.pqa_detail {
  padding: 1rem 0;
}

/*	代理店・取り扱いメーカー
-------------------------------------------------
*/
.handling_manufacturer .handling_category ul:last-child {
  list-style: none;
  padding-left: 0.5em;
  padding-top: 0.5em;
}

.handling_manufacturer .handling_category ul:first-child {
  max-width: 260px;
  padding: 0.5em 0.5em 0.5em 2em;
  border: 1.5px solid #ccc;
  border-radius: 5px;
  font-weight: bold;
}

.agency_list {
}

.agency_list.content_list {
  display: flex;
  flex-wrap: wrap;
}
.content_list_item {
  width: 100%;
  display: flex;
  padding: 1em;
  border: 2px solid #1a1a78;
  border-radius: 10px;
  margin: 0 0 2em;
}
.content_list_item .cli_left {
  width: 240px;
  margin-right: 2em;
}
.content_list_item .cli_left h3 {
  font-weight: bold;
  margin: 0 0 0.5em;
}
.content_list_item .cli_left figure {
  width: 240px;
  height: 180px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #efefef;
  background-color: #fefefe;
  padding: 1em;
}
.content_list_item .cli_left img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
}
.content_list_item .cli_right {
  width: calc(100% - 240px - 2em);
}
.content_list_item .cli_right div {
  margin-bottom: 0.5em;
}

.agency_list.text_list ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
}
.agency_list.text_list ul li {
  width: calc(100% / 3 - 1em);
  margin: 0 0.5em 1em;
  padding: 1em;
  border: 1px solid #ccc;
  border-radius: 10px;
  background-color: #fafafa;
}

/*	採用情報
-------------------------------------------------
*/
.none_comment {
  padding: 2em;
  font-size: 1.5em;
  text-align: center;
  margin-bottom: 2rem;
}
/*一覧ページ*/
.rec_flex {
  display: flex;
  flex-wrap: wrap;
  padding: 2em;
  border: 1px solid #ccc;
  margin: 0 auto 2em;
}
.rec_flex .rp_left {
  width: 240px;
  margin-right: 2em;
}
.rec_flex .rp_left figure {
}
.rec_flex .rp_left figure img {
  width: 100%;
  height: auto;
}
.rec_flex .rp_right {
  width: calc(100% - 240px - 2em);
}
.rec_flex .rp_right h3,
.rec_flex .rp_right .entry {
  margin-bottom: 1em;
}
.rec_flex .rp_right .recruit_link {
  text-align: right;
}
.rec_flex .rp_right .recruit_link a:link,
.rec_flex .rp_right .recruit_link a:visited {
  color: #fff;
  font-size: 1rem;
  font-weight: bold;
  text-decoration: none;
  background-color: #2493cb;
  display: inline-block;
  padding: 0.5em 2em;
  border-radius: 8px;
}
.rec_flex .rp_right .recruit_link a:hover,
.rec_flex .rp_right .recruit_link a:active {
  background-color: #1a1a78;
}

.recruit_detail {
}
.recruit_detail .postdate {
  text-align: right;
}
.recruit_detail h3 {
  font-size: 1.5em;
  margin-bottom: 1rem;
}
.recruit_detail table {
  margin: 0 0 2em;
}
.recruit_detail table th,
.recruit_detail table td {
  padding: 1em;
  text-align: left;
}
.recruit_detail table th {
  background-color: #efefef;
  font-weight: normal;
}
.recruit_detail table td {
}

/*	お問合せ
-------------------------------------------------
*/
#post-9 {
}
#post-9 .wp-block-group {
  margin-bottom: 2rem;
}
#post-9 h4 {
  margin-top: 1em;
}
#post-9 p {
  padding-left: 1em;
}

.mail_link {
  padding-top: 2em;
}

/*	MISC
-------------------------------------------------
*/

/*TOPへ戻るボタン*/
.top_link {
  display: none;
  position: fixed;
  bottom: 2em;
  right: 2em;
  z-index: 1000;
}
.top_link a {
  display: inline-block;
  position: relative;
  width: 60px;
  height: 60px;
  background-color: #1a1a78;
}
.top_link a span {
  display: inline-block;
  width: 20px;
  height: 20px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -30%) rotate(-45deg);
}

/*readmore*/
.readmore {
  overflow: hidden;
}

.rm_btn:link,
.rm_btn:visited {
  color: #fff;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  display: block;
  width: 100%;
  background-color: #2493cb;
  padding: 1em;
}
.rm_btn:hover,
.rm_btn:active {
  background-color: #1a1a78;
}

/*	bx-slider
-------------------------------------------------
*/

.bx-wrapper {
  margin: 0 !important;
  -moz-box-shadow: none !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  border: none !important;
  background: none !important;
  font-size: 0;
}
/*	Mobile
-------------------------------------------------
*/

/*PC 880over*/
@media (min-width: 880px) {
  .pc_none {
    display: none !important;
  }
  .sp_menu {
    display: none;
  }
}

/*SP 880under*/
@media (max-width: 880px) {
  .sp_none {
    display: none !important;
  }

  /*header*/
  .header_container .hc_left {
    padding: 0.5em;
    height: 5em;
  }
  .header_container .hc_left h1 img {
    height: 4rem;
  }
  .hc_right .head_btn a {
    width: 5em;
  }
  .hc_right .head_btn a img {
    width: 2rem;
  }
  .hc_right .head_btn.menu_btn a img {
    width: 5rem;
  }
  .hc_right .head_btn a span {
    font-size: 0.8rem;
  }
  .head_btn.menu_btn {
    width: 5em;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0.5em;
  }
  .sp_menu_wrap {
    position: relative;
  }
  .sp_menu {
    display: none;
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 10000;
    width: 100%;
    padding: 1em;
    background-color: rgba(26, 26, 120, 0.9);
  }
  .sp_menu ul {
    list-style: none;
  }
  .sp_menu ul li a:link,
  .sp_menu ul li a:visited {
    color: #fff;
    display: block;
    padding: 1em 0.5em;
    font-weight: bold;
    text-decoration: none;
    border-bottom: 1px dotted #fff;
  }

  /*top*/
  .top_slider {
    height: 50vw;
  }
  .top_slider .main_slider {
    width: 200vw;
    height: 50vw;
  }
  .top_slider .sub_slider {
    right: initial;
    left: 50%;
    transform: translate(-50%, 0);
  }
  .top_slider .main_catch {
    width: 90%;
    top: 40%;
  }
  .top_slider .main_catch .catce_text.catch1 span {
    display: inline-block;
    margin: 0 0.2rem;
  }
  .top_slider .main_catch .catce_text.catch1 {
    font-size: 1.5rem;
  }
  .top_slider .main_catch .catce_text.catch2 span {
    display: inline;
  }
  .top_slider .main_catch .catce_text.catch2 {
    font-size: 1rem;
  }
  .top_items_wrap h2 {
    display: block;
    font-size: 1.2rem;
    margin: 0 0 1rem;
    padding: 0 0.5rem;
  }
  .top_items_wrap h2 span {
    font-size: 1rem;
    display: block;
    margin-left: 3.5rem;
  }
  .top_news,
  .top_about {
    display: none;
  }
  .top_items,
  .top_items.top_product {
    padding: 2em 0;
  }
  .top_product .product_list li {
    width: calc(50% - 1em);
    margin: 0.5em;
  }
  .top_links ul li {
    width: calc(50% - 1em);
  }

  /*footer*/
  footer .footer_contact h2 {
    font-size: 1.5rem;
  }
  .fc_wrap {
    flex-wrap: wrap;
  }
  .fc_wrap .fc_left {
    width: 100%;
    order: 2;
    text-align: center;
  }
  .fc_wrap .fc_right {
    order: 1;
    margin: 0 0 1em;
  }
  .fc_wrap .fc_right nav {
    flex-wrap: wrap;
  }
  .fc_wrap .fc_right nav ul li ul {
    list-style: none;
    padding-left: 0;
  }
  .fc_wrap .fc_right nav ul {
    width: 100%;
  }
  .fc_wrap .fc_right nav ul.sp_half {
    width: calc(50% - 2em);
  }

  .h2back h2 {
    font-size: 2rem;
    padding: 1em;
  }
  .pagename h2 {
    font-size: 1.5rem;
    display: block;
    text-indent: -2.5rem;
    padding-left: 2em;
  }
  .pagename h2:before {
    margin-right: 1rem;
  }

  /*代理店*/
  .content_list_item {
    flex-wrap: wrap;
  }
  .content_list_item .cli_left {
    width: 100%;
    margin-right: 0;
    margin-bottom: 1em;
  }
  .content_list_item .cli_left figure {
    margin: 0 auto;
  }
  .content_list_item .cli_right {
    width: 100%;
  }
  .agency_list.text_list ul li {
    width: 100%;
  }

  /*製品情報*/
  .product_list li {
    width: calc(100% / 2 - 1em);
    margin: 0 0.5em 1em;
  }
  .product_list li a figure {
    height: initial;
    padding-top: 50%;
  }
  .product_list li a figure figcaption {
    font-size: 1rem;
    width: 100%;
    padding: 0.5em;
    white-space: initial;
    word-break: break-all;
  }
  .text_block_right {
    margin-bottom: 1em;
  }
  .product_item {
    margin: 0 2em 2em;
  }
  .product_item .flex {
    flex-wrap: wrap;
  }
  .pi_img {
    width: 80%;
    margin: 0 auto 0.5em;
  }
  .pi_info {
    width: 100%;
    margin-bottom: 1em;
  }
  .sp_product_link {
    text-align: center;
    width: 100%;
  }
  .sp_product_link a:link,
  .sp_product_link a:visited {
    color: #fff;
    font-size: 1rem;
    font-weight: bold;
    text-decoration: none;
    background-color: #2493cb;
    display: inline-block;
    padding: 0.5em 1em;
    margin-left: auto;
    width: 80%;
    text-align: center;
    border-radius: 0.4em;
  }
  .pi_contact {
    text-align: center;
  }
  .pd_menu {
    padding: 1em 2em;
    margin: 0 0 1em;
  }
  .pd_menu ul {
    flex-wrap: wrap;
    border: 1px solid #2493cb;
    padding: 0;
    margin: 0 auto;
  }
  .pd_menu ul li {
    width: 50%;
    border: 1px solid #2493cb;
  }
  .pd_menu ul li.current {
    border-bottom: 1px solid #2493cb;
  }

  .pqa_items {
    padding: 1em;
  }
  .question_item,
  .answer_item {
    align-items: ;
  }
  .pqa_wrap {
    padding: 0;
  }
  .pqa_title,
  .pqa_detail,
  .answer_item {
    width: 100%;
    font-size: 0.9rem;
    font-weight: normal;
  }
  .pqa_title span.pqa_sp_icon,
  .pqa_detail span.pqa_sp_icon {
    display: block;
    background-color: #fff;
    color: #333;
    font-weight: bold;
    font-size: 1rem;
    padding: 0;
    margin-bottom: 0.2em;
  }

  .rec_flex {
    padding: 1em;
  }
  .rec_flex .rp_left {
    width: 30%;
    margin-right: 1em;
  }
  .rec_flex .rp_right {
    width: calc(70% - 1em);
  }
}

/*	HACK
-------------------------------------------------
*/
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}
