@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/



/* footer */
.w-footer__box .menu {
  display: flex;
  flex-wrap: wrap;
}
.w-footer__box .c-listMenu a {
  font-size: 0.75rem;
  border-bottom:none;
}
.w-footer__box .menu-item a::before {
  display: inline-block;
  content: "・";
  margin-right: 0.3em;
}


/* top */
/* hero image */
.home .l-content {
	margin-bottom:0;
}
.p-mainVisual__slideTitle {
  font-weight: 700;
  font-size: 2.1rem;
  text-shadow:2px 2px 0px rgba(0, 0, 0, 0.5);
}
/*
@media (min-width: 600px) {
  .-height-full .p-mainVisual__slideText {
    font-size: 1.4rem;
    text-shadow:2px 2px 0px rgba(0, 0, 0, 0.5);
	}
}
*/

/* company */
.top_comp_info dt {
	float:left;
	font-weight:700;
}
.top_comp_info .swell-block-dl__dd + .swell-block-dl__dt {
	margin-top:0;
}
.top_comp_info dd {
	padding-left:7em;
	padding-top:0;
}

/* map */
.google_map {
  filter: grayscale(100%);
}




/* menu */
.c-gnav>.menu-item>a .ttl {
  font-size: 16px;
}
.c-gnav>.menu-item>a .c-smallNavTitle {
  font-size: 12px;
}
.c-gnav>.sub-menu>a .ttl {
  font-size: 1em;
}

/* solar */
.dl_solar_installation dt.swell-block-dl__dt {
  float:left;
	padding-top:0;
	padding-bottom:0;
	margin-top:0;
}
.dl_solar_installation dd {
	padding-top:0;
	padding-left:7em;
}

/* table */
.company_info th {
	width:9em !important;
}
.officer_prof th {
	width:5em !important;
}
.philosophy_table th {
	width:9em !important;
}
.solar_table th {
	width:10em !important;
}
.hydro_table th {
	width:10em !important;
}
.wind_table  th {
	width:10em !important;
}


/* form */
.contact-form th {
	width:18em;
}
.application-form th {
	width:10em;
}
.form-required {
border:1px #f00 solid;
	background-color:#fff0f0;
	color:#f00;
	margin-right:1em;	
	padding:2px 10px;
	font-size:0.75em;
}
.form-any {
border:1px #999 solid;
	background-color:#f0f0f0;
	color:#999;
	margin-right:1em;	
	padding:2px 10px;
	font-size:0.75em;
}
.wpcf7-acceptance {
  margin: 1em 0;
  display: block;
}
.wpcf7-acceptance .wpcf7-list-item {
	margin:0;
}
.inquiry-type {
	text-align:center;
}
.wpcf7-submit {
	display:block;
	margin:auto;
	width:7em;
}
.application-form th {
  width: 18em;
}
.contact-form .wpcf7-form-control.wpcf7-text,
.contact-form .wpcf7-form-control.wpcf7-textarea,
.application-form .wpcf7-form-control.wpcf7-text,
.application-form .wpcf7-form-control.wpcf7-textarea {
	width:100%;
}
.application-form .wpcf7-select {
	margin-left:5px;
	margin-right:5px;
}
.application-form .wpcf7-text.text-etc {
	width:50%;
	margin-left:5px;
}
.application-form .wpcf7-file {
	background-color:none;
	border:none;
}




/* スマホ（599px以下）のみ表示 */
@media screen and (max-width: 600px) {
  /* footer */
  .w-footer {
    display:flex;
    flex-direction:column-reverse;
  }
  /* top */
  .p-mainVisual__slideBtn {
    margin:20px auto !important;
  }
  .post_content .top_vision h2.has-text-align-left, 
  .post_content .top_campaign h2.has-text-align-left {
    text-align:center;
  }
  .top_vision h2+p, 
  .top_campaign h2+p {
    text-align:center;
  }
  .top_business_sub br {
    display:none;
  }
  .top_business_img {
    flex-wrap: wrap;
    gap:20px;
  }
  .top_business_img .swell-block-bannerLink {
    flex-basis:calc(calc(100% - 20px) /2);
  }
  .top_business_img .c-bannerLink__title {
    font-size:1em;
  }
  .top_contact_block {}
  .top_contact_block .top_comp_info dt, 
  .top_contact_block .top_comp_info dd {
    display:block;
    width:100%;
    padding-left:0;
    margin-left:0;
    text-align:center;
  }
  .top_contact_block .top_comp_info dt {
    background-color:#eee;
  }

  /* about-us */
  .company_info th,
  .company_info td {
    width:100% !important;
    display:block;
  }
  .wp-block-table.is-style-stripes.company_info tbody tr:nth-child(2n+1) {
    background-color: #fff;
  }
  .wp-block-table.company_info tr {
    background-color: #fff;
  }
  .company_info th {
    background-color: #f0f0f0;
  }

  /* corporate-vision */
  .philosophy_table {
    width:100% !important;
  }
  .philosophy_table th, 
  .philosophy_table td {
    width:100% !important;
    display:block;
  }
  .wp-block-table.is-style-stripes.philosophy_table tbody tr:nth-child(2n+1) {
    background-color: #fff;
  }
  .wp-block-table.philosophy_table tr {
    background-color: #fff;
  }
  .philosophy_table th {
    background-color: #f0f0f0;
  }

  .partner_block {
    
  }

  .dl_solar_installation dt, 
  .dl_solar_installation dd {
    display:block;
    width:100%;
    padding-left:0;
    margin-left:0;
    text-align:center;
  }
  .dl_solar_installation dt {
    background-color:#eee;
  }

  .solar_table th,
  .solar_table td {
    width:100% !important;
    display:block;
  }
  .wp-block-table.is-style-stripes.solar_table tbody tr:nth-child(2n+1) {
    background-color: #fff;
  }
  .wp-block-table.solar_table tr {
    background-color: #fff;
  }
  .solar_table th {
    background-color: #f0f0f0;
  }


  .contact-form {
  }

  .contact-form th, 
  .contact-form td, 
  .application-form th,
  .application-form td {
    width:100% !important;
    display:block;
    border:none;
  }
  .wp-block-table.is-style-stripes.contact-form tbody tr:nth-child(2n+1), 
  .wp-block-table.is-style-stripes.application-form tbody tr:nth-child(2n+1) {
    background-color: #fff;
  }
  .wp-block-table.contact-form tr, 
  .wp-block-table.application-form tr {
    background-color: #fff;
  }
  .contact-form th, 
  .application-form th {
    background-color: #f0f0f0;
  }

  .custom-sp-only {
    display: none;
  }
}

/* タブレット（600px〜959px）のみ表示 */
@media screen and (max-width: 600px), screen and (min-width: 960px) {
/*

  /* footer
  .w-footer {
    display:flex;
    flex-direction:column-reverse;
  }
  /* top 
  .top_business_sub br {
    display:none;
  }
  .top_business_img {
    flex-wrap: wrap;
    gap:20px;
  }
  .top_business_img .swell-block-bannerLink {
    flex-basis:calc(calc(100% - 20px) /2);
  }
  .top_business_img .c-bannerLink__title {
  }
  .top_contact_block {}
  .top_contact_block .top_comp_info dt, 
  .top_contact_block .top_comp_info dd {
    display:block;
    width:100%;
    padding-left:0;
    margin-left:0;
    text-align:center;
  }
  .top_contact_block .top_comp_info dt {
    background-color:#eee;
  }

  .philosophy_table {
    width:100% !important;
  }
  .philosophy_table th {
    width:12em !important;
  }

  .custom-tab-only {
    display: none;
  }
*/
}

/* PC（960px以上）のみ表示 */
@media screen and (max-width: 959px) {
  .custom-pc-only {
    display: none;
  }
}