<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "utf-8";
/* TOP スライダー
 ====================================================*/
.slider_img img {
	width: calc(100% - 20%);
	max-width: 100%;
	height: 100vh;
	margin-inline: auto 0;
	object-fit: cover;
}
.slick-dots {
  position: absolute;
  bottom: var(--fs10);
}
.slick-dots li button::before {
  font-size: var(--fs13);
}
.slick-dots li.slick-active button::before {
  opacity: 100;
  color: yellow;
}
.slick-dots li button::before {
  opacity: 100;
  color: white;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.slider_wrap{
	position: relative;
	height: 100vh;
}
/* zoomするslider */
.slider {
  height: 53vw;
  margin-inline: auto 0;
  overflow: hidden; /* 画像がはみ出ないようにする */
  width: 80vw;
}
.slick-img img {
  width: 100%;
}
@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15); /* 拡大率 */
  }
}
.add-animation {
  animation: zoomUp 10s linear 0s normal both;
}

.top_copy{
	position: absolute;
	top: 20%;
	left: 10%;
}
.top_copy h2{
	display: table;
	background-color: #fff;
  	padding: 10px;
  	font-size: 5rem;
  	font-weight: 600;
  	margin-top: 10px;
  	line-height: 1;
}
.top_copy h3{
	margin-top: 10px;
	font-size: 1.8rem;
	line-height: 1.8;
	text-shadow: 0px 0px 8px #fff;
}
.top_info_kotei{
	position: absolute;
	bottom: 0;
	right: 0;
	background-color: #fff;
	padding: 10px 20px;
}
.top_info_kotei ul{
	display: flex;
}
/* scroll_down */
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@300;400&amp;display=swap');

.scroll_down{
  position:absolute;
  bottom: 0px;
  left: 2%;
}
.scroll_down a{
  position: absolute;
  left: 10px;
  bottom: 87px;
  font-size: 1.3rem;
  letter-spacing: .2em;
  writing-mode: vertical-lr;
  text-decoration: none;
  text-transform: uppercase;
}
.scroll_down:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: -4px;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background:#000;
  animation:
    circlemove 1.6s ease-in-out infinite,
    cirlemovehide 1.6s ease-out infinite;
}

@keyframes circlemove{
  0%{bottom:130px;}
  80%{bottom:0px;}
}
@keyframes cirlemovehide{
  0%{opacity:0}
  50%{opacity:1;}
  80%{opacity:0.9;}
  100%{opacity:0;}
}
.scroll_down:after{
  content:"";
  position: absolute;
  bottom:0;
  left:0;
  width: 1px;
  height: 100px;
  background:#000;
}

/* TOP コンテンツ
 ====================================================*/
.news_wrap{
	display: flex;
	background-color: var(--g_color);
}
.news_wrap .ttl_wrap{
	width: 30%;
	padding: 30px 0;
}
.company_wrap{
	display: flex;
  height: auto;
  width: 100%;
  background-image: linear-gradient(90deg, rgba(0, 148, 210, 1), rgba(0, 57, 100, 0.81) 80%);
	gap: 50px;
  padding: 40px 10% 40px 0;
}
.company_wrap figure,
.company_wrap .company_in{
	width: 50%;
}
.company_wrap figure img{
	width: 100%;
}
.company_in{
	color: var(--wh);
}
.service_in .service_list{
	display: flex;
	gap: 30px;
}
.service_in .service_list:nth-child(even){
	display: flex;
	flex-direction: row-reverse; /*左右入れ替え*/
}
.service_in .service_list li.txt{
	width: 30%;
}
.service_in .service_list li.txt_01{
	margin-left: 300px;
}
.service_in .service_list li.txt_02{
	margin-right: 300px;
}
.service_in .service_list li.img{
	width: 70%;
}
.service_in .service_list li.img img{
	width: 100%;
}
.about_wrap{
	background-image:url("../img/top/about_bk_img.jpg");
	padding-block: 60px;
	background-size: cover;
  	height: auto;
  	width: 100%;
}
.about_list{
	width: min(100%, 800px);
  	display: flex;
  	flex-wrap: wrap;
  	justify-content: center;
  	margin-inline: auto;
  	gap: 10px;
}
.about_list li{
	  width: calc(100% / 2 - 10px);
}
.about_list li a{
	background-color: var(--wh);
  	height: 140px;
  	display: flex;
  	justify-content: center;
  	align-items: center;
}
.office_list{
	display: flex;
	  flex-wrap: wrap;
	text-align: center;
	justify-content: center;
  	gap: 30px;
}
.office_list li{
	width: calc(100% / 2 - 30px);
	margin-bottom: 40px;
}
.office_list li iframe,
.office_list li img{
	width: 100%;
}

/* PAGE
 ====================================================*/
.page_in_01{
	background-color: #e4f0fa;
	padding: 40px 70px;
}
.page_head{
	display: flex;
  	background-color: var(--db_color);
  	color: var(--wh);
  	height: 400px;
  	align-items: center;
	margin-bottom: 60px;
	margin-top: 90px;
}
.page_head div{
	width: 80%;
}
.page_head div img{
	width: 100%;
  	height: 400px;
  	object-fit: cover;
}
.page_head div.ttl_wrap{
	width: 20%;
}
/* アコーディオン */
.qa{margin-block: 25px;}
.qa summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding: 10px 30px 10px 50px;
  font-weight: 600;
  cursor: pointer;
  background-color: var(--wh);
  border: 1px solid var(--base);
  font-size: 2rem;
}

.qa summary::before,
.qa p::before {
    position: absolute;
    left: 1em;
    font-weight: 600;
    font-size: 1.3em;
}

.qa summary::after {
    transform: translateY(-25%) rotate(45deg);
  width: 15px;
  height: 15px;
  margin-left: 10px;
  border-bottom: 3px solid var(--gr_color);
  border-right: 3px solid var(--gr_color);
  content: '';
  transition: transform .5s;
}

.qa[open] summary::after {
    transform: rotate(225deg);
}

.qa p {
    position: relative;
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 3em 1.5em;
    color: #333;
    transition: transform .5s, opacity .5s;
}

.qa[open] p {
    transform: none;
    opacity: 1;
}

/* SERVICE
 ====================================================*/
.elec_table{
	border-top: 1px solid var(--base);
	border-left: 1px solid var(--base);
	font-size: 1.3rem;
	background-color: var(--wh);
	width: 100%;
	margin-top: 20px;
}
.elec_table th{
	background-color: var(--gr_color);
	border-right: 1px solid var(--base);
	color: #fff;
	text-align: center;
	padding: 10px 0;
}
.elec_table td{
	border-bottom: 1px solid var(--base);
	border-right: 1px solid var(--base);
	padding: 10px;
}

/* COMPANY
 ====================================================*/
.tab_menu{
	display: flex;
	justify-content: center;
	gap: 10px;
	margin-bottom: 50px;
}
.tab_menu a {
	font-size: 1.4rem;
  display: block;
  border: 1px solid var(--b_color);
  width: 160px;
  padding-block: 10px 11px;
  text-align: center;
}
.company .tab_menu a[href*="/company/"]{
	background-color: var(--b_color);
	color: #fff;
}
.company-history .tab_menu a[href*="/company-history"]{
	background-color: var(--b_color);
	color: #fff;
}
.company-info .tab_menu a[href*="/company-info"]{
	background-color: var(--b_color);
	color: #fff;
}

.company .message_wrap p{
	margin-bottom: 1em;
}
.company .message_wrap .name_img{
	width: 250px;
	margin-left: auto;
	margin-top: 20px;
}
.company .message_wrap .name_img img{
	width: 100%;
}
.company_table table{
	width: 100%;
	border-bottom: 1px solid var(--b_color);
	margin-bottom: 10vh;
}
.company_table caption{
	border-left: 8px solid var(--b_color);
  	padding-left: 10px;
  	margin-bottom: 10px;
  	line-height: 1.5;
    font-size: clamp(2rem, calc(0.75rem + 1vw), 2.4rem);
  	font-weight: bold;
}
.company_table th{
	border-top: 1px solid var(--b_color);
	background-color: #e9f3fb;
	padding: 15px 20px;
	font-weight: normal;
	width: 25%;
}
.company_table td{
	padding: 15px 20px;
	border-top: 1px solid var(--b_color);
	width: 70%;
}

/* BLOG
 ====================================================*/
.information .archive_wrap{
	border-bottom: 3px solid var(--b_color);
	margin-bottom: 30px;
	padding-bottom: 0.3rem;
	padding-top: 0.3rem;
}
.information .archive_list{
	display: flex;
	gap: 0.3rem;
}
.information .archive_ttl{
	font-size: 1.8rem;
	margin-bottom: 5px;
}
.information .archive_ttl_link{
	color: #263921;
}
.information img{
	margin: 0.1rem auto;
	width: 70%;
	display: table;
}
.post-categories a{
    margin-right: 10px;
	padding: 2px 10px 3px;
	border-radius: 10px;
	color: #fff;
	background-color: var(--b_color);
	font-size: 1.4rem;
}
.information p{
	margin-bottom: 1em;
}

/*--ラジオ　チェック--*/
.mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0 !important;
}
.radio{margin-left:0.3rem;}
label {
  display: block;
}
input[type="radio"] {
  appearance: none;
  display: none;
  opacity: 0;
  width: 1px;
  position: absolute;
  height: 1px;
}
input[type="radio"] + span {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
  padding: 10px 11px 8px 36px;
  border-radius: 4px;
}
input[type="radio"] + span::before,
input[type="radio"] + span::after {
  position: absolute;
  content: "";
  display: block;
  border-radius: 50%;
  top: 0;
  bottom: 0;
  margin: auto 10px auto 0;
  box-sizing: border-box;
}
input[type="radio"] + span::before {
  width: 20px;
  height: 20px;
  background: #fff;
  border: 2px solid #ccc;
  left: 9px;
}
input[type="radio"] + span::after {
  width: 10px;
  height: 10px;
  background: #999999;
  left: 14px;
  opacity: 0;
}
input[type="radio"]:checked + span::before {
  border: 2px solid #ccc;
}
input[type="radio"]:checked + span::after {
  background: #48B12A;
  opacity: 1;
}
/*--チェック--*/
input[type="checkbox"] {
  opacity:0;
  -webkit-appearance: none;
  appearance: none;
  position: absolute;
}
input[type="checkbox"] + span::before {
  display: inline-block;
content: '';
width: 20px;
height: 20px;
border: 2px solid #A5C49D;
border-radius: 5px;
margin-right: 5px;
background-color: #fff;
	position: relative;
top: 5px;
}
input[type="checkbox"]:checked + span::before {
  background-image: url("../img/check.svg");
  background-repeat: no-repeat;
  background-position: 3px;
}
.privacy_check{
	font-size: 1.4rem;
}
.privacy_check a{
	color: #E16C49;
}
.checkboxList span{
	font-size: 1.6rem;
line-height: 1;
display: flex;
align-items: center;
}

/* お問い合わせ
 ====================================================*/
.entry_form_contents{
	width: min(100%, 1000px);
	background-color: #f2f2f2;
	margin-block: 30px 0;
	margin-inline: auto;
	padding-block: 30px;
	font-size: 1.5rem;
}
.entry_form_contents table, .entry_form_contents .entry_form_foot{
	margin-inline: auto;
}
.entry_form_contents table th{
	font-weight: normal;
	line-height: 0;
  	vertical-align: middle;
	width: 400px;
	margin-block: 30px 5px
}
.entry_form_contents table td{
	width: 400px;
}
.entry_form_contents table th, .entry_form_contents table td{
	padding-top: 15px;
  width: 100%;
  display: block;
}
.entry_form_contents input,.entry_form_contents textarea{
	background-color: #fff;
	border: 1px solid #ccc;
  padding: 10px;
  border-radius: 5px;
}
.entry_form_contents .entry_name input{
	border: none;
	background-color: inherit;
	font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 1px;
}
.entry_form_contents span.required{
	background-color: var(--b_color);
  color: #fff;
  border-radius: 5px;
  font-size: 1.1rem;
  padding: 2px 10px 3px;
	margin-right: 8px;
}
.wpcf7-not-valid-tip {
  color: #dc3232;
  font-size: 1.2rem !important;
  font-weight: normal;
  display: block;
}
.entry_form_foot{
	width: min(100%, 800px);
	margin: 30px auto;
}
.entry_form_foot .submit input{
	display: table;
  background-color: red;
  margin-top: 30px;
  color: #fff;
  padding: 10px 40px;
  border-radius: 10px;
  border: none;
  font-size: 1.6rem;
  margin-inline: auto;
	text-align: center;
}
.entry_form_foot .submit.back input{
  background-color: #666;
}
span.wpcf7-spinner {
  display: none;
}
.wpcf7-spinner:before{
	background-color: red !important
}
.entry_form_foot a{
	color: red
}
.entry_form_foot .txt{
	margin-bottom: 15px;
}
.wpcf7-response-output {
   width: min(80%, 800px);
  border-color: #ffb900;
  padding: 10px 5%;
    margin: 30px auto !important;
}
.submit_wrap{
	display: flex;
  justify-content: center;
  gap: 20px;
}


/* SP
 ====================================================*/
@media screen and (max-width: 767px) {
/* SP TOP スライダー
 ====================================================*/
.slider {
  width: 100vw;
}
.top_copy {
  top: 10%;
}
.top_copy h2 {
  font-size: 3rem;
}
.top_copy h3 {
  text-shadow: 0px 0px 8px #000;
  color: #fff;
}	

/* SP TOP コンテンツ
 ====================================================*/
.top_header_logo{
	position: fixed;
	top: 20px;
	left: 20px;
	z-index: 1;	
}
.news_wrap{
	flex-flow: column;
}
.news_wrap .ttl_wrap{
	width: 100%;
	padding: 20px 0;
}
#news {
  width: 100%;
}
.company_wrap{
	flex-wrap: wrap;
  	width: 100%;
	padding: 40px 5%;
}
.company_wrap figure,
.company_wrap .company_in{
	width: 100%;
}
.service_in .service_list li.txt_01 {
  margin-left: 5%;
}
.service_in .service_list li.txt {
  width: 90%;
}
.service_in .service_list li.img {
  width: 100%;
}
.service_in .service_list:nth-child(2n) {
  flex-direction: column;
}
.service_in .service_list li.txt_02 {
  margin-left: 5%;
}
.service_in .service_list {
  flex-wrap: wrap;
}
.office_list li {
  width: 100%;
}
.office_list li iframe, .office_list li img {
  width: 100%;
  height: 250px;
}
.sp_top_copy{
	position: absolute;
    top: 100px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 50%;
}
.sp_top_copy img{
	width: 100%
}
.top_copy h3 {
  margin-top: 410px;
  text-shadow: 0px 0px 8px #000;
}
.company_table th,.company_table td {
  width: 100%;
  display: block;
}	
/* SP PAGE
 ====================================================*/
.page_head {
  flex-flow: column;
	    height: 300px;
}
.page_head div.ttl_wrap {
  width: 100%;
  margin-bottom: 20px;
}
.page_head div {
  width: 100%;
}
.page_head div img {
  height: 200px;
}
.page_head div.ttl_wrap {
  width: 100%;
  margin-bottom: 20px;
}
.page_in_01 {
  padding: 20px 30px;
}
/* アコーディオン */
.qa summary {
  font-size: 1.6rem;
}

/* SP COMPANY
 ====================================================*/
.tab_menu a {
  font-size: 1.3rem;
  width: 120px;
}
	
/* SP SERVICE
 ====================================================*/
.elec_table{
	font-size: 1.2rem;
}
.elec_table td {
  padding: 10px 5px;
}
	
/* SP お問い合わせ
 ====================================================*/
.entry_form_contents input, .entry_form_contents textarea {
  width: 100%;
}
.entry_form_contents table, .entry_form_contents .entry_form_foot {
  width: 90%;
}
.entry_form_contents .yubinbango{
		display: flex;
	margin-bottom: 5px;
}
.entry_form_contents .yubinbango input{
		width: 30%;
}
}</pre></body></html>