/*
Theme Name:fivestar synergy
Theme URI:
Description:twentytwentyfour子テーマです。
Template:twentytwentyfour
Author:fivestar
Author URI:
Version:0.0.8
*/

/**/
* {
    margin: 0;
    padding: 0;
}

body {
	background-color: #ffffff;
	font-family: 'Outfit', sans-serif;
	font-size: 15px;
}

html {scroll-behavior: smooth;}

#container {
	width: 100%;
}

/*******************
 * header
 * */

 #header {
 	width: 100%;
 	position: absolute;
 	top:0;
 	z-index: 99;
 }

#header-inner {
	width: 860px;
	min-height: 35px;
	margin: 0 auto;
	position: relative;
    top: 20px;
    z-index: 99;
}

#header h1 img {
	position: absolute;
    top: 5px;
    left: 20px;
}

#header ul {
	/*float: left;
	margin-left: 130px;*/
	font-size: 15px;
	/*position: absolute;*/
	width: fit-content;
    margin: auto;
}

#header ul li {
	list-style-type: none;
	float: left;
	margin-right: 20px;
}

#header ul li a {
	text-decoration: none;
}

#header ul li a:hover {
	color: #fc3333;
}

#top-img {
	width: 100vw;
	margin: calc(50% - 50vw);
}

/*******************
 * top画像
 * */
#page-top {
	width: 100%;
    margin: 0;
    position: relative;
    overflow: hidden;
}

#page-top a {
	position: absolute;
    right: 0;
    bottom: 9vw;
    z-index: 999;
}

/*#page-top img {
	clip-path: polygon(0 20%, 100% 0%, 100% 80%, 0 100%);
}*/



.slider {
	width: 100vw;
	height: 100vh;
	overflow: hidden;
	position: relative;
	max-width: 100%;
}

.slider div {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	z-index: 10;
	opacity: 0;
	animation-name: slide-fade;
	animation-duration: 10s;
	animation-iteration-count: infinite;
}

@keyframes slide-fade {
	0% {
		opacity: 0;
	}
	20% {
		opacity: 1;
	}
	80% {
		opacity: 0;
	}
	100% {
		opacity: 0;
		z-index: 0;
	}
}
.slider div:first-of-type {
	background-image: url(./images/top01.jpg);
	/*clip-path: polygon(0 20%, 100% 0%, 100% 80%, 0 100%);*/
	clip-path: polygon(0 13vw, 100% 0, 100% calc(100% - 13vw), 0 100%);
}

.slider div:last-of-type{
	background-image: url(./images/top02.jpg);
	/*clip-path: polygon(0 20%, 100% 0%, 100% 80%, 0 100%);*/
	clip-path: polygon(0 13vw, 100% 0, 100% calc(100% - 13vw), 0 100%);

	animation-delay: 5s;
}











/*******************
 * about
 * */

 #about {
 	width: 100%;
 	min-height: 600px;
 	background-image: url(./images/blue_back.jpg);
	/*clip-path: polygon(0 20%, 100% 0, 100% 80%, 0% 100%);*/
	clip-path: polygon(0 13vw, 100% 0, 100% calc(100% - 13vw), 0 100%);
	margin-top: -13vw;
    color: #ffffff;
}

#about-inner {
	padding-top: 16vw;
}

#about h2 {
	color: #ffffff;
	font-family: 'Outfit', sans-serif;

}

.section-all {
	width: 860px;
	margin: 0 auto;
	overflow: hidden
}

.section-title {
	width: 373px;
	float: left;
	
}

.section-title h2{
	font-size: 50px;
	font-weight: bold;
	font-family: 'Outfit', sans-serif;
}

.section-text {
	width: 487px;
	float: left;
	font-size: 15px;


}

#about .section-text p {
	line-height: 2em;
}

/*******************
 * news
 * */

#news,#works {
	width: 100%;
 	min-height: 360px;
}

#news-inner {
	margin-top: 50px;
}

#news ul,
#works ul {
	width: 487px;
	float: left;
}

#news ul li,
#works ul li {
	padding: 20px 4px;
	list-style-type: none;
	border-top: 1px solid #545454;
	font-size: 15px;
}

#news ul li:last-child,
#works ul li:last-child {
	border-bottom: 1px solid #545454;
}

#news ul li a,
#works ul li a {
	text-decoration: none;
}

.date {
	float: left;
	margin-right: 23px;
}

/*******************
 * service 
 * */
#service {
	width: 100%;
 	background-image: url(./images/service_back.jpg);
 	background-repeat: no-repeat;
 	padding: 80px 0;
 	background-color: #f5f5f5;
}

.service-text {
	font-size: 16px;
}

.service-text1 {
	height: 50px;
    line-height: 50px;
    text-align: right;
    font-weight:bold
}

.service-text2 {
	text-align: center;
	line-height: 2em;
	font-weight:bold
}

ul#service-list01 {
	list-style-type: none;
	margin: 40px 0 100px;
	float: left;
}

ul#service-list01 li {
	float: left;
	text-align: center;
	font-size: 25px;
	margin-right: 35px;
}

ul#service-list01 li:last-child {
	margin-right: 0;
}

span.red {
	color: #c40707;
}

span.service-list-text01 {
	font-size: 10px;
}

span.service-list-text02 {
	background-color: #ffffff;
}

span.service-list-text03 {
	font-size: 20px;
	font-weight: bold;
	text-align: center;
}

span.service-list-text04 {
	font-size: 9px;
	text-align: center;
}

#service-slide {
	width: 100%;
	height: auto;
	clear: both;
	font-size: 80px;
	color: #c40707;
	overflow: hidden;
	margin: 100px 0 80px;
}

#service-slide p {
	display: inline-block;
    margin: 0;
    padding-left: 100%;
    white-space: nowrap;
    animation: SlideSample 30s linear infinite;
}

/* スクロールさせるアニメーション */
@keyframes SlideSample {
	0% {
			transform: translateX(0)
    }
    100% {
            transform: translateX(-100%)
    }
}

ul#service-list02 {
	list-style-type: none;
	float: left;
	font-size: 10px;
}

ul#service-list02 li {
	width: 238px;
    height: 260px;
    margin-right: 10px;
	padding: 25px 20px;
	float: left;
	border: 1px solid #cccccc;
	box-shadow: 1px 1px 2px #bebebe;
	border-radius: 5px;
	font-size: 10px;
	line-height: 2em;
}

ul#service-list02 li:last-child {
	margin-right: 0;
}

.service-title01 {
	text-align: center;
	margin-bottom: 20px;
}















#parent-on {
	display: block;
}

.parent {
	width: 100%;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-template-rows: repeat(5, 1fr);
    gap: 8px;
    /*display: block;*/
}

.parent-sp {
	display: none;
}
    
.div1 {
    grid-column: span 4 / span 4;
}

.div2 {
    grid-column: span 3 / span 3;
    grid-column-start: 1;
    grid-row-start: 2;
}

.div3 {
    grid-column: span 2 / span 2;
    grid-column-start: 5;
    grid-row-start: 1;
}

.div4 {
    grid-column: span 3 / span 3;
    grid-column-start: 4;
    grid-row-start: 2;

    margin-top: 50px;
}

.div5 {
    grid-column: span 2 / span 2;
    grid-row-start: 3;

    position: relative;
    top: -180px;
}

.div6 {
    grid-column: span 2 / span 2;
    grid-column-start: 3;
    grid-row-start: 3;
}

.div7 {
    grid-column: span 3 / span 3;
    grid-column-start: 1;
    grid-row-start: 4;

    position: relative;
    top: -160px;
}

.div8 {
    grid-column: span 2 / span 2;
    grid-column-start: 5;
    grid-row-start: 3;
}

.div9 {
    grid-column: span 3 / span 3;
    grid-column-start: 4;
    grid-row-start: 4;
}

.div10 {
    grid-column: span 2 / span 2;
    grid-row-start: 5;

    position: relative;
    top: -200px;
}

.div13 {
    grid-column: span 4 / span 4;
    grid-column-start: 3;
    grid-row-start: 5;
}
        
        
        
        
        

        
        
        
        
        


        
        
        
        





        
        
        

.parent-title {
	font-size: 14px;
	font-weight: bold;
	margin-bottom: 20px;
}

.parent-text {
	font-size: 12px;
	line-height: 2em;
} 

#div1-inner {
	width: 315px;
	float: left;
}

.div1 figure {
	margin-left: 50px;
}

.div2 figure {
	position: relative;
    top: -70px;
    left: 150px;
}

.div3 figure {
	top: 50px;
    position: relative;
}

#div13-img01 {
	position: relative;
    right: -80px;
    top: -30px;

    width: 220px;
    height: auto;
    float: left;
}

#div13-img02 {
	position: relative;
    right: -130px;
    top: -170px;

    width: 220px;
    height: auto;
    float: left;
}


/*******************
 * works
 * */
#works {
	margin: 50px 0;
}

#works h3 {
	font-size: 12px;
}

#works ul {
	margin-bottom: 90px;
}

#case01 {
	text-align: center;
	font-size: 12px;
}

#case-aria {
	width: 535px;
	height: 265px;
	margin: 25px auto auto;
	padding-left: 25px;
	padding-top: 15px;
	font-size: 15px;
	overflow: scroll;
	border: solid 1px #545454;
}

.btn-circle-flat {
  	display: inline-block;
    text-decoration: none;
    background: #000000;
    color: #FFF;
    width: 150px;
    height: 28px;
    text-align: center;
    overflow: hidden;
    transition: .4s;
    border-radius: 30px;
    margin-top: 20px;
    font-size: 13px;
    line-height: 2em;
}

.btn-circle-flat:hover {
	 background: #010d55;
}

#more-link01 {
	text-align: center;
}

/*******************
 * company
 * */

#company {
 	width: 100%;
 	min-height: 580px;
 	background-image: url(./images/blue_back.jpg);
	/*clip-path: polygon(0 20%, 100% 0, 100% 80%, 0% 100%);*/
	clip-path: polygon(0 10vw, 100% 0, 100% calc(100% - 10vw), 0 100%);
    color: #ffffff;
    padding-bottom: 12vw;
}

#company-inner {
	padding-top: 180px;
}

#company-inner h2 {
	color: #ffffff;
}

#company-inner h3 {
	text-align: center;
	color: #ffffff;
	font-size: 9px;
	letter-spacing: 1px;
	font-weight: bold;
}

.section-subtitle {
	width: 100%;
    float: left;
    font-size: 12px;
    margin: 45px 0 35px;
}

#company-text01 {
	width: 430px;
	float: left;
	font-size: 12px;
	line-height: 1.5em;
	letter-spacing: 1px;
}

#company-text02 {
	width: 390px;
	float: left;
	margin-left: 40px;
}

#company-text03 {
	font-size: 14px;
}

#company-text01 p{
	margin-bottom: 20px;
}

#company-info {
	margin-top: -10vw;
    background-color: #ddd;
    clip-path: polygon(0 10vw, 100% 0, 100% calc(100% 0), 0 100%);
    padding-bottom: 10vw;
    padding-top: 10vw;
}

#company-info--inner h3 {
	text-align: center;
	font-size: 9px;
	letter-spacing: 1px;
	font-weight: bold;
}

#company-info--inner table {
	width: 560px;
    margin: 0 auto;
    font-size: 13px;
    line-height: 2.3em;
    border-bottom: 1px solid #545454;
    border-collapse: collapse;
    letter-spacing: 1px;
}

#company-info--inner table th {
	width: 80px;
    text-align: left;
    padding: 15px 0;
}

#company-info--inner table td {
    padding: 15px 0;
}

#company-info--inner table th,
#company-info--inner table td {
	border-top: 1px solid #545454;
}

/*******************
 * contact
 * */
#contact {
	margin-top: 50px;
}

#contact-inner {
}

#contact-inner .section-text p {
	font-size: 9px;
    text-align: right;
    line-height: 7em;
}

#contact-section01 {
	width: 100%;
    float: left;
	font-size: 15px;
	text-align: center;
	display: block;
	margin: 60px 0 30px;
}

#contact-section01 p {
	text-align: left;
	display: inline-block;
}

#contact-section01 ol {
	max-inline-size: max-content;
	margin-inline: auto;
	list-style-type: none;
	text-align: left;
}

#contact-section01 span.contact-text01 {
	font-size: 20px;
	font-weight: bold;
	margin-right: 10px;
}

#contact-section01 span.contact-text02 {
	font-size: 8px;
	margin-left: 20px;
}

#wpcf7-f22-o1 table,
#wpcf7-f22-p33-o1 table {
	width: 450px;
	margin:  0 auto;
	font-size: 10px;
}

#wpcf7-f22-o1 table th,
#wpcf7-f22-p33-o1 table th {
	width: 120px;  
	padding-right: 15px;
	text-align: right;
	font-weight: normal;
	padding-bottom: 15px;
}

#wpcf7-f22-o1 table td,
#wpcf7-f22-p33-o1 table td {
	padding-bottom: 15px;
}

#wpcf7-f22-o1 table th.text-top {
	vertical-align: top;
}

.wpcf7-form-control-wrap input.wpcf7-text {
	width: 250px;
    height: 20px;
}

.wpcf7-form-control-wrap input.wpcf7-textarea {
	width: 250px;
}

.wpcf7-form-control-wrap input.wpcf7-file {
	margin-top: 8px;
}

.wpcf7-form-control-wrap input.wpcf7-file:hover {
	cursor: pointer;
}

.btn_send input.wpcf7-submit {
	display: inline-block;
    text-decoration: none;
    background: #000000;
    color: #FFF;
    width: 150px;
    height: 28px;
    text-align: center;
    overflow: hidden;
    transition: .4s;
    border-radius: 30px;
    margin-top: 20px;
    font-size: 13px;
    line-height: 2em;
}

.btn_send input.wpcf7-submit:hover {
	 background: #010d55;
	 cursor: pointer; 
}

.btn_send {
	text-align: center;
}

/*******************
 * 投稿詳細
 * */
#single-inner {
	padding: 100px 0 0;
}

#single-inner section {
	width: 500px;
	min-height: 350px;
    margin: 0 auto;
    font-size: 11px;
}

#single-inner h2 {
	text-align: center;
	font-size: 30px;
	margin-bottom: 55px;
	font-family: 'Outfit', sans-serif;
}

#single-inner h3 {
	text-align: center;
	font-size: 18px;
    margin-bottom: 25px;
}

#single-inner section .wp-block-preformatted {
	white-space: pre-wrap;
}

/*******************
 * 投稿一欄
 * */
.single-date {
	text-align: center;
	font-size: 12px;
	margin-bottom: 20px;
}

.post {
	width: 550px;
	margin:  0 auto;
	padding: 20px 5px;
	font-size: 10px;
	border-bottom: 1px solid #545454;
	clear: both;
	display: flex;
}

.post:first-child {
	border-top: 1px solid #545454;
}

.post a {
	font-size: 10px;
	text-decoration: none;
}

.post-date {
	float: left;
}

.post-title {
	float: left;
    margin-left: 25px;
}

#single-inner .post h3 {
	margin: 0;
}

.wp-pagenavi span.current {
	border-radius: 50%;
}

.wp-pagenavi a {
	border: none !important;
}

.wp-pagenavi a:hover {
	color: #fc3333;
}

.wp-pagenavi {
	max-inline-size: max-content;
    margin-inline: auto;
    margin-top: 25px;
}





.photoArea figure {
  position: relative;
  display: inline-block;
  overflow: hidden;
  /*width: 720px;*/
}
.photoArea figure::before {
  content: '';
	display: inline-block;
	width: 0;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	background: #010b51;
}
.photoArea.move figure::before {
  animation: barAnime forwards 1.5s 1 ease 0.1s normal;
}
.photoArea figure img {
  opacity: 0;
  transform: scale(1.1);
}
.photoArea.move figure img {
  animation: photoAnime forwards 1.5s 1 ease 0.5s normal;
}
@keyframes barAnime{
	0% {
		left: 0;
		width: 0;
	}
	50% {
		left: 0;
		width: 100%;
	}
	51% {
		left: 0;
		width: 100%;
	}
	68% {
		left: 0;
		width: 100%;
	}
	100% {
		left: 100%;
		width: 0;
	}
}
@keyframes photoAnime{
	0% {
    opacity: 0;
    transform: scale(1.1);
  }
	50% {
    opacity: 0;
    transform: scale(1.1);
  }
	100% {
    opacity: 1;
    transform: scale(1);
  }
}

/*******************
 * 投稿
 * */
#single-inner .has-global-padding {
	padding: 0;
}

/*#single-inner .wp-block-group-is-layout-flow {
	border: 1px solid #000;
    padding: 3px;
    margin-bottom: 15px;
}*/



/*******************
 * footer
 * */
#footer {
	width: 860px;
	margin: 60px auto 20px;
	font-size: 14px;
	overflow: hidden;
}

#footer p {
	float: right;
}

#footer ul {
    float: right;
    margin-left: 130px;
    margin-top: 30px;
    font-size: 15px;
}

#footer ul li {
    list-style-type: none;
    float: left;
    margin-right: 20px;
}

#footer ul li a {
	text-decoration: none;
}

#footer ul li a:hover {
	color: #fc3333;
}

#footer-inner {
	width: 100%;
	float: left;
	margin-bottom: 30px;
}

#footer-inner img {
	float: left;
}

/*******************
 * モバイル
 * */
@media screen and (max-width: 600px) {
	/* 480px以下に適用されるCSS（スマホ用） */
	#container {
		/*background: pink;*/
  	}

  	.section-title {
  		width: 90%;
    	padding: 0 5%;
  	}

  	.section-text {
  		width: 90%;
  		padding: 0 5%;
  	}

  	.section-all {
  		width: 100%;
  	}

  	#about-inner {
  		width: 100%;
  		padding-top: 27vw;
  	}

  	#single-inner section {
  		width: 95%;

	}

  	#news ul, #works ul {
  		width: 90%;
    	padding: 0 5%;
  	}

  	#service-list01,
  	#service-list02 {
  		width: 90%;
  		padding: 0 5%;
  	}

  	#service-list02 p.service-title01 {
  		padding-top: 5px;
  	}

  	#service-list02 p {
  		padding: 0 5px;
  	}

  	ul#service-list02 li  {
  		width: 100%;
  		height: auto;
        margin-bottom: 20px;
        padding: 0;
  	}

  	#case-aria {
  		width: 90%;
    	margin: 0 5%;
    	padding-left: 0;
  	}

  	#company-text01,
  	#company-text02  {
  		width: 90%;
    	padding: 0 5%;
  	}

  	#company-text02 img {
  		width: 80%;
  		height: auto;
  	}

  	#company-info {
  		width: 90%;
    	padding: 0 5%;
  	}

  	#wpcf7-f22-o1 table {
  		width: 100%;
  	}

  	#footer {
  		width: 90%;
    	padding: 0 5%;
  	}

  	#parent-on {
		display: none;
	}

  	.parent-sp {
  		display: block;
  		width: 90%;
        padding: 0 5%;
  	}

  	.parent-sp div {
  		margin-bottom: 50px;
  	}

  	.wpcf7-form-control-wrap input.wpcf7-text {
	    height: 30px;
	    border: 1px solid;
	}

	.wpcf7-form-control-wrap textarea.wpcf7-textarea {
		border: 1px solid;
	}

	#wpcf7-f22-o1 table,
	#wpcf7-f22-p33-o1 table {
		width: 100%;
	}

  	/*　ハンバーガーメニューボタン　*/
  	#header-inner {
		width: 100%;
		position: fixed;
        top: 100px;
	}
	.hamburger {
	  	display : block;
	  	position: fixed;
	  	z-index : 3;
	  	right : 20px;
	  	top   : 20px;
	  	width : 42px;
	  	height: 42px;
	  	cursor: pointer;
	  	text-align: center;
	}
	.hamburger span {
	  	display : block;
	  	position: absolute;
	  	width   : 30px;
	  	height  : 2px ;
	  	left    : 6px;
	  	background : #000000;
	  	-webkit-transition: 0.3s ease-in-out;
	  	-moz-transition   : 0.3s ease-in-out;
	  	transition        : 0.3s ease-in-out;
	}
	.hamburger span:nth-child(1) {
	  	top: 10px;
	}
	.hamburger span:nth-child(2) {
	  	top: 20px;
	}
	.hamburger span:nth-child(3) {
		top: 30px;
	}

	/* スマホメニューを開いてる時のボタン */
	.hamburger.active span:nth-child(1) {
	  	top : 16px;
	  	left: 6px;
	  	background :#000000;
	  	-webkit-transform: rotate(-45deg);
	  	-moz-transform   : rotate(-45deg);
	  	transform        : rotate(-45deg);
	}

	.hamburger.active span:nth-child(2),
	.hamburger.active span:nth-child(3) {
	  	top: 16px;
	  	background :#000000;
	  	-webkit-transform: rotate(45deg);
	  	-moz-transform   : rotate(45deg);
	  	transform        : rotate(45deg);
	}

	/* メニュー背景　*/
	nav.globalMenuSp {
	 	position: fixed;
	  	z-index : 2;
	  	top  : 0;
	  	left : 0;
	  	color: #fff;
	  	/*background: rgba( 71,70,73,0.6 );*/
	  	text-align: center;
	  	width: 100%;
	  	opacity: 0;
	  	display: none;
	  	transition: opacity .6s ease, visibility .6s ease;
	  	background: #010b51;
	}

	nav.globalMenuSp ul {
	  	margin: 0 auto;
	  	padding: 0;
	  	width: 100%;
	}

	nav.globalMenuSp ul li {
	  	list-style-type: none;
	  	padding: 0;
	  	width: 100%;
	  	transition: .4s all;
	}
	nav.globalMenuSp ul li:last-child {
	  	padding-bottom: 0;
	}
	nav.globalMenuSp ul li:hover{
	  	background :#ddd;
	}

	nav.globalMenuSp ul li a {
	  	display: block;
	  	color: #fff;
	  	padding: 1em 0;
	  	text-decoration :none;
	}

	/* クリックでjQueryで追加・削除 */
	nav.globalMenuSp.active {
	  	opacity: 100;
	  	display: block;
	}
}