@charset "UTF-8";

/*リセット*/
html, body {
	height: 100%;
	padding: 0;
	margin: 0;
}
body {
	color:#000000;
}
a {
	color:#000000;
	text-decoration:none;
}
a:hover {
	color:rgba(0,0,0,0.5);
}
ul, ol {
	list-style-type:none;
	padding:0;
}

/*【変数】フォントサイズ・字間・行間・文字揃え*/
@media screen and (min-width:1025px) {
	:root {
		--font-size-xl: 32px;
		--font-size-l: 28px;
		--font-size-ml: 22px;
		--font-size-m: 18px;
		--font-size-s: 14px;
		--font-size-xs: 12px;
	}
}
@media screen and (min-width:768px) and (max-width:1024px) {
	:root {
		--font-size-xl: 32px;
		--font-size-l: 28px;
		--font-size-ml: 24px;
		--font-size-m: 20px;
		--font-size-s: 14px;
		--font-size-xs: 12px;
	}
}
@media screen and (min-width:375px) and (max-width:767px) {
	:root {
		--font-size-xl: 24px;
		--font-size-l: 22px;
		--font-size-ml: 18px;
		--font-size-m: 14px;
		--font-size-s: 12px;
		--font-size-xs: 9px;
	}
}
@media screen and (max-width:374px) {
	:root {
		--font-size-xl: 22px;
		--font-size-l: 20px;
		--font-size-ml: 16px;
		--font-size-m: 13px;
		--font-size-s: 11px;
		--font-size-xs: 8px;
	}
}

/*【変数】マージン*/
@media screen and (min-width:1025px)  {
	:root {
	--margin-xl: 100px;
	--margin-l: 90px;
	--margin-m: 60px;
	--margin-s: 30px;
	--margin-xs: 15px;
	}
}
@media screen and (min-width:768px) and (max-width:1024px) {
	:root {
	--margin-xl: 110px;
	--margin-l: 72px;
	--margin-m: 48px;
	--margin-s: 24px;
	--margin-xs: 12px;
	}
}
@media screen and (min-width:375px) and (max-width:767px) {
	:root {
	--margin-xl: 120px;
	--margin-l: 60px;
	--margin-m: 30px;
	--margin-s: 20px;
	--margin-xs: 10px;
	}
}
@media screen and (max-width:374px) {
	:root {
	--margin-xl: 110px;
	--margin-l: 50px;
	--margin-m: 26px;
	--margin-s: 14px;
	--margin-xs: 6px;
	}
}
/*基本設定*/
body {
	font-size: var(--font-size-m);
	letter-spacing:1px;
	line-height:1.6;
	text-align:left;
	font-family: "FOT-セザンヌ Pro DB";
}
h1,h2,h3,h4,h5,.caption {
	font-family: "FOT-セザンヌ Pro B";
}
#top h1, #under h1, #entry .title_blog,.top_title {
	font-size: var(--font-size-xl);
	text-align:center;
	font-family: "FOT-セザンヌ Pro B";
}
#top h1 small, #under h1 small, #entry .title_blog small , .top_title small {
	font-size: var(--font-size-m);
}
#top h2, #under h2, #entry h1, .caption,.p_tit{
	font-size: var(--font-size-l) !important;

    margin: var(--margin-m) auto !important;
}
h3 {
	font-size: var(--font-size-ml);
}
h1,h2,h3,h4,h5,p,ul,ol,dl,table,.youtube {
	margin: var(--margin-m) auto;
}
p,ul,ol,dl {
	font-size: var(--font-size-m);
}
dt,dd {
	margin:0;
	padding:0;
}
@media screen and (min-width:1025px) {
	.dn_pc {
		display:none;
	}
}
@media screen and (min-width:768px) and (max-width:1024px) {
	.dn_tab {
		display:none;
	}
}
@media screen and (max-width:767px) {
	.dn_sp {
		display:none;
	}
}
.mt_0 {
	margin-top:0;
}
.mb_0 {
	margin-bottom:0;
}
.mt_xs {
	margin-top:var(--margin-xs);
}
.mb_xs {
	margin-bottom:var(--margin-xs);
}

/*各ページ共通構造*/
header {
	position:fixed;
	top:0;
	left:0;
	z-index:100;
	width:100%;
	height:80px;
	background-color:rgba(255,255,255,0.75);
}
header .logo {
	display:block;
	margin:15px 0 0 20px;
	width:50px;
	border-radius:20%;
}
header .logo img {
	width:100%;
	border-radius:20%;
}
header ul {
	margin:0;
	position:fixed;
	top:25px;
	right:20px;
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: var(--margin-xs);
}
header ul li a {
	display:block;
	margin:0;
	text-align:center;
	line-height:20px;
	background-color:rgba(255,255,255,0.5);
	border:1px solid rgba(0,0,0,0.5);
	font-size: var(--font-size-s);
}
@media screen and (min-width:768px) {
	header ul li a {
		padding:5px 10px;
		letter-spacing:1px;
	}
}
@media screen and (min-width:375px) and (max-width:767px) {
	header ul li a {
		padding:5px 3px;
		letter-spacing:0;
	}
}
@media screen and (max-width:374px) {
	header ul li a {
		padding:5px 2px;
		letter-spacing:0;
	}
}	
li:last-child {
	padding-right:0;
}
footer {
	padding-bottom:1px;
}
.copy {
	text-align:center;
	margin: var(--margin-m) 0;
	font-size: var(--font-size-s);
	line-height:1;
	text-align:center;
}
	@media screen and (min-width:768px) {
		.copy {
			font-size: var(--font-size-s);
		}
	}
	@media screen and (max-width:767px) {
		.copy {
			font-size: var(--font-size-xs);
		}
	}
#scroll_up {
	position:fixed;
	right:20px;
	bottom:20px;
	display:block;
	border-radius:50%;
}
	@media screen and (min-width:1025px) {
		#scroll_up {
			width:40px;
		}
	}
	@media screen and (min-width:768px) and (max-width:1024px) {
		#scroll_up {
			width:36px;
		}
	}
	@media screen and (max-width:767px) {
		#scroll_up {
			width:30px;
		}
	}
.bread {
	font-size:  var(--font-size-s);
	margin-bottom : var(--margin-l);
}
.bread a {
	text-decoration:underline;
}
.ul_navi1 {
	gap: var(--margin-xs);
}
	@media screen and (min-width:461px) {
		.ul_navi1 {
			display: grid;
			grid-template-columns: repeat(2,1fr);
		}
		.ul_navi1 a {
			padding:20px 0;
		}
	}
	@media screen and (max-width:460px) {
		.ul_navi1 {
			display: grid;
			grid-template-columns: repeat(1,1fr);
		}
		.ul_navi1 a {
			padding:12px 0;
		}
	}
.ul_navi1 a {
	display:block;
	margin:0;
	text-align:center;
	line-height:1;
	background-color:rgba(255,255,255,0.5);
	border:1px solid rgba(0,0,0,0.5);
}
.ul_navi2 {
	gap: var(--margin-xs);
}
	@media screen and (min-width:461px) {
		.ul_navi2 {
			display: grid;
			grid-template-columns: repeat(4,1fr);
		}
	}
	@media screen and (max-width:460px) {
		.ul_navi2 {
			display: grid;
			grid-template-columns: repeat(2,1fr);
		}
	}
.ul_navi2 a {
	display:block;
	margin:0;
	padding:10px;
	text-align:center;
	line-height:1;
	background-color:rgba(255,255,255,0.5);
	border:1px solid rgba(0,0,0,0.5);
}
.content{
	margin:0 auto;
}
	@media screen and (min-width:1025px) {
		.content{
			width:60%;
		}
	}
	@media screen and (min-width:768px) and (max-width:1024px) {
		.content{
			width:80%;
		}
	}
	@media screen and (max-width:767px) {
		.content{
			width:90%;
		}
	}
.content small {
	font-size: var(--font-size-s);
}
.content .very_small {
	font-size: var(--font-size-xs);
}
.content p img {
	width:100%;
}
.content p a {
	text-decoration:underline;
}
.content table {
	width:100%;
	font-size: var(--font-size-m);
	letter-spacing:1px;
	line-height:1.6;
	border-collapse: collapse;
	border: 2px solid rgba(0,0,0,0.1);
}
.content table th {
	padding:var(--margin-m) var(--margin-xs);
	border: 1px solid rgba(0,0,0,0.1);
	background-color:rgba(0,0,0,0.025);
}
	@media screen and (max-width:767px) {
		.content table th{
				font-size: var(--font-size-s);
		}
	}
.content table td {
	padding:var(--margin-m);
	border: 1px solid rgba(0,0,0,0.1);
}
.youtube {
	width:100%;
}

.youtube div{
	position:relative;
	padding-top:56.25%;
}
.youtube div iframe{
	position:absolute;
	top:0;
	right:0;
	width:100%;
	height:100%;
}
.ul_history li {
	width:100%;
	display: grid;

	gap: var(--margin-xs);
	padding-bottom:var(--margin-s);
	margin-bottom:var(--margin-s);
	border-bottom:1px solid rgba(0,0,0,0.1);
}
	@media screen and (min-width:768px) {
		.ul_history li{
			grid-template-columns: 1fr 3fr;
		}
	}
	@media screen and (max-width:767px) {
		.ul_history li{
			grid-template-columns: 1fr 2fr;
		}
	}
.ul_history li time {
	text-align:center;
}
.ul_history li:last-child {
	padding-bottom:0;
	margin-bottom:0;
	border-bottom:none;
}
a.anchor{
	display: block;
	padding-top: 80px;
	margin-top: -80px;
}
.container_news {
	margin:var(--margin-m) auto 0;
	padding:1px 0;
	border-top:1px dashed rgba(0,0,0,0.5);
	border-bottom:1px dashed rgba(0,0,0,0.5);
}
	@media screen and (min-width:768px) {
		.container_news {
			width:80%;
		}
	}
	@media screen and (max-width:767px) {
		.container_news {
			width:90%;
		}
	}
.container_news ul {
	width:100%;
	display: grid;
}
	@media screen and (min-width:1025px) {
		.container_news ul{
			grid-template-columns: repeat(5,1fr);
			gap: var(--margin-s);
			line-height:1.3;
		}
	}
	@media screen and (min-width:768px) and (max-width:1024px) {
		.container_news ul{
			grid-template-columns: repeat(3,1fr);
			gap: var(--margin-s);
			line-height:1.3;
		}
		.container_news .last_child li:last-child {
			display:none;
		}
	}
	@media screen and (max-width:767px) {
		.container_news ul{
			grid-template-columns: repeat(2,1fr);
			gap: var(--margin-s);
			line-height:1.4;
			font-size: var(--font-size-s);
		}
	}
.container_news ul li img {
	display:block;
	width:100%;
}
.date_blog {
	display:block;
	margin:var(--margin-xs) 0 0;
	line-height:2;
}
	@media screen and (min-width:768px) {
		.date_blog{
			font-size: var(--font-size-s);
		}
	}
	@media screen and (max-width:767px) {
		.date_blog{
			font-size: var(--font-size-xs);
		}
	}
/*ボタン類*/
.view {
	display:block;
	margin:var(--margin-xs) auto var(--margin-m);
	padding:10px 0 !important;
	border:1px solid rgba(0,0,0,0.5);
	text-align:center;
	font-size: var(--font-size-s) !important;
	line-height:1;
	background-color: #fff !important;
	font-weight: bold !important;
}
	@media screen and (min-width:768px) {
		.view{
			width:25% !important;
		}
	}
	@media screen and (max-width:767px) {
		.view {
			width:35% !important;
		}
	}
.view2 {
	display:block;
	margin:var(--margin-xs) auto var(--margin-m);
	padding:10px 0;
	border:1px solid rgba(0,0,0,0.5);
	text-align:center;
	font-size: var(--font-size-s);
	line-height:1;

}
	@media screen and (min-width:768px) {
		.view2{
			width:50%;
		}
	}
	@media screen and (max-width:767px) {
		.view2 {
			width:85%;
		}
	}
.contact {
	display:block;
	margin:var(--margin-l) auto var(--margin-m);
	border:1px solid rgba(0,0,0,0.5);
	text-align:center;
	line-height:1;
	padding:15px 0;
}
	@media screen and (min-width:1025px) {
		.contact {
			width:30%;
		}
	}
	@media screen and (min-width:768px) and (max-width:1024px) {
		.contact {
			width:50%;
		}
	}
	@media screen and (max-width:767px) {
		.contact {
			width:90%;
		}
	}
/*下層ページ共通構造*/
#under h1, #entry .title_blog,.top_title{
	margin-top: var(--margin-xl);
}
#under h2, #entry h1,.p_tit{
	padding-bottom:var(--margin-xs);
	border-bottom:1px solid rgba(0,0,0,0.5);
	text-align: left !important;
}
/*トップページ*/
#top .mv .logo_main {
	display:block;

}
	@media screen and (min-width:1025px) {
		#top .mv .logo_main {
			width:156px;
			margin:var(--margin-l) auto 0;
		}
	}
	@media screen and (min-width:768px) and (max-width:1024px) {
		#top .mv .logo_main {
			width:122px;
			margin:var(--margin-xl) auto 0;
		}
	}
	@media screen and (min-width:375px) and (max-width:767px) {
		#top .mv .logo_main {
			width:115px;
			margin:var(--margin-xl) auto var(--margin-l);
		}
	}
	@media screen and (max-width:374px) {
		#top .mv .logo_main {
			width:100px;
			margin:var(--margin-xl) auto var(--margin-l);
		}
	}
#top .mv h2 {
	text-align:center;
}
#top .mv .ul_staff {
	display: grid;
	grid-template-columns: repeat(7,1fr);
	gap: 0;
	max-width:840px;
}
	@media screen and (min-width:1025px) {
		#top .mv .ul_staff {
			width:60%;
		}
	}
	@media screen and (min-width:768px) and (max-width:1024px) {
		#top .mv .ul_staff {
			width:90%;
		}
		#top .mv .ul_staff li{
			font-size:  var(--font-size-s);
		}
	}
	@media screen and (max-width:767px) {
		#top .mv .ul_staff {
			width:95%;
		}
		#top .mv .ul_staff li{
			font-size: var(--font-size-xs);
		}
	}
#top .mv .ul_staff li {
	text-align:center;
	line-height:1.2;
}
#top .mv .ul_staff li img {
	display:block;
	width:100%;
	margin-bottom:10px;
}
#top .mv .caption {
	text-align:center;
}
.h3_slide {
	margin-bottom:var(--margin-xs);
	text-align:center;
}

	/* スライドコンテンツ */
	@keyframes infinity-scroll-right {
		from {
			transform: translateX(-100%);
		}
		to {
		transform: translateX(0);
		}
	}
	.scroll-infinity__wrap {
		display: flex;
		overflow: hidden;
	}
	.scroll-infinity__list {
		display: flex;
		margin:0;
	}
	.scroll-infinity__list--right {
		animation: infinity-scroll-right 100s infinite linear 0.5s both;
	}
	@media screen and (min-width:1025px) {
		.scroll-infinity__item {
			width: calc(100vw / 10);
			margin-right:10px;
		}
		.scroll-infinity__item2 {
			width: calc(100vw / 7);
			margin-right:10px;
		}
	}
	@media screen and (min-width:768px) and (max-width:1024px) {
		.scroll-infinity__item {
			width: calc(100vw / 6);
			margin-right:10px;
		}
		.scroll-infinity__item2 {
			width: calc(100vw / 5);
			margin-right:10px;
		}
	}
	@media screen and (max-width:767px) {
		.scroll-infinity__item {
			width: calc(100vw / 3);
			margin-right:10px;
		}
		.scroll-infinity__item2 {
			width: calc(100vw / 2);
			margin-right:10px;
		}
	}
	.scroll-infinity__item > img {
		width: 100%;
		display:block;
	}
	.scroll-infinity__item2 > img {
		width: 100%;
		display:block;
	}

/*制作実績*/
.content_wide {
	margin:0 auto;
}
	@media screen and (min-width:768px) {
		.content_wide {
			width:95%;
		}
	}
	@media screen and (max-width:767px) {
		.content_wide {
			width:90%;
		}
	}

.content_wide ul li img {
	display:block;
	width:100%;
}
	.ul_works {
		width:100%;
		margin: var(--margin-m) auto;
			display: grid;
			gap: var(--margin-xs);
	}
	@media screen and (min-width:1921px) {
		.ul_works {
			grid-template-columns: repeat(10,1fr);
		}
	}
	@media screen and (min-width:1025px) and (max-width:1920px) {
		.ul_works {
			grid-template-columns: repeat(7,1fr);
		}
	}
	@media screen and (min-width:768px) and (max-width:1024px) {
		.ul_works {
			grid-template-columns: repeat(4,1fr);
		}
	}
	@media screen and (min-width:500px) and (max-width:767px) {
		.ul_works {
			grid-template-columns: repeat(3,1fr);
		}
	}
	@media screen and (max-width:499px) {
		.ul_works {
			grid-template-columns: repeat(2,1fr);
		}
	}
/*入曽デザインについて*/
@media screen and (min-width:768px) {
	.container_about {
		display: grid;
		grid-template-columns: repeat(3,1fr);
		gap: var(--margin-xs);
		width:100%;
	}
	.container_about p {
		margin:0;
	}
}
@media screen and (max-width:767px) {
	.container_about {
		display: grid;
		grid-template-columns: repeat(2,1fr);
		gap: var(--margin-xs);
		width:100%;
	}
	.container_about p {
		margin:0;
	}
}
.video_about {
	margin:0 0 var(--margin-xs);
	width:100%;
}
/*会社概要*/
.table_about th {
	width:29%;
	letter-spacing:0;
}
/*スタッフ*/
#under .ul_staff {
	display: grid;
	grid-template-columns: repeat(7,1fr);
	gap: 0;
	width:100%;
}
	@media screen and (min-width:768px) and (max-width:1024px) {
		#under .ul_staff li{
			font-size:  var(--font-size-s);
		}
	}
	@media screen and (max-width:767px) {
		#under .ul_staff li{
			font-size: var(--font-size-xs);
		}
	}
#under .ul_staff li {
	text-align:center;
	line-height:1.2;
}
#under .ul_staff li img {
	display:block;
	width:100%;
	margin-bottom:10px;
}
@media screen and (min-width:768px) {
	.container_staff {
		display: grid;
		grid-template-columns: 1fr 3fr;
		gap: var(--margin-s);
		width:100%;
	}
	.container_staff p {
		margin:0;
	}
}
@media screen and (max-width:767px) {
	.container_staff {
		width:80%;
		margin:auto;
	}
	.img_hirayama {
		width:50%;
	}
}
/*お問い合わせ*/
.form_contact {
	margin:var(--margin-m) auto;
	width:100%;
	max-width:700px;
}
.form_contact dl {
	display:block;
	width:100%;
}
.form_contact dl dd {
}
.form_contact dl dd:last-child {
}
@media screen and (min-width:768px) {
	.form_contact dl {
		display: grid;
		grid-template-columns: repeat(1,1fr 3fr);
		gap: var(--margin-xs);
	}
}
@media screen and (max-width:767px) {
	.form_contact dl dt {
		margin-bottom:5px;
	}
	.form_contact dl dd {
		margin-bottom:var(--margin-s);
	}
}



	@media screen and (max-width:1099px) and (min-width:768px) {
		.form_contact dl dt {
			font-size: var(--font-size-s);
		}
	}

/*ブログ*/
.container_blog {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--margin-s);
	width:100%;
}
.container_blog h3 {
	margin-bottom: var(--margin-s);
	padding-bottom:var(--margin-xs);
	border-bottom:1px solid rgba(0,0,0,0.5);
}
.container_blog ul {
	margin:0;
	font-size: var(--font-size-s);
	list-style-type:disc;
	margin-left: 17px;
}
.pager {
	margin: var(--margin-m) auto;
	text-align:center;
	font-size: var(--font-size-m);
}
.container_entry {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	width:100%;
}
.container_entry p {
	margin:0;
	font-size: var(--font-size-s);
}
.ul_month {
	list-style-type:disc;
	padding-left: var(--margin-s);
}



.square-img {
    width: 100%;
    aspect-ratio: 1 / 1;   /* 正方形 */
    object-fit: cover;     /* はみ出た分をトリミング */
    height: auto;
    display: block;
  }


  .form_contact p{
	margin: 0 !important;
  }

  .form_contact input{
	padding: 0.3em;
	width: 100%;
	box-sizing: border-box;
  }
  .form_contact textarea{
	padding: 0.3em;
	width: 100%;
	box-sizing: border-box;
  }

  .last_check{
	width: 100%;
	text-align: center;
	padding: 1em 0.5em;
	display: flex;
	justify-content: center;
  }

  .last_check input{
	display:inline-block !important;
	width: auto !important;
  }


 .page-id-2235 .container_news,
 .page-id-2240 .container_news {
	margin:0 auto;
}


	@media screen and (min-width:1025px) {
		
 .page-id-2235 .container_news,
 .page-id-2240 .container_news{
			width:60%;
		}
	}
	@media screen and (min-width:768px) and (max-width:1024px) {
		
 .page-id-2235 .container_news,
 .page-id-2240 .container_news{
			width:80%;
		}
	}
	@media screen and (max-width:767px) {
		
 .page-id-2235 .container_news,
 .page-id-2240 .container_news{
			width:90%;
		}
	}


	.right {
		text-align:right;
	}
.center {
		text-align:center !important;
	}