@charset "utf-8";
/* CSS Document */

html {
	padding: 0;
	margin: 0;
	font-size: 16px;
	line-height: 200%;
	font-family: "M PLUS Rounded 1c", "Noto Sans JP", sans-serif;
	color: #333;
}

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

body {
	padding: 0;
	margin: 0;
	background-color: #fff;
}

img {
	max-width: 100%;
	width: 100%;
	height: auto;
	vertical-align: top;
	object-fit: cover;
}

a {
	text-decoration: none;
	color: #333;
}

a:hover,
a:hover img {
	opacity: 0.75;
}

ul {
	padding: 0;
}

ul li {
	list-style: none;
	margin: 0;
	padding: 0;
	color: #333;
}

figure {
	margin: 0;
	padding: 0;
}

p {
	margin: 0;
	line-height: 200%;
}

h1,h2,h3,h4 {
	letter-spacing: 0.2rem;
	line-height: 200%;
	margin-top: 0;
}

h1 {
	font-size: 1.6rem;
	color: #00A1E9;
}

h2 {
	font-size: 1.4rem;
	color: #00A1E9;
}

h3 {
	font-size: 1.2rem;
	color: #00A1E9;
}

article {
	padding: 0 0 5%;
}

table {
	width: 100%;
    border-collapse: collapse;
}

svg .svg-elem-1 {
  fill: transparent;
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.8s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.8s;
}

svg.active .svg-elem-1 {
  fill: rgb(0, 160, 233);
}

svg .svg-elem-2 {
  fill: transparent;
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.9s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.9s;
}

svg.active .svg-elem-2 {
  fill: rgb(0, 160, 233);
}

svg .svg-elem-3 {
  fill: transparent;
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1s;
}

svg.active .svg-elem-3 {
  fill: rgb(0, 160, 233);
}

svg .svg-elem-4 {
  fill: transparent;
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.1s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.1s;
}

svg.active .svg-elem-4 {
  fill: rgb(0, 160, 233);
}

svg .svg-elem-5 {
  fill: transparent;
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.2000000000000002s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.2000000000000002s;
}

svg.active .svg-elem-5 {
  fill: rgb(0, 160, 233);
}

svg .svg-elem-6 {
  fill: transparent;
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.3s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.3s;
}

svg.active .svg-elem-6 {
  fill: rgb(0, 160, 233);
}

svg .svg-elem-7 {
  fill: transparent;
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.4000000000000001s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.4000000000000001s;
}

svg.active .svg-elem-7 {
  fill: rgb(0, 160, 233);
}

svg .svg-elem-8 {
  fill: transparent;
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.5s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.5s;
}

svg.active .svg-elem-8 {
  fill: rgb(0, 160, 233);
}

svg .svg-elem-9 {
  fill: transparent;
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.6s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.6s;
}

svg.active .svg-elem-9 {
  fill: rgb(0, 160, 233);
}

svg .svg-elem-10 {
  fill: transparent;
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.7000000000000002s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.7000000000000002s;
}

svg.active .svg-elem-10 {
  fill: rgb(0, 160, 233);
}

svg .svg-elem-11 {
  fill: transparent;
  -webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.8s;
          transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.8s;
}

svg.active .svg-elem-11 {
  fill: rgb(0, 160, 233);
}


svg.loading {
	width: 250px;
	margin: 0 auto;
	z-index: 201;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50% , -50%);
}

div.loading {
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
	opacity: 0;
	transition: all 2s;
	z-index: 20000;
	visibility: hidden;
}

div.loading.none {
	display: none;

}

svg.loading.active {
	opacity: 1;
}

div.loading.active {
	background-color: #fff;
	opacity: 1;
	visibility: visible;
}

.wp-block-table td, .wp-block-table th {
	border: initial !important;
}

.en {
	font-family: "Pacifico", cursive;
	display: block;
	font-size: 0.7rem;
	line-height: 1;
}

.sp {
	display: none;
}

.pdt5 {
	padding-top: 5%;
}

.pdb5 {
	padding-bottom: 5%;
}

.pdt30 {
	padding-bottom: 30px;
}

.maxwidth {
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
}

.minwidth {
	max-width: 750px;
	width: 100%;
	margin: 0 auto;
	position: relative;
}

.maxwidth1980 {
	max-width: 1980px;
	width: 100%;
	margin: 0 auto;
}

.btn {
	width: 150px;
    border-bottom: 1px solid #00A1E9;
	position: relative;
}

.btn::before {
  content: '';
  width: 6px;
  height: 6px;
  border: 0;
  border-top: solid 2px #00A1E9;
  border-right: solid 2px #00A1E9;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  right: 10px;
  bottom: 0;
  margin: auto;
}

.btn a {
	display: block;
	width: 100%;
    color: #00A1E9;
}

#page-top {
	position: fixed;
	bottom: 80px;
	right: 0;
	font-size: 14px;
	line-height: 1;
	z-index: 99;
}

#page-top a {
	width: 100%;
	height: 100%;
	display: block;
}

#page-top a:hover {
	text-decoration: none;
	opacity: .5;
}

#page-top a::before {
	content: ""url("common/images/arrow.svg");
	width: 50px;
	height: 50px;
	display: block;
}

.scroll_up {
	transition: 0.8s ease-in-out;
	transform: translateY(30px);
	opacity: 0;
}

.scroll_up.on {
	transform: translateY(0);
	opacity: 1.0;
}

.delay2 {
	transition-delay: .2s;
}

.delay4 {
	transition-delay: .4s;
}

.delay6 {
	transition-delay: .6s;
}

.delay8 {
	transition-delay: .8s;
}

.delay10 {
	transition-delay: 1s;
}

.globalnavi > ul {
	display: flex;
	justify-content: center;
}

.sub-menu {
	visibility: hidden;
	opacity: 0;
	transition: all .3s;
}

.sub-menu.hoverd {
	visibility: visible;
	opacity: 1;
}

.globalnavi__item .sub-menu.hovered {
	visibility: visible;
	opacity: 1;
}

.globalnavi__item {
	padding: 0 10px;
    text-align: center;
}

.globalnavi__item:nth-of-type(1) {
	padding-left: 0;
}

.globalnavi__item:nth-last-of-type(1) {
	padding-right: 0;
}

.toggle-icon,
.globalnavi__hamburger {
	display: none;
}

.globalnavi__background {
	display: none;
}

header {
	display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
	background-color: rgb(0, 172, 172, 0.1);
}

.h_logo {
	width: 200px;
}

.h_logo h1 {
	margin: 0;
}

.top_mainvisual {
	background-color: rgb(0, 172, 172, 0.1);
}

.top_mainvisual .maxwidth1980 {
	position: relative;
}

.top_mainvisualtext {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50% , -50%);
	width: 100%;
}

.top_mainvisualtext h2,
.top_mainvisualtext h3 {
	color: #fff;
	text-align: center;
	font-size: clamp(1rem, 1.046rem + 0.77vw, 2rem);
}

.top_mainvisual figure {
	width: calc(100% - 57px);
    margin: 0 0 0 auto;
    border-radius: 30px 0 0 30px;
    overflow: hidden;
	position: relative;
}

.top_mainvisual figure::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	margin: 0 0 0 auto;
    border-radius: 30px 0 0 30px;
	background-color: rgb(0, 172, 171, 0.4);
}

.scroll {
	position: absolute;
	left: 1.5%;
	bottom: 16%;
	writing-mode: vertical-rl;
	color: #00A1E9;
}

.scroll::before {
	animation: scroll 2s infinite;
	background-color: #00A1E9;
	bottom: -115px;
	content: "";
	height: 100px;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	width: 1px;
}

@keyframes scroll {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  51% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}

.scroll-downs {
  position: absolute;
  left: 10px;
	bottom: 30%;
  margin: auto;
  
  width :34px;
  height: 55px;
}
.mousey {
  width: 3px;
  padding: 10px 15px;
  height: 35px;
  border: 2px solid #00a0e9;
  border-radius: 25px;
  opacity: 0.75;
  box-sizing: content-box;
}
.scroller {
  width: 3px;
  height: 10px;
  border-radius: 25%;
  background-color: #00a0e9;
  animation-name: scroll2;
  animation-duration: 2.2s;
  animation-timing-function: cubic-bezier(.15,.41,.69,.94);
  animation-iteration-count: infinite;
}
@keyframes scroll2 {
  0% { opacity: 0; }
  10% { transform: translateY(0); opacity: 1; }
  100% { transform: translateY(15px); opacity: 0;}
}

.top_news {
	padding: 5% 0 10% 0;
}

.top_products {
	padding: 10% 0;
}

.top_news .maxwidth {
	display: flex;
	justify-content: space-between;
}

.news__wrap--contents {
	width: 70%;
}

.topnews__wrap--contentstext {
	border-bottom: 1px solid #00a0e9;
	padding-bottom: 10px;
    margin-bottom: 10px;
}

.topnews__wrap--contentstext a div {
	display: flex;
	align-items: center;
	gap: 30px;
}

.topnews__wrap--contentstext h3 {
	padding: 0;
	margin: 10px 0;
	font-size: 1rem;
}

.news__time,
.news__category {
	width: 100px;
	display: inline-block;
}

.news__category.news {
	color: #00ACAB;
}

.news__category.event {
	color: #006036;
	margin-left: 30px;
}

.news__category.other {
	color: #cccccc;
	margin-left: 30px;
}

.top_about {
	position: relative;
	margin-bottom: 100px;
}

.top_about .maxwidth1980{
	display: flex;
}

.top_aboutbox {
	position: relative;
	z-index: 3;
}

.top_about .president {
	position: absolute;
	top: 0;
	right: 0;
	width: 50%;
	border-radius: 30px 0 0 30px;
	overflow: hidden;
	z-index: 2;
}

.top_about .staff {
	width: 350px;
	border-radius: 30px;
	overflow: hidden;
	margin: 100px 0 0 100px;
}
.top_about p {
	text-shadow: #fff 1px 1px 10px, #fff -1px 1px 10px, #fff 1px -1px 10px, #fff -1px -1px 10px;
	margin-bottom: 30px;
	font-size:  clamp(1rem, 0.314rem + 1.07vw, 1.6rem);
}

.top_products,
.top_company {
	background-color: rgb(0, 172, 172, 0.1);
}

.top_flow {
	padding-top: 10%;
	position: relative;
	background-color: #f3f3f3f3
}

.top_flow .maxwidth1980 {
	padding: 0 3px;
}

.top_flowwrap {
	display: flex;
	justify-content: space-between;
}

.top_flowwrap figure {
	width: 100px;
	margin: 0 auto 30px;
}

.top_flowbox:nth-of-type(1) {
	margin-top: 150px;
}

.top_flowbox:nth-of-type(2) {
	margin-top: 100px;
}

.top_flowbox:nth-of-type(3) {
	margin-top: 50px;
}

.top_flowbox {
	width: 25%;
	position: relative;
	z-index: 2;
}

.top_flowbox div::after {
	content: "";
	display: block;
	position: absolute;
	top: -10px;
	left: 10px;
	width: 100%;
	height: 100%;
	border: 3px solid #00A1E9;
	z-index: -1;
}

.top_flowbox div {
	margin: 0 auto;
	width: 95%;
	background-color: #fff;
	padding: 51px 30px 53px;
	position: relative;
}

.top_flowbox h3 {
	text-align: center;
}

.top_faq {
	padding: 5% 0;
}

.accordion-content {
	display: none;
}

.accordion-header {
  background-color: #00A1E9;
  padding: 12px 45px 10px 20px;
  margin: 10px 0 0;
  transition: background .3s ease;
  cursor: pointer;
  position: relative;
}

.accordion-header::before,
.accordion-header::after{
  position:absolute;
  content:'';
  top:1px;
  right:20px;
  bottom:0;
  width:12px;
  height:2px;
  margin:auto;
  background:#fff;
}
.accordion-header::after{
  transform:rotate(-90deg);
  transition:transform 0.3s;
}
.accordion-header.active::after{
	transform:rotate(0deg);
}

.accordion-content {
	padding: 12px 20px 10px 40px;
}

.accordion-header span,
.accordion-content span {
	padding-left: 25px;
	position: relative;
	color: #fff;
    font-weight: bold;
}

.accordion-content span {
	color: #333;
	font-weight: normal;
	padding: 0;
}

.accordion-header span::before{
	position: absolute;
    content: "Q";
    top: -5px;
    left: 0;
    color: #fff;
    font-size: 17px;
}

.accordion-content span::before{
    position: absolute;
    content: "A";
    top: -5px;
    left: -20px;
    color: #333;
    font-size: 17px;
	font-weight: bold;
}

.accordion h3:nth-of-type(n+2) {
	margin: 30px 0;
}

.top_company {
	padding-bottom: 0;
	padding-top: 5%;
}

.top_company .maxwidth {
	margin-bottom: 10%;
}

.top_products h2,
.top_company h2 {
	width: fit-content;
	margin: 0 auto 30px;
	text-align: center;
}

.top_products .btn {
	margin: 0 0 0 auto;
}

.top_products .maxwidth p {
	text-align: center;
	margin-top: 30px;
}

.top_productswrap {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	margin: 30px 0 0 0;
}

.top_productswrap li {
	width: 33.33333333%;
	position: relative;
}

.top_productswrap li h3 {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50% , -50%);
	width: fit-content;
    background-color: rgb(0, 161, 233, 0.5);
    padding: 0 10px;
    color: #fff;
	margin: 0;
	white-space: nowrap;
}

.top_productswrap li figure {
	filter: grayscale(0);
	transition-duration: 0.5s;
}

.top_productswrap li:hover figure {
	filter: grayscale(100%);
	transition-duration: 0.5s;
}

.top_productswrap a:hover,
.top_productswrap a:hover img {
	opacity: 1;
}

.top_companywrap {
	display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px;
}

.top_companywrap figure {
    overflow: hidden;
    width: 40%;
}

.top_companywrap figure img {
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.top_companybox {
	width: 45%;
}

.top_companybox table {
	margin-bottom: 30px;
}

.top_companybox table th {
	position: relative;
	text-align: left;
	width: 95px;
}

.top_companybox table th:after{
	display: block;
	content: "";
	width: 30px;
	height: 2px;
	background-color: #333;
	position: absolute;
	top: calc(50% - 1px);
	right: -15px;
}

.top_companybox table td {
	text-align: left;
	padding:7px 0 7px 30px;
	width: fit-content;
	line-height: 130%;
}

.top_company iframe {
	display: block;
	width: 100%;
}

.top_contact {
	background-image: url("common/images/29835675_l.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	text-align: center;
	position: relative;
}

.top_contact::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	background-color: rgb(255, 255, 255, .7);
	width: 100%;
	height: 100%;
	z-index: 2;
}

.top_contactwrap {
	position: relative;
	z-index: 3;
	padding: 5% 0;
}

.top_contactwrap h2,
.top_contactwrap p {
	margin-bottom: 30px;
}

.top_contactwrap .btn {
	margin: 0 auto;
	text-align: left;
}

.f_nav {
	padding: 5% 0;
}

.f_navwrap {
	display: flex;
    align-items: center;
    justify-content: space-around;
	margin-bottom: 5% !important;
}

.f_navwrap ul li {
	text-align: left;
	padding: 0;
	color: #00A1E9;
}

.f_navwrap ul li a {
	color: #00A1E9;
}

.groupcompany {
	text-align: center;
}

.groupcompany a {
	display: block;
	width: 250px;
	margin: 0 auto;
}

.copyright {
	background-color: #00ACAB;
}

.copyright .maxwidth {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px 0;
}

.copyright .maxwidth p,
.copyright .maxwidth small {
	color: #fff;
}

/* about */
.menu_visual,
.contents .menu_bg {
	background-color: rgb(0, 172, 172, 0.1);
	position: relative;
}

.menu_visual figure img {
	height: 600px;
	object-fit: cover;
}

.menu_visual .maxwidth1980 {
	position: relative;
}

.menu_visual figure {
	width: calc(100% - 57px);
    margin: 0 0 0 auto;
    border-radius: 30px 0 0 30px;
    overflow: hidden;
	position: relative;
}

.menu_visual figure::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	margin: 0 0 0 auto;
    border-radius: 30px 0 0 30px;
	background-color: rgb(0, 172, 171, 0.4);
}

.menu_visual h2 {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50% , -50%);
	text-align: center;
	color: #fff;
}

.menu_comment {
	text-align: center;
	padding: 0 5% 5%;
	position: relative;
	z-index: 2;
}

.menu_bg::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 30px;
	right: 0;
	width: fit-content;
	height: fit-content;
	color: #fff;
	font-size: 5rem;
    font-family: "Pacifico", cursive;
}

.about .menu_bg::after {
	content: "CSP";
}

.products .menu_bg::after {
	content: "PRODUCTS";
}

.company .menu_bg::after {
	content: "COMPANY";
}

.menu_contentsbox p {
	text-align: center;
}

.menu_contentsbox {
	margin-bottom: 5%;
}

.menu_contentsbox:nth-last-of-type(1) {
	margin-bottom: 0;
}

.abouttext {
	border-radius: 5px;
	padding: 10px;
	background-color: #00A1E9;
}

.abouttext h3,
.abouttext p {
	color: #fff;
}

.abouttext h3 {
	border-bottom: 1px solid #fff;
}

/* products */
.products .menu_bg {
	margin-bottom: 0;
}

.products .contentswrap {
	padding-bottom: 0 !important;
}

.flexbox > .wp-block-group__inner-container {
	display: flex;
	justify-content: center;
	align-items: center;
}

.flexbox:nth-of-type(even) .wp-block-group__inner-container {
	flex-direction: row-reverse;
}

.flexbox figure {
	width: 50%;
}

.flexbox .flexbox_text {
	width: 690px;
	margin: 0 auto;
	padding: 0 10px;
}

.flexbox figure img {
	height: 600px;
}

.flexbox_text p:nth-of-type(1) {
	margin-bottom: 30px;
}

.products {
	padding-bottom: 0;
}

.products .menu_contentswrap .maxwidth1980 {
	margin-bottom: 0;
}

.products .menu_contentswrap {
	padding-bottom: 0;
}

.products .flexbox_text h3 {
	padding: 0px 0 10px 10px;
}

/* company */
.company_box {
	margin-bottom: 5%;
}

.company_box table {
	width: 100%;
	margin: 0 auto;
}

.company_box td {
	border: 1px solid #00ACAB !important;
}

.company_box th,
.company_box td {
	padding: 10px;
}

.company_box th {
	color: #fff;
	background-color: #00ACAB;
	border-bottom: 1px solid #fff !important;
	border-right: none !important;
    border-left: none !important;
	border-top: none !important;
	width: 150px;
}

.company_box tr:nth-last-of-type(1) th {
	border-bottom: 1px solid #00ACAB !important;
}

.company_box tr:nth-of-type(1) th {
	border-top: 1px solid #00ACAB !important;
}

/* sidebar */
.sidebar {
	width: 250px;
	padding-top: 0 !important;
}

.sidebar h4 {
	margin: 0;
}

.sidebar_menu > li {
	margin-bottom: 20px;
}

.sidebar_menu h2 {
	font-size: 1rem;
	margin: 0;
	padding-left: 15px;
	border-left: 5px solid #00A1E9;
	background-color: #f4f4f4;
}

.sidebar_menu {
	margin-top: 0;
}

/* contents */
.contents_visual::before {
	top: -30%;
}

.contents article {
	padding-bottom: 5%;
}

.contents .contentswrap section:nth-of-type(2) {
	padding-top: 5%;
}

.contents.products .contentswrap section:nth-of-type(2) {
	padding-top: 0;
}

.contents_visual .visual {
	width: 92%;
	margin: 0 0 0 auto;
}

.contents_visual .visual img {
	height: 600px;
}

.contents .pagetitle {
	margin: 0;
}

.contents .wp-block-button__link {
	background-color: initial;
	border-radius: initial;
	font-size: 1rem;
}

.confirmation .pre-wrap {
	white-space: pre-wrap;
}

/* post */	
.singlewrap {
	padding-top: 5% !important;
}

.informationwrap,
.archivewrap,
.singlewrap,
.categorywrap {
	display: flex;
	justify-content: center;
	gap: 30px;
	padding: 0 10px;
}

.informationwrap {
	padding-top: 5%;
}

.informationwrap .news__wrap--contents {
	width: 100%;
}

.news__wrap--matchbox {
	border-bottom: 1px solid #333;
	display: block;
	margin: 0 0 25px 0;
}

.news__wrap--matchbox h3 {
	margin: 0;
}

.news__category {
	margin: 0 10px;
	padding: 0 10px;
	display: inline-block;
}

.pagination {
	margin-top: 10%;
}

.page-numbers {
	display: flex;
    justify-content: center;
    align-items: center;
}

.page-numbers li {
	text-align: center;
	width: 40px;
	height: 40px;
}

.page-numbers li span,
.page-numbers li a {
	width: 100%;
	height: 100%;
	display: flex;
}

.page-numbers li .current {
	background-color: #00A1E9;
    color: #fff;
    font-weight: 600;
}

.page-numbers li:hover {
	background-color: #cccccc;
}


/* contact */
.contact article {
	padding-bottom: 5%;
}

.contact table,
.confirmation table {
	width: 100%;
}

.contact td,
.confirmation td {
	width: auto !important;
	background-color: initial !important;
}

.contact tr,
.confirmation tr {
	border-top: 1px solid #f3f3f3;
	border-bottom: 1px solid #f3f3f3;
	border-left: none !important;
	border-right: none !important;	
}

.contact th,
.contact td,
.confirmation th,
.confirmation td {
	padding: 20px;
	box-sizing: border-box;
}

.contact th,
.confirmation th {
	padding-left: 50px;
	position: relative;
	text-align: left;
	width: 300px;
}

.contact td input,
.confirmation td input {
    height: 50px;
    width: 100%;
    font-size: 1.2rem;
    box-sizing: border-box;
}

.contact .content,
.confirmation .content {
    width: 100% !important;
    height: 300px;
    font-size: 1rem;
	box-sizing: border-box;
}

.contact input,
.confirmation input,
select,
textarea,
button {
  border: none;
}

.privacypolicy_wrap input {
	-moz-appearance: inherit;
	-webkit-appearance: auto;
	-webkit-box-shadow: inherit;
	box-shadow: inherit;
	outline: inherit;
	border: inherit;
} 
 
.contact input,
.confirmation input,
textarea {
	display: block;
	font-size: 16px;
	padding: 12px 15px;
	width: 480px;
	transition: 0.8s;
	border-radius: 0;
	background-color: #f3f3f3;
}

.contact input,
.confirmation input {
	width: 200px;
}
 
.contact input:focus,
.confirmation input:focus,
textarea:focus {
  background: #e9f5fb;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
 
textarea {
  display: inline-block;
  width: 100%;
  height: 200px;
}
 
input::placeholder,
textarea::placeholder {
  color: #ccc;
}

.sendwrap {
    text-align: center;
}

.sendwrap p {
    margin: 5% auto 0 !important;
    width: fit-content;
	padding: 0;
}

.privacypolicy_link {
    border-bottom: 1px solid;
    color: blue;
}

.send {
    padding: 2% 0 0;
}

.send input {
    height: 50px;
    border: none;
    font-size: 1rem;
    cursor: pointer;
	margin: 0 auto;
	background-color: #67996e;
	color: #fff;
}

.mwform-checkbox-field-text {
	font-size: 1.2rem;
}

.mwform-checkbox-field label, .mwform-radio-field label {
    display: flex;
    justify-content: center;
    align-items: center;
}

.mwform-checkbox-field input, .mwform-radio-field input {
    margin-right: 15px !important;
    width: 20px;
    height: 20px;
}

.confirmation .main_contents,
.usually_confirmation .main_contents {
    display: block;
}

.confirmation td {
	text-align: left;
}

.confirmation .privacypolicy_wrap {
	display: none;
}

.confirmation .contentswrap .wp-block-contact-form-7-contact-form-selector {
	padding-top: 5%;
}

.confirmation .send {
	display: flex;
	gap: 30px;
	margin: 0 auto;
}

.checkbox01 input {
	width: 20px !important;
	height: 20px !important;
	margin: 0 auto;
}

.privacypolicy_wrap label {
	display: flex;
	justify-content: center;
	align-items: center;
}

.privacypolicy_wrap input {
	width: auto !important;
}

.privacypolicy_wrap a {
	color: blue;
}

.checkbox01 {
	display: inline-block;
    margin-right: 8px;
    accent-color: #FDC7E1;
}

.wpcf7-spinner {
	display: none !important;
}

.required {
	color: red;
	font-size: 0.7rem;
    padding-left: 10px;
}

.wpcf7-previous {
	width: fit-content !important;
}

@media screen and (max-width: 1200px) and (min-width: 1px) {
	.maxwidth {
		max-width: inherit;
		width: 90%;
		margin: 0 auto;
	}
}

@media screen and (max-width: 1024px) and (min-width: 1px) {
	.top_about .president {
		top: inherit;
		bottom: 190px;
		width: 550px;
	}
	
	.top_about .staff {
		margin: 250px 0 0 0;
	}
	
	.top_flowwrap {
		flex-wrap: wrap;
	}
	
	.top_flowbox {
		width: 50%;
	}
	
}


@media screen and (max-width: 768px) and (min-width: 1px) {
	.sp,
	.globalnavi__background {
		display: block;
	}
	
	.pc {
		display: none;
	}
	
	.none .globalnavi {
		transition: none;
	}
	
	body.active {
        position: absolute;
        max-width: 100%;
        max-height: 100%;
        overflow: hidden;
    }
	
	.globalnavi {
		pointer-events: none;
		opacity: 0;
		width: 100%;
		z-index: 1000;
		overflow: auto;
		transition: 0.5s;
		padding: 100px 0;
		position: fixed;
		top: 0;
		left: 0;
		height: 100vh;
	}
	
	.active .globalnavi {
		pointer-events: auto;
		opacity: 1;
		background-color: #fff;
	}
	
	.globalnavi__hamburger {
		position: fixed;
		right: 18px;
		top: 12.5px;
		width: 45px;
		height: 45px;
		cursor: pointer;
		z-index: 2000;
		display: block;
	}
	
	.globalnavi__hamburger .globalnavi__hamburger--line {
		display: block;
		position: absolute;
		width: 35px;
		border-bottom: solid 4px #333;
		-webkit-transition: .35s ease-in-out;
		-moz-transition: .35s ease-in-out;
		transition: .35s ease-in-out;
		left: 6px;
		border-radius: 10px;
	}
	
	.active .globalnavi__hamburger span:nth-child(1) {
		top: 18px;
		left: 6px;
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		transform: rotate(-45deg);
		border-bottom: solid 3px #333;
	}
	
	.active .globalnavi__hamburger span:nth-child(2), 
	.active .globalnavi__hamburger span:nth-child(3) {
		top: 18px;
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		transform: rotate(45deg);
		border-bottom: solid 3px #333;
	}
	
	.h_logo figure {
		height: auto;
		margin: 0 auto;
	}
	
	.globalnavi .h_logo {
		margin: 0 auto 30px;
	}
	
	.globalnavi__hamburger span:nth-child(1) {
		top: 9px;
	}
	
	.globalnavi__hamburger span:nth-child(2) {
		top: 20px;
	}
	
	.globalnavi__hamburger span:nth-child(3) {
		top: 31px;
	}
	
	.globalnavi__hamburger--open {
		opacity: 1;
		transition: 1s;
		position: absolute;
		left: 3px;
		font-size: 14px;
		top: 30px;
	}
	
	.active .globalnavi__hamburger--open,
	.globalnavi__hamburger--close {
		opacity: 0;
	}
	
	.active .globalnavi__hamburger--close {
		opacity: 1;
		transition: 1s;
		position: absolute;
		left: 5px;
		font-size: 14px;
		top: 30px;
	}
	
	.active .overlay {
		width: 100%;
		height: 100vh;
		background: rgba(0,0,0,0.5);
		position: absolute;
		top: 0;
		left: 0;
		z-index: 100;
	}
	
	.globalnavi ul {
		display: block;
		margin: 0 auto;
		height: initial;
	}
	
	.globalnavi__item {
		display: flex;
		flex-wrap: wrap;
		width: 100%;
		position: relative;
		padding: 0;
		height: auto;
		border: none;
		border-bottom: 1px solid #ddd;
	}
	
	.globalnavi__item:nth-of-type(1) {
		border-top: 1px solid #ddd;
	}
	
	.globalnavi__toggle > a {
		width: calc(100% - 80px) !important;
	}
	
	.globalnavi__item a {
		display: inline-block;
		width: 100%;
		color: #333;
		padding: 10px 0;
	}
	
	.globalnavi__item .toggle-icon {
		width: 60px;
		display: inline-block;
	}

	.sub-menu {
		visibility: inherit;
		transition: none;
		opacity: 1;
		display: none;
		padding-top: 0 !important;
		width: 100% !important;
		position: inherit;
		left: 0;
		background-color: #fff;
	}
	
	.sub-menu li {
		position: relative;
		padding: 0 !important;
		width: 50%;
		margin: 0 auto;
		text-align: left;
		border-bottom: 5px solid #f0f0f0;
		background-color: #fff;
	}
	
	.sub-menu li:nth-last-of-type(1) {
		border-bottom: 5px solid #f0f0f0;
	}
	
	.sub-menu a {
		width: 100%;
		display: block;
		padding-left: 10px;
	}
	
	.globalnavi__item.on {
		background-color: #f0f0f0;
		border-bottom: none;
	}
	
	.on .sub-menu {
		background-color: #f0f0f0;
	}
	
	.toggle-icon .fa-minus {
		display: none;
	}
	
	.toggle-icon i {
		width: 100%;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
	}
	.toggle-icon .fa-plus::before,
	.toggle-icon .fa-minus::before {
		width: 100%;
		height: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	.toggle-icon.active .fa-plus {
		display: none;
	}
	
	.toggle-icon.active .fa-minus {
		display: block;
	}
	
	.globalnavi .logo {
		margin: 10px auto 0 !important;
		width: 150px;
		height: initial;
	}
	
	.globalnavi__toggle a {
		display: inline-block;
		color: #333;
	}
	
	.globalnavi__item:nth-of-type(1)::before,
	.sub-menu li:nth-of-type(1)::before {
		display: none;
	}
	
	.globalnavi__item a::after {
		display: none;
	}
	
	.top_mainvisual figure img {
		height: 500px;
		object-fit: cover;
	}
	
	.menu_visual figure img {
		height: 400px;
	}
	
	.news__time, .news__category {
		text-align: left;
	}
	
	.top_news .maxwidth {
		display: block;
	}
	
	.news__wrap--contents {
		width: 100%;
		margin-top: 5%;
	}
	
	.topnews__wrap--contentstext h3 {
		margin: 0;
	}
	
	.topnews__wrap--contentstext a div {
		display: block;
	}
	
	.topnews__wrap--contentstext {
		padding-bottom: 5px;
		margin-bottom: 5px;
	}
	
	.top_productswrap li {
		width: 50%;
	}
	
	.top_companywrap {
		display: block;
	}
	
	.top_companybox table th:after {
		content: none;
	}
	
	.top_companywrap figure {
		width: 100%;
		margin-bottom: 30px;
	}
	
	.top_companywrap .top_companybox {
		width: 100%;
	}
	
	.top_companywrap figure img {
		aspect-ratio: initial;
		object-fit: initial;
	}
	
	.f_navwrap {
		display: block;
	}
	
	.f_navwrap figure {
		width: 150px;
		margin: 0 auto;
	}
	
	.f_navwrap ul li {
		border: none !important;
	}
	
	.f_navwrap nav ul {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
		margin-top: 5%;
	}
	
	.f_navwrap ul li {
		border: none !important;
        width: fit-content;
        padding: 0 20px;
	}
	
	.flexbox > .wp-block-group__inner-container {
		display: block;
		margin-bottom: 10%;
	}
	
	.flexbox figure {
		width: 100%;
	}
	
	.flexbox .flexbox_text {
		width: 90%;
		margin: 30px auto 0;
		padding: 0;
	}
	
	.flexbox figure img {
		height: 250px;
	}
	
	.flexbox_text h3,
	.flexbox_text h4 {
		margin: 0;
	}
	
	.groupcompany a {
		width: 150px;
	}
	
	/* post */
	.informationwrap,
	.archivewrap,
	.singlewrap,
	.categorywrap {
		display: block;
	}
	
	table td, table th {
		width: 100% !important;
		display: block;
	}
	
	.sidebar {
		width: 96%;
		margin: 30px auto 0;
	}
	
	.contact td {
		padding-top: 0 !important;
	}
	
	.contact th,
	.confirmation th,
	.confirmation td {
		padding: 5px 10px 5px 20px;
	}
	
}

@media screen and (max-width: 550px) and (min-width: 1px) {
	.top_mainvisual figure,
	.menu_visual figure {
		width: 100%;
	}
	
	.mousey {
		border: 2px solid #fff;
	}
	
	.scroller,
	.scroll::before {
		background-color: #fff;
	}
	
	.scroll {
		color: #fff;
	}
	
	.top_about .president {
		width: 100%;
	}
	
	.top_about .staff {
		width: 250px;
	}
	
	.top_about .president {
		width: 85%;
		bottom: 160px;
	}
	
	.top_about .president img {
		height: 270px;
		object-fit: cover;
	}
	
	.top_productswrap li h3 {
		font-size: 0.8rem;
	}
	
	.top_companybox table th,
	.top_companybox table td {
		display: block;
		width: 100%;
	}
	
	.top_companybox table th:after {
		content: none;
	}
	
	.f_navwrap ul li {
		width: 50%;
		text-align: center;
		padding: 0;
	}
	
	.f_navwrap ul li a {
		width: 100%;
	}
	
	.copyright .maxwidth {
		display: block;
		text-align: center;
	}
	
	.company_box tr {
		display: block;
	}
	
	.company_box th,
	.company_box td {
		width: 100%;
		display: block;
	}
	
	.company_box th {
		border-bottom: none !important;
	}
	
	.top_flowbox {
		width: 100%;
		margin-top: 30px !important;
	} 
}
