/*
 Theme Name:   UnderStrap Child
 Theme URI:    https://www.understrap.com
 Description:  UnderStrap Child Theme
 Author:       Holger Koenemann
 Author URI:   http://www.holgerkoenemann.de
 Template:     understrap
 Version:      0.5.2
 License: GNU General Public License v2 or later
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  understrap-child
 Tags: one-column, custom-menu, featured-images, theme-options, translation-ready
 GitHub Theme URI: holger1411/understrap-child
*/


@import url('https://fonts.googleapis.com/css?family=Oswald');



/*-----------　　　style　　　------------*/



@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 500;
}


body {
	font-family: "Yu Gothic" !important;
	font-size: 0.85em !important;
	font-family: 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', YuGothic, 'メイリオ', Meiryo, sans-serif;
	font-weight: 500;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}









/* col-lg- 1200px以上はそのまま */
 
/* col-md- 1199px以下 */
@media screen
    and (max-width: 1199px) {
}
 
/* col-sm- 991px 以下 */
@media screen
    and (max-width: 991px) {
}
 
/* col-xs- 767px 以下 */
@media screen
    and (max-width: 767px) {
}












.cd-primary-nav > ul {
	font-size: 14px !important;
	font-weight: bold;
	list-style: none;
	-webkit-padding-start: 0px;
}
.cd-primary-nav > ul a {
	font-size: 16px !important;
}
.cd-primary-nav > ul a:hover {
	text-decoration: none;
	color:#666;

}
.cd-secondary-nav ul {
	font-weight: bold;

}
.cd-secondary-nav ul a:hover {
	text-decoration: none;
	color: #FFF;

}













a:hover {
    transition: all .2s ease-out;
}


.more-read-btn {
	width: 300px;
	margin-right: auto;
	margin-left: auto;
	padding-top: 15px;
	padding-bottom: 15px;
	margin-top: 70px;
	text-align: center;
	}
.more-read-white a {
	color: #FFF;
	}
.more-read-white a:hover {
	color: #000;
	text-decoration: none;
	}
.more-read-white {
	border: 1px solid #FFF;
    background-color: rgba(255,255,255,0.1);
	}

.more-read-blue a {
	color: #FFF;
	}
.more-read-blue a:hover {
	text-decoration: none;
	font-weight: bold;
	}
.more-read-blue {
	background-color: #52AFD8;
	}















/* col-lg- 1200px以上はそのまま */
.home-contents {
	padding-top: 20px;	
	 }
.page-contents-wrap {
	padding-top: 70px;
	}
/* col-md- 1199px以下 */
@media screen
    and (max-width: 1199px) {
}
 
/* col-sm- 991px 以下 */
@media screen
    and (max-width: 991px) {
}
 
/* col-xs- 767px 以下 */
@media screen
    and (max-width: 767px) {
.home-contents {
	padding-top: 20px;	
	 }
.page-contents-wrap {
	padding-top: 60px;
	}
}






















/* col-lg- 1200px以上はそのまま */

.main-image {
	height: 100vh;
	position: relative;
}
.main-image .main-img {
  width: 100%;
  height: 100vh;

}

.main-image .main-catch {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%); /* Safari用 */
	transform: translate(-50%, -50%);
	color: #FFF;
}
.main-image .main-catch h2 {
	text-align: center;
	font-size: 76px;
	margin-bottom: 20px;
	font-weight: bold;
	white-space: nowrap;
}
.main-image .main-catch span {
	text-align: center;
	display: block;
	font-size: 26px;
	font-weight: bold;
	white-space: nowrap;
}


/* col-md- 1199px以下 */
@media screen
    and (max-width: 1199px) {

.main-image {
	height: 700px;
}
.main-image .main-img {
  height: 700px;
}



}
 
/* col-sm- 991px 以下 */
@media screen
    and (max-width: 991px) {
.main-image {
	height: 500px;
}
.main-image .main-img {
  height: 500px;
}
}
 
/* col-xs- 767px 以下 */
@media screen
    and (max-width: 767px) {
.main-image {
	height: 400px;
}
.main-image .main-img {
  height: 400px;
}		
.main-image .main-catch h2 {
	font-size: 20px;
	margin-bottom: 10px;
	font-weight: bold;
}
.main-image .main-catch span {
	text-align: center;
	display: block;
	font-size: 12px;
	font-weight: bold;

}
.main-image .main-catch span {
	text-align: center;
	display: block;
}
}











/* col-lg- 1200px以上はそのまま */

.mission-section {
	background-image: url(images/rayout/home/mission-back2.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	padding-top: 100px;
	padding-bottom: 100px;
	}
.mission-section h3 {
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 50px;
	font-family: 'Oswald', sans-serif !important;
	}
.mission-section .home-mission-section {
	text-align: center;
	}
.mission-section .home-mission-section span {
	text-align: center;
	display: block;
	font-size: 24px;
	font-weight: bold;
	}
.mission-section .home-mission-section p {
	text-align: center;
	margin-top: 40px;
	margin-bottom: 40px;
	line-height: 2.2;
	}
 
/* col-md- 1199px以下 */
@media screen
    and (max-width: 1199px) {
}
 
/* col-sm- 991px 以下 */
@media screen
    and (max-width: 991px) {
}
 
/* col-xs- 767px 以下 */
@media screen
    and (max-width: 767px) {
.mission-section {
	padding-top: 70px;
	padding-bottom: 70px;
	}
.mission-section h3 {
	font-size: 14px;
	}
.mission-section .home-mission-section span {
	font-size: 18px;
	}
.mission-section .home-mission-section .mini-span {
	display: block;
	}
.mission-section .home-mission-section p {
	width: 85%;
	margin-left: auto;
	margin-right: auto;
	
	}
}












.home-style-section {
	background-image: url(images/rayout/home/promiss.jpg);
	background-repeat: no-repeat;
	padding-top: 70px;
	padding-bottom: 70px;
	background-size: cover;
	color: #FFF;	
	}




















/* col-lg- 1200px以上はそのまま */

.home-develop-section {
	padding-top: 100px;
	padding-bottom: 100px;
	background-color: #FBFBFB;
	}
.home-develop-section h2 {
	text-align: center;
	font-weight: bold;
	margin-bottom: 50px;
	}


.home-service-item {
	margin-bottom: 30px;
	}



.home-service-list .home-service-list-innner a img {
    -webkit-transition: 2s cubic-bezier(0.23, 1, 0.32, 1);
    transition: 2s cubic-bezier(0.23, 1, 0.32, 1);
}
.home-service-list .home-service-list-innner a:hover img {
    transform: scale(1.2);
}
.service-box {
    display: block;
    overflow: hidden;
    position: relative;
}
.s-cover {
    background: rgba(0,0,0,.4);
    opacity: 0;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    transition: opacity .3s ease;
}
/*
.service-box:hover .s-cover {
    opacity: 1;
}
*/
.home-service-list:hover > li .s-cover {
    opacity: 1;
}

.home-service-list:hover > li:hover .s-cover {
    opacity: 0;
}

.s-hover {
    background: rgba(0,0,0,.7);
    color: #fff;
    height: 240px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -178px;
    -webkit-transition:bottom .8s cubic-bezier(0.23, 1, 0.32, 1);
    transition:bottom .8s cubic-bezier(0.23, 1, 0.32, 1);
}
.service-box:hover .s-hover {
    bottom: 0;
}
.s-hover-title {
    color: #fff;
    font-size: 1.0rem;
    line-height: 32px;
    text-align: left;
    padding: 15px 20px;
    position: relative;
}
.s-hover-title::after {
    background: url(svg/icon_arrow_w.svg) no-repeat center center / contain;
    content: "";
    margin: auto;
    width: 10px;
    height: 10px;
    position: absolute;
    bottom: 0;
    right: 15px;
    top: 0;
    transform: rotate(-90deg);
    transition: transform .3s ease;
}
.service-box:hover .s-hover-title::after {
    transform: rotate(0deg);
}
.s-hover-title .ecm {
    font-size: 18px;
    font-weight: 700;
    line-height: 32px;
    margin: 0 10px 0 0;
}
p.s-hover-text {
    text-align: left;
    margin: 0;
    padding: 0 15px 15px;
}
.particles-wrap {
    background: #0583c9;
    overflow: hidden;
    z-index: -1;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    top: 0;
}


 
/* col-md- 1199px以下 */
@media screen
    and (max-width: 1199px) {
.home-develop-section h2 {
	text-align: center;
	font-weight: bold;
	margin-bottom: 50px;
	font-size:32px
	}
		
}
 
/* col-sm- 991px 以下 */
@media screen
    and (max-width: 991px) {

.home-develop-section h2 {
	text-align: center;
	font-weight: bold;
	margin-bottom: 50px;
	font-size:28px
	}

}
 
/* col-xs- 767px 以下 */
@media screen
    and (max-width: 767px) {
.home-service-item {
	overflow: hidden;
	}
.home-develop-section h2 {
	text-align: center;
	font-weight: bold;
	margin-bottom: 50px;
	font-size:24px
	}
}
















.home-works-section {
	padding-top: 70px;
	padding-bottom: 70px;
	}
.home-works-title {
	margin-bottom: 60px;
	text-align: center;
	}
.home-works-section h2 {
	font-size: 28px;
	font-weight: bold;
	}
.home-works-section span {
	display: block;
	font-size: 16px;
	font-family: 'Oswald', sans-serif !important;

	}





















.home-topics-section {
	padding-top: 70px;
	padding-bottom: 70px;
	}

.home-topics-title {
	margin-bottom: 60px;
	text-align: center;
	}
.home-topics-section h2 {
	font-size: 28px;
	font-weight: bold;
	}
.home-topics-section span {
	display: block;
	font-size: 16px;
	font-family: 'Oswald', sans-serif !important;

	}

.home-topics-innner {
	}

.home-topics-item {
	padding-top: 5px;
	padding-bottom: 5px;
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #CCC;
	}

.topics-meta {
	padding-bottom: 5px;
	}
.topics-title h4 {
	font-size: 14px;
	font-weight: normal;
	}





















/* col-lg- 1200px以上はそのまま */


.home-recruit-section {
	background-color: #F2F2F2;
	}

.home-recruit-section .home-recruit-img {
	position: relative;	
	}
.home-recruit-section .home-recruit-img img {
	width: 100%;
    object-fit: cover;
	}
.home-recruit-textback {
	position: relative;	
	}
.home-recruit-textback .home-recruit-text-wrap {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%); /* Safari用 */
	transform: translate(-50%, -50%);
	}
.recruit-title h2 {
	font-weight: bold;
	font-size: 26px;
	}
.recruit-title p {
	margin-top: 30px;
	}
.recruit-title span {
	display: block;
	font-size: 16px;
	font-family: 'Oswald', sans-serif !important;
	}
.recruit-title {
	margin-bottom: 40px;
	}
	
.home-recruit-textback .home-recruit-text-wrap p {
	font-size: 14px;
	margin-bottom: 50px;
	}
.home-recruit-textback .home-recruit-text-wrap .home-recruit-btn {
	padding-top: 10px;
	padding-right: 30px;
	padding-bottom: 10px;
	padding-left: 30px;
	text-align: center;
	border: 1px solid #333;
	min-width: 250px;
	}
 
/* col-md- 1199px以下 */
@media screen
    and (max-width: 1199px) {
}
 
/* col-sm- 991px 以下 */
@media screen
    and (max-width: 991px) {
}
 
/* col-xs- 767px 以下 */
@media screen
    and (max-width: 767px) {
		
		

.home-recruit-section {
	background-color: #F2F2F2;
	}
.recruit-title {
	padding: 20px;
	}
.recruit-title p {
	margin-top: 30px;
	}
.recruit-title h2 {
	font-weight: bold;
	font-size: 26px;
	}
.recruit-title span {
	display: block;
	font-size: 16px;
	font-family: 'Oswald', sans-serif !important;
	}
.recruit-title {
	margin-bottom: 40px;
	}
	
.home-recruit-textback .home-recruit-text-wrap p {
	font-size: 14px;
	margin-bottom: 50px;
	}
.home-recruit-textback .home-recruit-text-wrap .home-recruit-btn {
	padding-top: 10px;
	padding-right: 30px;
	padding-bottom: 10px;
	padding-left: 30px;
	text-align: center;
	border: 1px solid #333;
	min-width: 250px;
	}
}











.map-section {
	margin-bottom: 70px;
	}















.contact-area {
	text-align: center;
	background-image: url(images/rayout/home/contact-area-back.jpg);
	background-size: cover;
	padding-top: 0;
	padding-right: 0;
	padding-bottom: 50px;
	padding-left: 0;
}


.contact-area-title {
	background: #e6e6e6;
	font-size: 1.0rem;
	margin: 0 0 60px;
	padding: 25px;
	position: relative;
	font-weight: bold;
}
.contact-area-title::after {
    border-style: solid;
    border-width: 20px 18px 0 18px;
    border-color: #e6e6e6 transparent transparent transparent;
    content: "";
    margin: auto;
    width: 0;
    height: 0;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -20px;
}

.contact-area-tel {
	color: #FFF;
	font-size: 24px;
	font-weight: bold;
}

.contact-area-tel .time {
	margin: 5px 0 0;
	padding: 5px 0 0;
	border-top-width: 2px;
	border-top-style: solid;
	border-top-color: #FFF;
	color: #FFF;
	font-size: 14px;
	font-weight: normal;
	text-decoration: none;
}
.contact-area-mail {
	font-size: 18px;
}
a.btn-contact {
    background: #0583c9;
    display: block;
    position: relative;
}
.btn-contact::before, .btn-1::before {
    background: rgba(0,0,0,.04);
    content: "";
    z-index: 1;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    top: 0;
    transform: scale(0, 1);
    transform-origin: right center 0;
    transition: transform 1s cubic-bezier(0.23, 1, 0.32, 1) 0s, -webkit-transform 1s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}
a.btn-contact .ef-wrap {
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	display: block;
	line-height: 1.4;
	padding: 20px 20px 20px 60px;
	position: relative;
	z-index: 2;
	background-image: url(images/rayout/home/mail.png);
	background-repeat: no-repeat;
	background-position: 30px center;
}
.contact-area-mail a:hover {
	text-decoration: none;
}

.mobile-contact-margin {
	margin-bottom: 20px;
	}








/* col-lg- 1200px以上はそのまま */

#wrapper-footer {
	background-color: #0583c9;
}

.footer-info-innner-left span {
	display: block;
	font-size: 12px;
	margin-left: 10px;
	}
.footer-info-innner-left img {
	width: 80%;
	margin-bottom: 30px;	
	}
.site-info {
	padding-top: 50px;
	padding-bottom: 50px;
	color: #FFF;
	}
.site-copy {
	font-size: 11px;
	color: #CCC;
	padding-top: 15px;
	padding-bottom: 15px;
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #FFF;
	}
	
	

.footer-list-inner ul {
	list-style-type: none;	
	}
.footer-list-inner ul li {
	margin-bottom: 7px;		
	}
.footer-list-inner ul li a {
	color: #FFF;	
	}
.footer-nav-hline {
	font-size: 14px;
	font-weight: bold;
	}

 
/* col-md- 1199px以下 */
@media screen
    and (max-width: 1199px) {
}
 
/* col-sm- 991px 以下 */
@media screen
    and (max-width: 991px) {
}
 
/* col-xs- 767px 以下 */
@media screen
    and (max-width: 767px) {
.footer-info-innner-left {
	margin-bottom: 40px;	
	}
.footer-info-innner-left span {
	display: block;
	font-size: 12px;
	}
.footer-info-innner-left {
	text-align: center;	
	}
.footer-info-innner-left img {
	width: 50%;
	margin-bottom: 15px;	
	}
.footer-list-inner ul {
	-webkit-padding-start: 0px;
	list-style-type: none;
	text-align: center;	
	}
.footer-list-inner ul li {
	margin-bottom: 7px;		
	}
}














/*****  企業情報リンク *****/

.shortcut-nav-wrap {
	padding-top: 60px;
	padding-bottom: 60px;
	}

	
.home-strong-item {
	margin-bottom: 20px;
    }
.shortcut-item {
	margin-bottom: 15px;
	}
.shortcut-item-inner {
	position: relative;
	}
.shortcut-item-inner img {
	width: 100%;	
	}
.shortcut-item-inner .shortcut-item-text {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%); /* Safari用 */
	transform: translate(-50%, -50%);
	width: 80%;
	text-align: center;
	}
.shortcut-item-inner .shortcut-item-text img {
	}
.shortcut-item-inner .shortcut-item-text span {
	display: block;
	font-size: 16px;
	font-family: 'Oswald', sans-serif !important;
	color: #FFF !important;
	}
.shortcut-item-inner .shortcut-item-text h3 {
	display: block;
	font-size: 16px;
	font-weight: bold;
	color: #FFF !important;
	}



.shortcut-item-inner {
	overflow: hidden;	/*拡大時にはみ出た部分を隠す*/
	background: #000;
}
.shortcut-item-inner img {
	display: block;
	transition-duration: 0.3s;	/*変化に掛かる時間*/
}
.shortcut-item-inner img:hover {
	transform: scale(1.1);	/*画像の拡大率*/
	transition-duration: 0.3s;	/*変化に掛かる時間*/
	opacity: 0.6;	/* 小さくするほど暗くなります */
}





/***** 固定ページヘッダー *****/

/* col-lg- 1200px以上はそのまま */

.page-header {
	padding-top: 100px;
	padding-bottom: 100px;
	background-repeat: no-repeat;
	background-size: cover;	
	}
.page-header h1 {
	text-align: center;
	color: #FFF;
	font-size: 36px;
	font-weight: bold;
	}
.page-head-about {
	background-image: url(images/rayout/home/mission-back.jpg);

	}
	
 
/* col-md- 1199px以下 */
@media screen
    and (max-width: 1199px) {
}
 
/* col-sm- 991px 以下 */
@media screen
    and (max-width: 991px) {
}
 
/* col-xs- 767px 以下 */
@media screen
    and (max-width: 767px) {
.page-header {
	padding-top: 40px;
	padding-bottom: 40px;
	}
.page-header h1 {
	font-size: 22px;
	font-weight: bold;
	}
}








.section-header {
	margin-bottom: 40px;
	text-align: center;
	}
.section-header h2 {
	font-size: 32px;
	font-weight: bold;
	}
.section-header span {
	display: block;
	font-size: 18px;
	font-family: 'Oswald', sans-serif !important;
	}






/***** コンタクトフォーム *****/
.table-contactform7{
  overflow: hidden;
table-layout: fixed;
}
 
.required-contactform7{
  padding: 5px;
  background: #DE8686;
  color: #fff;
  border-radius: 3px;
  margin-right: 3px;
}
 
.unrequired-contactform7{
  padding: 5px;
  background: #BDBDBD;
  color: #fff;
  border-radius: 3px;
  margin-right: 3px;
}
 
.table-contactform7 th{
  font-weight:bold;
}
 
.table-contactform7 input,
.table-contactform7 textarea{
  max-width: 90% !important;
  margin: 5px 10px 10px 5px;
}
 
.address-100 input{
  max-width: 90% !important;
  margin: 5px 10px 10px 5px;
}
 
.message-100 textarea{
  width: 100%;
  margin: 5px 10px 10px 5px;
}
 
@media screen and (min-width: 900px){
  .table-contactform7 th{
    width:28%;
  }
    }
     
@media screen and (max-width: 900px){
.table-contactform7{
  display:block;
}     
       
  .table-contactform7 tbody,
  .table-contactform7 tr{
    display: block;
    width: 100%;
  }
  .table-contactform7 th{
  width:100%;
  display:block;
  margin: 0 auto;
  border:none;
}
.table-contactform7 td{
  display: list-item;
  list-style-type:none;
  margin:0;
  padding:0;
  width: 100%;
  border-top: none !important;
}
}	
	
	
	
	
	




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


.company-wrap img {
	margin-bottom: 40px;
	}


	
.company-wrap table {
	width: 100%;
	margin-bottom: 40px;
	}
.company-wrap th, .company-wrap td  { padding: 10px; border: 1px solid #ddd; }
.company-wrap th  { background: #f4f4f4; }
 
/*----------------------------------------------------
  .demo01
----------------------------------------------------*/
.infomation-table th  { width: 30%; text-align: left; }
 
@media only screen and (max-width:480px){
    .infomation-table { margin: 0 0px; }
    .infomation-table th,
    .infomation-table td{
    width: 100%;
    display: block;
    border-top: none;
    }
  .infomation-table tr:first-child th { border-top: 1px solid #ddd; }
}	
	

.company-right-innner {
	text-align: center;
	padding-top: 15px;
	padding-bottom: 15px;
	}
.company-right-innner img {
	margin-bottom: 10px;
	}
	
.company-right-innner span {
	display: block;
	font-size: 12px;
	font-weight: bold;
	}





/***** 　ごあいさつ　 *****/


.ceo-name {
	text-align: right;
	font-weight: bold;
	}





/***** 事業展開 *****/


/* col-lg- 1200px以上はそのまま */

.develop-section-wrap {
	padding-top: 75px;	
	}
.develop-section-wrap h2 {
	text-align: center;
	margin-bottom: 50px;
	font-size: 24px;
	}

.section-item {
	background-size: cover;
	padding-top: 150px;
	padding-bottom: 150px;
	color: #FFF;
	}
.develop01 {
	background-image: url(images/rayout/develop/dv01.jpg);
	}
.develop02 {
	background-image: url(images/rayout/develop/dv02.jpg);
	}
.develop03 {
	background-image: url(images/rayout/develop/dv03.jpg);
	}
.develop04 {
	background-image: url(images/rayout/develop/dv04.jpg);
	}






.develop-section-left {
	}
.develop-section-left .section-name-wrap {
	text-align: center;
	}
.develop-section-left .section-name-wrap h2 {
	padding: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 30px;
	margin-left: 0px;
	font-size: 36px;
	font-weight: bold;
		border: 1px solid #FFF;
	padding: 20px;
	}

.develop-section-right {
	}
.develop-section-right .section-detail-wrap {
	text-align: center;
	}
.section-detail-wrap a {
	margin-bottom: 40px;
	}
.develop-section-right .section-detail-wrap p {
	margin-bottom: 40px;
	}
.section-develop-text {
	padding-top: 40px;
	padding-bottom: 40px;
	margin-right: auto;
	margin-left: auto;
	background-color: rgba(255,255,255,0.2);
	width: 480px;
	padding-right: 50px;
	padding-left: 50px;
	font-size: 16px;
	line-height: 1.8em;
	text-align: left;
	}




.develop-btn {
    line-height: 50px;
    height: 50px;
    text-align: center;
    width: 250px;
    cursor: pointer;
}
.btn-one {
    color: #FFF;
    transition: all 0.3s;
    position: relative;
}
.btn-one span {
    transition: all 0.3s;
}
.btn-one::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    opacity: 0;
    transition: all 0.3s;
    border-top-width: 1px;
    border-bottom-width: 1px;
    border-top-style: solid;
    border-bottom-style: solid;
    border-top-color: rgba(255,255,255,0.8);
    border-bottom-color: rgba(255,255,255,0.8);
    transform: scale(0.1, 1);
}
.btn-one:hover span {
    letter-spacing: 2px;
}
.btn-one:hover::before {
    opacity: 1; 
    transform: scale(1, 1); 
}
.btn-one::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    transition: all 0.3s;
    background-color: rgba(255,255,255,0.3);
}
.btn-one:hover::after {
    opacity: 0; 
    transform: scale(0.1, 1);
}
 
/* col-md- 1199px以下 */
@media screen
    and (max-width: 1199px) {
}
 
/* col-sm- 991px 以下 */
@media screen
    and (max-width: 991px) {
}
 
/* col-xs- 767px 以下 */
@media screen
    and (max-width: 767px) {
.develop-section-wrap h2 {
	text-align: center;
	margin-bottom: 50px;
	font-size: 18px;
	}
.section-item {
	padding-top: 30px;
	padding-bottom: 30px;
	}
.section-develop-text {
	padding-top: 20px;
	padding-bottom: 20px;
	margin-right: auto;
	margin-left: auto;
	background-color: rgba(255,255,255,0.2);
	width: 90%;
	padding-right: 25px;
	padding-left: 25px;
	font-size: 16px;
	line-height: 1.6em;
	text-align: left;
	}
}








/***** 型枠大工とは *****/



/* col-lg- 1200px以上はそのまま */

.katawaku-text-wrap {
	font-size: 16px;
	line-height: 1.8em;
	background-color: #EBEBEB;
	padding: 40px;
	margin-bottom: 60px;
	border-radius: 5px;
	}
.katawaku-movie-section {
  width: 600px;
  margin-left: auto;
  margin-right: auto;
margin-bottom: 60px;
}
.movie-wrap {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.movie-wrap iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
 
/* col-md- 1199px以下 */
@media screen
    and (max-width: 1199px) {
}
 
/* col-sm- 991px 以下 */
@media screen
    and (max-width: 991px) {
}
 
/* col-xs- 767px 以下 */
@media screen
    and (max-width: 767px) {
.katawaku-movie-section {
  width: 95%;
  margin-left: auto;
  margin-right: auto;
margin-bottom: 40px;
}
}










/***** 　　ごあいさつ　　 *****/



/* col-lg- 1200px以上はそのまま */
.greeting-wrap p {
	width: 80%;
	margin-right: auto;
	margin-left: auto;
	margin-top: 50px;
	margin-bottom: 50px;
	font-size: 16px;
	line-height: 1.8em;
	}
 
/* col-md- 1199px以下 */
@media screen
    and (max-width: 1199px) {
}
 
/* col-sm- 991px 以下 */
@media screen
    and (max-width: 991px) {
}
 
/* col-xs- 767px 以下 */
@media screen
    and (max-width: 767px) {
.greeting-wrap p {
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	margin-top: 50px;
	margin-bottom: 50px;
	font-size: 16px;
	line-height: 1.8em;
	}
}

	

/***** 　　アクセスについて　　 *****/



.access-wrap {
	padding-top: 35px;
	padding-bottom: 35px;
	text-align: center;
	}
.access-wrap h2 {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 20px;
	}
.access-wrap span {
	display: block;
	margin-bottom: 10px;	
	}









/***** 　　採用について　　 *****/




.section-headline {
	padding-top: 40px;
	padding-bottom: 40px;
	text-align: center;
	}
.section-headline h2 {
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #CCC;
	padding-bottom: 15px;
	font-size: 24px;
	}



.recruit-box2 dl{
	width:100%;
	list-style:none;
	border-top: 1px solid #999999;
	overflow:auto;
	

}

.recruit-box2 dt{
	clear:both;
	width:30%;
	float:left;
	padding-top: 15px;
	padding-bottom: 15px;
}

.recruit-box2 dd{
border-bottom: 1px solid #999999;
	padding-left: 30%;
	padding-top: 15px;
	padding-bottom: 15px;
}







	
.headline-sp {
	text-align: center;
	}


.headline-title {
	text-align: center;
	font-size: 50px;
	margin-top: 100px;
	margin-bottom: 100px;
	font-weight: bold;
	}
	
	


.appoint-box {
	margin-top: 60px;
	}




.concept-box h2 {
	text-align: center;
	margin-bottom: 50px;
	}
.concept-box span {
	text-align: center;
	display: inline-block;
	}
.inline-text {
	text-align: center;
	}











.pct-item {
	margin-bottom: 20px;
	}


.pictbox-item {
	text-align: center;
	}

.pict-text {
	font-weight: bold;
	font-size: 10px;
	}

.ap-number {
	background-color: #069;
	font-weight: bold;
	color: #FFF;
	text-align: center;
	padding-top: 10px;
	padding-bottom: 10px;
	font-size: 24px;
	}
.ap-textbox {
	color: #FFF;
	background-color: #09C;
	text-align: center;
	padding-top: 40px;
	padding-bottom: 40px;
	}



.apbox-item {
	border-top-width: 1px;
	border-bottom-width: 1px;
	border-top-style: solid;
	border-bottom-style: solid;
	border-top-color: #CCC;
	border-bottom-color: #CCC;
	}

.sm-mg20 {
	margin-bottom: 25px;
	}
}



.af-points {
	margin-bottom: 80px;
	}
.apbox-detail {
	font-size: 12px;
	margin-top: 20px;
	}
.recruit-data {
	padding-top: 40px;
	padding-bottom: 40px;
	}

 
/* col-md- 1199px以下 */
@media screen
    and (max-width: 1199px) {
}
 
/* col-sm- 991px 以下 */
@media screen
    and (max-width: 991px) {
}
 
/* col-xs- 767px 以下 */
@media screen
    and (max-width: 767px) {
	
.section-headline {
	padding-top: 40px;
	padding-bottom: 40px;
	text-align: center;
	}
.section-headline h2 {
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #CCC;
	padding-bottom: 15px;
	font-size: 22px;
	font-weight: bold;
	}
.headline-title {
	text-align: center;
	font-size: 40px;
	margin-top: 30px;
	margin-bottom: 30px;
	font-weight: bold;
	}

}






















	



/***** 　アクティブフォームスの強み  *****/		
	



/* col-lg- 1200px以上はそのまま */	
.strongpoints-wrap {
	background-attachment: fixed;
	background-image: url(images/rayout/strongpoints/st-backs.jpg);
	background-repeat: no-repeat;	
	}
.strongpoints-header {
	padding-top: 200px;
	padding-bottom: 200px;	
	}
.strongpoints-header h2 {
	font-size: 36px;
	font-weight: bold;
	color: #FFF;
	text-align: center;
	}
.strongpoints-header .st-mini {
	text-align: center;
	margin-top: 20px;
	}
.strongpoints-header .st-mini span {
	padding: 10px;
	font-weight: bold;
	color: #666;
	background-color: #FFF;
	font-size: 16px;
	}
.strongpoints-inner {
	background-color: #FFF;
	padding: 30px;
	border-radius: 5px;
	}




.missions-wrap {
	background-image: url(./images/rayout/company/active-office.jpg);
	background-repeat: no-repeat;
	position: relative;
	height: 500px;
	margin-bottom: 300px;
	}
.missions-wrap .missions-img {
	}
.missions-wrap .missions-text {
	font-size: 16px;
	line-height: 1.8em;
	z-index: 3;
	position: absolute;
	bottom: -200px;
	background-color: #09C;
	color: #FFF;
	width: 80%;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
	left: 0px;
	right: 0px;
	padding-top: 40px;
	padding-right: 30px;
	padding-bottom: 30px;
	padding-left: 30px;
	border-radius: 5px;
	}
	
.missions-text h2 {
	margin-bottom: 40px;
	}
.missions-text h2 span {
	display: block;
	}		
	

.strongpoints-item {
	padding-top: 45px;
	padding-bottom: 45px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #CCC;
	}

.st-text {
	padding-top: 15px;
	padding-bottom: 15px;
	}
.st-text h2 {
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 40px;
	color: #369;
	}
.st-text p {
	font-size: 16px;
	line-height: 1.8em;
	}
 
/* col-md- 1199px以下 */
@media screen
    and (max-width: 1199px) {
}
 
/* col-sm- 991px 以下 */
@media screen
    and (max-width: 991px) {
}
 
/* col-xs- 767px 以下 */
@media screen
    and (max-width: 767px) {
.strongpoints-header {
	padding-top: 70px;
	padding-bottom: 40px;	
	}
.strongpoints-header h2 {
	font-size: 22px;
	}


.strongpoints-inner {
	background-color: #FFF;
	padding: 15px;
	border-radius: 5px;
	}




.missions-wrap {
	background-image: url(images/rayout/company/active-office2.jpg);
	background-repeat: no-repeat;
	position: static;
	height: 500px;
	margin-bottom: 70px;
	}
.missions-wrap .missions-img {
	}
.missions-wrap .missions-text {
	position: static;
	font-size: 14px;
	line-height: 1.8em;
	background-color: #09C;
	color: #FFF;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	margin-top: 20px;
	text-align: left;
	padding-top: 15px;
	padding-right: 15px;
	padding-bottom: 15px;
	padding-left: 15px;
	border-radius: 5px;
	}
	
.missions-text h2 {
	margin-bottom: 40px;
	font-size: 18px;
	font-weight: bold;
	}
.missions-text h2 span {
	display: block;
	}		
	


}













	



/***** 　アクティブフォームスと協力会社　  *****/	





/* col-lg- 1200px以上はそのまま */
 
.partners-img {
	text-align: center;
		margin-bottom: 80px;
	}

.partners-text {
	text-align: center;
	padding-top: 100px;
	padding-bottom: 100px;
	background-image: url(images/rayout/home/promiss.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	color: #FFF;
	}
.partners-text h2 {
	font-weight: bold;
	margin-bottom: 50px;
	}

.partners-text p {
	font-size: 16px;
	line-height: 1.8em;
	}

/* col-md- 1199px以下 */
@media screen
    and (max-width: 1199px) {
}
 
/* col-sm- 991px 以下 */
@media screen
    and (max-width: 991px) {
}
 
/* col-xs- 767px 以下 */
@media screen
    and (max-width: 767px) {
.partners-text h2 {
	font-weight: bold;
	font-size: 24px;
	margin-bottom: 40px;
	}
.partners-text h2 span {
	display: block;
	margin-bottom: 15px;
	}
}








	
	
/***** 　シングルページ  *****/	






/* col-lg- 1200px以上はそのまま */
.summary-item {
	margin-bottom: 30px;	
	}

.summary-innner {
	position: relative;
	}
.summary-innner img {
	width: 100%;
    object-fit: cover; /* この一行を追加するだけ！ */
	}
.summary-innner .summary-title-wrap {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%); /* Safari用 */
	transform: translate(-50%, -50%);
	color: #FFF;
}
.summary-innner .summary-title-wrap h2 {
	font-size: 22px;
	text-align: center;
}
.summary-innner .summary-title-wrap span {
	display: block;
}

.summary-innner .summary-title-wrap .summary-en {
	font-size: 18px;
	font-family: 'Oswald', sans-serif !important;
	text-align: center;
}
.summary-innner .summary-title-wrap .summary-jp {
	font-size: 36px;
	text-align: center;
	font-weight: bold;		
}










.summary-innner {
	overflow: hidden;	/*拡大時にはみ出た部分を隠す*/
	background: #000;
}
.summary-innner img {
	display: block;
	transition-duration: 0.3s;	/*変化に掛かる時間*/
}
.summary-innner img:hover {
	transform: scale(1.1);	/*画像の拡大率*/
	transition-duration: 0.3s;	/*変化に掛かる時間*/
	opacity: 0.6;	/* 小さくするほど暗くなります */
}

 
/* col-md- 1199px以下 */
@media screen
    and (max-width: 1199px) {
}
 
/* col-sm- 991px 以下 */
@media screen
    and (max-width: 991px) {
}
 
/* col-xs- 767px 以下 */
@media screen
    and (max-width: 767px) {
.summary-innner .summary-title-wrap .summary-en {
	font-size: 14px;
	font-family: 'Oswald', sans-serif !important;
	text-align: center;
	margin-bottom: 0px;
}
.summary-innner .summary-title-wrap .summary-jp {
	font-size: 18px;
	text-align: center;
	font-weight: bold;		
}




}

/***** 　サイドバー  *****/		



#search-2 {
	margin-bottom: 30px;
	}
	
.assistive-text {
	width: 100%;
	padding: 0.5em;/*文字周りの余白*/
	color: #010101;/*文字色*/
	background: #eaf3ff;/*背景色*/
	border-bottom: solid 3px #516ab6;/*下線*/
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 20px;
}



.widget .widget-title {
	padding: 0.5em;/*文字周りの余白*/
	color: #010101;/*文字色*/
	background: #eaf3ff;/*背景色*/
	border-bottom: solid 3px #516ab6;/*下線*/
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 20px;
}





.widget ul {
	margin: 0;
    padding: 0;
    list-style-type: none;
	margin-bottom:30px;	
}







/***** 　サマリーページ  *****/	



.single-contents {
	padding-top: 40px;
	}



.entry-header h1 {
	font-size: 28px;
	font-weight: bold;
	padding: 0.4em 0.5em;/*文字の上下 左右の余白*/
	color: #494949;/*文字色*/
	background: #f4f4f4;/*下線*/
	border-left-width: 5px;
	border-left-style: solid;
	border-left-color: #7db4e6;
	}

.entry-header .entry-meta {
	margin-bottom: 30px;
	}
.entry-header .entry-meta ul {
	-webkit-padding-start: 0px;
	list-style-type: none;
	}
.entry-header .entry-meta ul .blog-cat {
	list-style-type: none;
	margin-right: 20px;
	float: left;
	color: #FFF;
	background-color: #1F82CB;
	text-align: center;
	padding: 7px;
	}
.entry-header .entry-meta ul .blog-date {
	list-style-type: none;
	margin-right: 20px;
	float: left;
	text-align: center;
	padding: 7px;
		font-family: 'Oswald', sans-serif !important;
	}


.attention-wrap {
	clear: both;
	}
.entry-content {
	padding-top: 50px;
	padding-bottom: 50px;
	border-top-width: 1px;
	border-bottom-width: 1px;
	border-top-style: solid;
	border-bottom-style: solid;
	border-top-color: #CCC;
	border-bottom-color: #CCC;
	font-size: 16px;
	line-height: 2.0;
	}

.nav-links {

	}
.nav-links span {
	background-color: #09C;
	text-align: center;
	padding-top: 10px;
	padding-bottom: 10px;
	width: 48%;
	margin-right: 1%;
	margin-left: 1%;
	font-size: 14px;
	}
.nav-links span a {
	color: #fff;
	}


.single-topics-wrap {
	padding: 30px;
	}
	
.single-topics-wrap .nexttopics-item {
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #CCC;
	padding-top: 15px;
	padding-bottom: 15px;
	}













/*****  　施工実績　  *****/	




.works-contents-title {
	margin-bottom: 60px;
	text-align: center;
	background-color: #ECECEC;
	padding-top: 40px;
	padding-bottom: 40px;
	}
.works-contents-title h2 {
	font-size: 28px;
	font-weight: bold;
	}
.works-contents-title span {
	display: block;
	font-size: 16px;
	font-family: 'Oswald', sans-serif !important;

	}







.works-name {
	margin-bottom: 30px;
	}



.works-name h1 {
	font-size: 24px;
	border-bottom-width: 3px;
	border-bottom-style: solid;
	border-bottom-color: #333;
	padding-bottom: 10px;
	}


.works-data table {
	width: 100%;
	margin-bottom: 40px;
	}
.works-data th, .works-data td  { padding: 10px; border: 1px solid #ddd; }
.works-data th  { background: #f4f4f4; }
 
/*----------------------------------------------------
  .demo01
----------------------------------------------------*/
.works-table th  { width: 30%; text-align: left; }
 
@media only screen and (max-width:480px){
    .works-table { margin: 0 0px; }
    .works-table th,
    .works-table td{
    width: 100%;
    display: block;
    border-top: none;
    }
  .works-table tr:first-child th { border-top: 1px solid #ddd; }
}	
	
	
	
.works-body {
	margin-bottom: 50px;
	}




.works-single-after h2 {
	font-size: 18px;
	font-weight: bold;
	padding-top: 10px;
	padding-bottom: 10px;
	margin-bottom: 30px;
	border-bottom-width: 3px;
	border-bottom-style: solid;
	border-bottom-color: #039;
	}

.works-term-item {
	padding-bottom: 10px;
	}

.works-term-innner {
	background-color: #39C;
	border-radius: 3px;
	padding-top: 10px;
	padding-bottom: 10px;
	padding-right: 10px;
	padding-left: 10px;
	text-align: center;
	}


.works-term-innner a {
	color: #FFF;
	}




.works-sidebar-wrap {
	border: 1px solid #CCC;
	margin-bottom: 20px;
	}
.sidebar-section-head {
	padding-top: 13px;
	padding-bottom: 13px;
	background-color: #52AFD8;
	padding-right: 7px;
	padding-left: 7px;
	color: #FFF;
	}
.sidebar-section-head h3 {
	font-size: 14px;
	font-weight: bold;
	margin: 0px;
	padding: 0px;
	}


.sidebar-section-body  {
	}
.sidebar-section-body ul {
	-webkit-padding-start: 0px;
	list-style-type: none;
	margin: 0px;
	padding: 0px;
	}
.sidebar-section-body ul li {
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	padding-left: 10px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #CCC;
	}
.sidebar-section-body ul li a {
	}
.sidebar-section-body ul li a:hover {
	}


















.works-summary-item {
	margin-bottom: 20px;
	}

.works-summary-innner {
	background-color: #F8F8F8;
	border: 1px solid #CCC;
	}


.summary-term {
	padding-top: 7px;
	padding-bottom: 7px;
	text-align: center;
	color: #FFF;
	font-size: 12px;
	}
.summary-term a {
	color: #FFF;
	}
.summary-term a:hover {
	color: #FFF;
	}
.term-genre {
	background-color: #069;
	float: left;
	width: 70%;
	}
.term-years {
	background-color: #666;
	color: #FFF;
	float: right;
	width: 30%;
	}


.works-summary-text {
	padding: 15px;
	clear: both;
	min-height: 80px;
	}
.works-summary-text h2 {
	font-size: 16px;
	font-weight: bold;
	color: #06C;
	}
.works-summary-text h2 a {
	color: #333;
	}
.summary-text-box {
	margin-top: 30px;
	}















/***** 　　　施工実績スライダー　　  *****/	






.slider-for {
  width: 300px;
  margin: 0 auto;
}
.slider-for img {
  width: 100%;
  height: auto;
}
.slider-nav,
.slider-nav2 {
  margin: 10px auto 0 auto;
  cursor: pointer;
}
.slider-nav img {
  width: 100%;
  height: auto;
}
.slick-prev:before,
.slick-next:before {
  color: #777;
  font-size: 28px;
}
.slick-prev,
.slick-next {
  display: inline-block;
  height: 40px;
}
.slick-prev:before {
  content: '<';
}
.slick-next:before {
  content: '>';
}
/*.slick-dots li button:before {
	font-size: 28px;
}*/
@media (min-width: 480px) {
.slider-for {
  width: 480px;
}
.slider-nav {
  width: 480px;
}
.slick-next {
  right: 10px;
  z-index: 100;
}
.slick-prev {
  left: 10px;
  z-index: 100;
}
/* ** */}
@media (min-width: 768px) {
.slider-for {
  width: 800px;
}
.slider-nav {
  width: 800px;
}
.slick-next {
  right: 15px;
}
.slick-prev {
  left: 15px;
}
/* ** */}