@charset "UTF-8";
/* 1280px以上 */
@media only screen and (min-width:1280px){
  
  .pc-non {
    display: none;
  }
  
}
/* 1079px */
@media only screen and (min-width:800px){
  .works-nav {
    padding: 15px 0;
    border-top: var(--brand) 1px solid;
    border-bottom: var(--brand) 1px solid;
    margin-bottom: 60PX;
  }
  .works-nav ul {
    display: flex;
    justify-content: center;
  }
  .works-nav ul li.marker2 {
    list-style: none;
    margin: 0px;
  }
  .works-nav ul li a {
    color:var(--brand);
    text-decoration: none;
    display: block;
    font-size: 18px;
    padding: 5px 25px;
  }
  .marker2 {
    position: relative;
    z-index: 1;
    height: auto;
  }
  .marker2::before {
    background: var(--bg);
    content: "";
    display: block;
    width: 100%;
    height: 28px;
    position: absolute;
    left: 0;
    top: 0;
    margin: auto;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .2s;
    z-index: -1;
  }
  .marker2:hover {
    color: #fff;
  }
  .marker2:hover::before {
    transform-origin: left top;
    transform: scale(1, 1);
  }
  /* メニューアイテムのホバースタイル */
  .works-nav ul li:hover .submenu2 {
    transform: scaleY(1);
  }

  .works-nav ul li:hover {
    transition: background-color .3s;
  }

  .submenu2 li:hover {
    opacity: .8;
    transition: opacity .3s;
  }
  /* ドロップダウンメニュー */
  .drop-menu2 {
    position: relative;
  }

  .submenu2 {
    width: 100% !important;
    left: 50%;
    margin-left: -50%;
    position: absolute;
    top: 100%;
    transform: scaleY(0);
    transform-origin: center top;
    transition: transform .3s;
    width: max-content;
    display: block !important;
  }

  .submenu2 li {
    background-color: #696969;
    transition: opacity .3s;
    display: block !important;
    padding: 10px 20px;
    text-align: center;
  }
  .submenu2 li a {
    color:#ffffff !important;
  }
  .works-foot-nav {
    display: none;
  }
}
/* 1919px以下から
------------------------------------------------------------*/
@media only screen and (max-width:1919px){

}
/* 1500px以下から
------------------------------------------------------------*/
@media only screen and (max-width:1500px){

}

/* 1279px以下から
------------------------------------------------------------*/
@media only screen and (max-width:1279px){
  .page-title {
    width: 450px;
    top: 60%;
  }
}
/* 1080px以下から
------------------------------------------------------------*/
@media only screen and (max-width:1080px){
  .profile-dl{gap:18px 28px;}
  .profile-dl .row{grid-template-columns:120px 1fr;}
  .access-grid{grid-template-columns:1fr; gap:18px;}
  .works-list-countainer ul {
    gap:5%;
  }
  .works-list-item {
    width: 30%;
    margin-bottom: 60px;
  }
	/* wp blog-archive */
	.blog-archive {
		width: 90%;
		margin: 60px auto;
	}
	.blog-archive ul.archive-list {
		list-style: none;
		border: #000000 0px solid;
	}
	.blog-archive ul.archive-list li {
		width: 33%;
		height: 250px;
		padding: 20px 20px;
		float: left;
		border: #000000 0px solid;
	}
	.blog-archive ul.archive-list h3 {
		font-size: 15px;
		padding-top: 10px;
		font-weight: normal;
	}
	.blog-archive ul.archive-list p.blog-date {
		font-size: 12px;
		padding-top: 10px;
	}
	.blog-archive nav {
		clear: both;
	}
}

/* 800px以下から
------------------------------------------------------------*/
@media only screen and (max-width:800px){
  .company-profile-wrap h3 {
    background-size: 60%;
    background-position: left bottom;
  }
  .company-access-wrap h3 {
    background-size: 60%;
    background-position: right bottom;
  }
  .works-list-countainer ul {
    gap:10%;
  }
  .works-list-item {
    width: 45%;
    margin-bottom: 30px;
  }
  .works-nav {
    display: none;
  }
  .wfn-head {
    background-color: var(--brand);
    color:#ffffff;
    padding: 15px;
  }
  .works-foot-nav {
    display: block;
  }
  .works-foot-nav ul {
    list-style: none;
  }
  .works-foot-nav ul li {
    background-color: var(--bg);
    font-size: 110%;
  }
  .wfn-item {
    border-bottom: var(--brand) 1px solid;
    padding: 15px;
  }
  .works-foot-submenu {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap:10px;
    padding-top: 20px;
  }
  .works-foot-submenu li {
    padding: 10px;
    background-color: var(--gray) !important;
    font-size: 90% !important;
  }
  .works-foot-submenu li a {
    color:#ffffff;
  }
}

/* 640px以下から
------------------------------------------------------------*/
@media only screen and (max-width:640px){
  .page-title {
    width: 360px;
    top: 60%;
  }
  .company-profile {
    background-position: top 450px right;
    background-size: 100%;
    padding: 60px 0 60px 0;
  }
  .sec-ttl .sec-en{font-size:42px;}
  .profile-dl{grid-template-columns:1fr; gap:22px;}
  .profile-dl .row{grid-template-columns:110px 1fr;}
  .timeline li{grid-template-columns: 90px 1fr;}
  .company-history{
    padding:60px 0;
  }
  .service-area {
    padding:60px 0;
  }
  .service-area-wrap{
    display:block;
    gap:0;
  }
  .sat-line {
    margin-top: -40px;
  }
  .service-are-img {
    width: 70%;
    margin-inline:auto;
    margin-top: 30px;
  }
  .smt-line {
    margin-top: -30px;
  }
  .service-menu {
    padding:60px 0 60px;
  }
  .service-menu-cont {
    display:block;
    gap:0;
    margin-top: 60px;
  }
  .smc-txt {
    width: 100%;
    margin-inline:auto;
  }
  .smc-img {
    position: relative;
    width: 90%;
    margin-inline:auto;
    aspect-ratio: 16/13;
    margin-top: 30px;
  }
  .service-access{
    padding:60px 0;
  }

  .works-list-countainer ul {
    gap:6%;
  }
  .works-list-item {
    width: 47%;
    margin-bottom: 30px;
  }
  .works-list-item h4 {
    padding: 0px;
    font-size: 12pt;
    font-weight: 300;
    height: 40px;
  }
  .works-list-item p {
    font-size: 9pt;
  }
  .wsd-dl{grid-template-columns:110px 1fr;}

	/* blog WP */
  .blog-wrapper h2 {
    font-size: 20pt;
  }
	.entry-utility {
		font-size: 12px;
	}
	.blog-nav {
		width: 90%;
		margin: 40px auto;	
	}
	.blog-nav aside {
		width: 100%;
		float: none;
		padding: 15px;
	}
	.blog-nav aside h3 {
		padding: 5px;
		color: #ffffff;
		background-color: #7C2BA0;
		border-radius: 30px;
		font-size: 16pt;
		text-align: center;
		margin-bottom: 10px;
		margin-top: 20px;
		font-weight: normal;
	}
	.nav-previous {
		width: 100%;
		float: left;
		padding-bottom: 25px;
	}
	.nav-next {
		width: 100%;
		float: right;
		text-align: right;
	}
	/* wp blog-archive */
	.blog-nav .blog-nav-left {
		width: 100%;
		float: none;
		padding-bottom: 30px;
	}
	.blog-nav .blog-nav-right {
		width: 100%;
		float: none;
		padding-bottom: 30px;
	}
	.blog-archive {
		width: 90%;
		margin: 60px auto;
	}
	.blog-archive ul.archive-list {
		list-style: none;
		border: #000000 0px solid;
	}
	.blog-archive ul.archive-list li {
		width: 50%;
		height: 270px;
		padding: 20px 10px;
		float: left;
		border: #000000 0px solid;
	}
	.blog-archive ul.archive-list h3 {
		font-size: 15px;
		padding-top: 10px;
		font-weight: normal;
	}
	.blog-archive ul.archive-list p.blog-date {
		font-size: 12px;
		padding-top: 10px;
	}
	.blog-archive nav {
		clear: both;
	}
}

/* 450px以下から
------------------------------------------------------------*/
@media only screen and (max-width:450px){
  .page-head{
    min-height:300px;
  }
 .page-hero{
    min-height:300px;
  }
 .page-image {
    min-height:300px;
  }
  .company-profile-wrap h3 {
    padding-top: 30px;
    padding-bottom: 120px;
    color: var(--brand);
    margin-bottom: 0px;
  }
  .company-access-wrap h3 {
    padding-top: 0px;
    padding-bottom: 60px;
    color: var(--brand);
    margin-bottom: 0px;
  }
  .profile-dl .row{
    display:grid; grid-template-columns: 80px 1fr;
  }
  .profile-dl dt{
    font-size: 0.9rem;
  }
  .profile-dl dd{
    font-size: 0.9rem;
    text-align: justify;
  }
  .access-map {
    aspect-ratio: 1/1;
  }
  .access-info .tel{
    margin-bottom: 10px;
  }
  .access-info .addr{
    margin-bottom: 15px;
  }
  .access-tollfree {
    width: 190px;
  }
  .access-tel {
    width: 180px;
  }
  .access-fax {
    width: 180px;
  }
  .btn.gm{
    display:inline-block;
    width: 200px;
  }
  .company-profile {
    padding:60px 0;
  }
  .company-access{
    padding:60px 0;
  }
  .company-history{
    padding:30px 0 30px;
  }
  .company-history-wrap h3 {
    padding-top: 30px;
    padding-bottom: 30px;
    color: var(--brand);
    margin-bottom: 0px;
  }
  .company-history-wrap{
    background: url("../images/company_history_bg.png") top 140px right no-repeat;
    background-size: 50px auto contain;
  }
  .timeline li{
    padding:16px 0px 16px 38px;
  }
  .timeline li::before{
    top:18px;
    width:25px;
    height:25px;
  }
  .our-vision-wrap{
    padding-left: 80px;
    background-size: 60px auto;
  }
  .vision-move {
    width: 300px;
    top:30px;
    right: -160px;
  }
  .our-vision {
    padding:60px 0;
  }
  .our-vision-wrap{
    overflow: hidden;
    padding-right: 8%;
    padding-left: 90px;
    background-position: bottom 0 left 15px;
  }
  .our-vision-wrap h3 {
    margin-bottom: 10px;
    font-size: 20pt;
  }
  .our-vision-wrap p{
    line-height: 160%;
  }
  .ceo-message {
    padding:0px 0px 60px;
  }
  .ceo-message-wrap h3 {
    font-size: 20pt;
    line-height: 140%;
  }
  .ceo-name img {
    width: 180px;
  }
  .logo-origin {
    padding:0px 0 60px;
  }
  .our-philosophy {
    padding:30px 0;
  }
  .philosophy-wrap{
    padding: 40px 20px;
  }
  .philosophy-logo {
    width:40%;
  }
  .service-area {
    padding:10px 0;
  }
  .service-menu {
    padding:30px 0 30px;
  }
  .service-menu-ttl h3 {
    padding-top: 30px;
  }
  .works-single-head {
    position: relative;
    z-index: 2;
    padding:60px 0 30px;
  }
  .works-single-data {
    padding:60px 0 30px;
  }
  .works-single-thumb-wrap figure {
    width: 100px;
  }
  .works-list {
    padding: 60px 0;
  }
  .works-list-item div.wli-txt {
    padding: 12px 8px;
  }
  .works-list-item h4 {
    padding: 0px;
    font-size: 10pt;
    font-weight: 300;
    height: 40px;
  }
  .works-list-item p {
    font-size: 8pt;
  }
  .blog-wrapper {
    margin: 0 auto;
  }
  .news-item {
    padding: 30px 20px;
  }
	/* wp blog-archive */
  .blog-wrapper h2 {
    font-size: 16pt;
  }
	.blog-archive {
		width: 90%;
		margin: 60px auto;
	}
	.blog-archive ul.archive-list {
		list-style: none;
		border: #000000 0px solid;
	}
	.blog-archive ul.archive-list li {
		width: 100%;
		height: auto;
		padding: 20px 20px;
		float: left;
		border: #000000 0px solid;
	}
	.blog-archive ul.archive-list h3 {
		font-size: 15px;
		padding-top: 10px;
		font-weight: normal;
	}
	.blog-archive ul.archive-list p.blog-date {
		font-size: 12px;
		padding-top: 10px;
	}
	.blog-archive nav {
		clear: both;
	}
  .contactus-intro {
		padding-top: 20px;
  }
  .contactus-intro-contents {
    padding: 15px;
  }
  .policy-contents {
    padding: 15px;
  }
}

/* 380px以下から
------------------------------------------------------------*/
@media only screen and (max-width:380px){
}
/* 320px以下から
------------------------------------------------------------*/
@media only screen and (max-width:320px){

}



