@charset "utf-8";
/*こちらも同じくメモ多めのcssとなっております。*/
/*cssはファイルの1行目から順に読み込まれます。あとに書かれているものが先に書かれているものを上書きしていきます。*/
/*ただしセレクタの書き方でも優位性は変わります。どうしても適応させたい場合は!importantをつければ最優先される。*/

/*リセットcssここから*/
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	/*font-family: 'Noto Sans JP', sans-serif;*/
	font-family: maru-maru-gothic-alr-stdn, sans-serif;
	/*font-family: iroha-23kaede-stdn, sans-serif;*/
	font-weight: 400;
	font-style: normal;
	/*font-weight: normal;*/	
}

video {
  /*iPhone safariの枠線を消す*/
  filter: drop-shadow(0px 0px rgba(0,0,0,0));

  /* PCのChromeの枠線を消す*/
  outline: none;
  border: none;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;/*行の高さ(上下余白がフォントサイズ1に対して何倍か、単位つけない。)*/
}
ol, ul {
	/*list-style: none; リストの黒丸と番号はデフォルトで見やすいので欲しい*/
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
/*リセットcssここまで*/

strong, b {
	font-weight: 600;
	color: #666;
}/*重要性*/

em, i {
	font-style: italic;
}/*アクセント強調*/

hr {
	border: 0;
	border-top: solid 1px #ddd;
}/*コンテンツ区切り*/

blockquote {
	border-left: solid 0.5em #ddd;
	padding: 1em 0 1em 2em;
	font-style: italic;
}/*ブロック引用*/

.class { font-variant-east-asian: full-width; -moz-font-feature-settings: "fwid"; -webkit-font-feature-settings: "fwid"; font-feature-settings: "fwid"; }
/*AdobeフォントのOpenType設定。fwidは他の字形セットを全角幅に置き換える。*/

a {
	text-decoration: none;/*リンクの下線を消しておくぜ！*/
}

body {
	box-sizing: border-box;/*コンテンツのサイズ指定をボーダーの内側paddingを含んだ状態してくれる呪文*/
	background-color: #d8dbcd;
	/*scroll-behavior: smooth;*//*ブートストラップのスムーズスクロール*/
}

div { 
}

img {
}

p {
	font-size: 16px;
}
h1 {font-size: 2.5em;}
h2 {font-size: 2em;}
h3 {font-size: 1.5em;}
h4 {font-size: 1.25em;}


/* header ----------------------------------------------------------------------------*/
#header {
	padding: 25vh 0;
}

#header .top {
	background-image: url("images/banner.jpg");
	background-position: center;
	margin: 0 auto;
	width: 100%;
	height: 50vh;
	display: flex;/*ここから下3つはセットで要素の中の要素をセンターにするやつ*/
	justify-content: center;
	align-items: center;
	color: #fff;
}

#header .mini {
	font-size: 1.2em;
	text-align: center;
}
#header .big {
	font-size: 3em;
	text-align: center;
	margin: 0.5em;
}

/* nav ----------------------------------------------------------------------------*/
#nav {
	width: 1280px;
	height: 5em;
	margin: 2em auto;
	background-color: #000;
	border-radius: 2.5em;
	vertical-align: middle;
}

#nav .menu {
	height: 100%;
	width:100%;
	padding: 0 1.5em;
}

#nav ul {
	display: table;/*リストを横に新*/
	width: 100%;
}

#nav li {
	/*float: left;リストを横に旧*/
	overflow: hidden;/*回り込み禁止*/
	height: 5em;
	font-size: 1em;
	font-weight: 400;
	text-align: center;
	display: table-cell;/*リストを横に新のセル用*/
	vertical-align: middle;
}

#nav .banner {
	width: 40%;
}

#nav .left {
	width: 14em;
	margin-left: 0.5em;
}

#nav p.big {
	font-size: 1.5em;
	line-height: 1.2;
	padding: 0.15em;
}

#nav p.small {
	font-size: 1em;
}

#nav .button {
	width: 15%;
}

#nav img {
	height: 2em;
	width: auto;
}

#nav a {
	color: #fff;
	height: 5em;
	padding: 1em;
	display: block;
	cursor: pointer;
	cursor: hand;
}

/*スクロールしたらnav消すやつの時間*/
nav {
	transition: .5s;
}

/*スクロールしたらnav消すやつ*/
.hide {
  transform: translateY(-100%);
}

@media screen and (min-width: 736px) and (max-width: 1280px) {
	
	#nav {
		width: 100%;
	}
	#nav .banner {
		width: 20%;
	}
	
	#nav .button {
		width: 10%;
	}
}

@media screen and (max-width: 735px) {
	
	#nav {
		width: 100%;
	}
	#nav .banner {
		width: 20%;
		padding: 0;
	}
	
	#nav .left {
	width: 10em;
	margin-left: 0;
}
	
	#nav p.big {
	font-size: 1.2em;
}
	#nav p.small {
	font-size: 0.8em;
}
	
	#nav .button {
		width: 20%;
	}
	#nav .button p {
		font-size: 0;
	}
	
	#nav a {
	padding: 1.5em 0.5em;
}
	
}

@media screen and (min-width: 735px){
.br-sp {display: none; }
}

/* main ----------------------------------------------------------------------------*/
#main {
	margin: 0 auto;
	width: 1280px;
	font-weight: normal;
}

#main h1 {
	color: #198754;
}

@media screen and (max-width: 1280px) {
	
	#main {
		width: 100%;
	}
}

/* article ----------------------------------------------------------------------------*/
article {
	padding: 2.5em 1em 0;
}

article > header {
	margin: 6em 0 1em;
	text-align: center;
	line-height: 2;
}

.content {
	height: 100%;
	text-align: center;
	position:relative;
}

.content p, h2, h3, h4 {
	font-family: iroha-27keyaki-stdn, sans-serif;
}

.dai {
	display: flex;
	flex-wrap: wrap;
	box-sizing: border-box;
	align-items: stretch;
	margin-left: -1em;
}

.dai > * {
	box-sizing: border-box;
	padding: 0 0 1em 1em;
}

.dai > .col-2 {
	width: 50%;
}

.dai > .col-4 {
	width: 25%;
}

.zoom {
	z-index: 1;/*角丸でマスクしたいからz軸を手前に*/
	overflow:hidden;
}

section {
	background-color: #fff;
	border-radius: 1em;
}


.content-in {
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	width:100%;
}

.content-in p {
	font-size: 1.5em;
	line-height: 2;
}

.content-in p.small {
	font-size: 1em;
}

.content-in a {
	margin-top: 1em;
}

.dai h2 {
	margin-top: 0.5em;
	line-height: 3;
}
.dai h3 {
    background:linear-gradient(transparent 50%, #ffff66 0%);
	margin-top:1em;
	/*margin-bottom: 1em;*/
}

.dai p {
	line-height: 3;
}
	
.in p {
	font-size: 1em;
	border-bottom:1px solid #eee;
}

.image {
	display: inline-block;
	border: 0;
	border-radius: 1em 1em 0 0;/*完全に別に用意するの面倒くさがってるだけ*/
}

.image2 {
	transition-duration: 0.5s;
}

.image2:hover {
	transform: scale(1.1,1.1);
	transition-duration: 0.5s;
}

.image-no {
	border-radius: 1em;
}

.image img {
	display: block;
	width: 100%;
	}

.fit {
	display: block;
	width: 100%;
}


@media screen and (max-width: 735px) {
	.content-in p {
	font-size: 1em;
}
	.dai > .col-2 {
	width: 100%;
}
	
	.dai > .col-4 {
	width: 50%;
}
	
	.dai > * {
	padding-bottom: 1em;
}
}

/* work ----------------------------------------------------------------------------*/
.work-pg {
	background-color: #fff;
	border-radius: 1em;
	margin-bottom: 5em;
	padding: 5em 10em;
}

.work-pg-in {
	text-align: left;
}

.work-pg-in > h2{
	font-size: 1.5em;
	margin-bottom: 1em;
}

.work-pg-in > h3{
	font-size: 1.2em;
	margin-bottom: 1em;
	
}

.u-line {
	background:linear-gradient(transparent 50%, #ffff66 0%);
}

.work-pg-in > h4{
	font-size: 1.1em;
	margin-bottom: 1em;
}

.work-pg-in > p{
	margin-bottom: 0.5em;
}

.work-img {
	border: solid 1px #ddd;
}

.next {
	position: fixed;
	top: 50%;
	right: 0;
}

.prev {
	position: fixed;
	top: 50%;
	left: 0;
}

.roundbutton {
	height: 6em;
	width: 6em;
	filter: drop-shadow(0px 0px 2px rgba(0,0,0,0.6));
}

.arrow {
	height: 2em;
	width: auto;
	margin: 2em 0.3em;
	filter: drop-shadow(0px 0px 2px rgba(0,0,0,0.6));
}

.prev > .arrow {
	transform: scale(-1,1);
}

/*.arrow img {
	height: 2em;
	width: auto;
}*/

@media screen and (min-width: 736px) and (max-width: 1280px) {
	.work-pg {
		padding: 2em 4em;
	}	
	.next {display: none; }
	.prev {display: none; }
}

@media screen and (max-width: 735px) {
	.work-pg {
		padding: 1em 2em;
	}	
	.next {display: none; }
	.prev {display: none; }
}



/* monji ----------------------------------------------------------------------------*/

.monji {
	height: 40em;
}
/* contact ----------------------------------------------------------------------------*/

.contact {
	height: 20em;
}

/* footer ----------------------------------------------------------------------------*/
#footer {
	margin: 0px auto;
	background-color: #198754;
	width: 100%;
	height: 20vh;
	text-align: center;
	color: #fff;
}

.footer-in {
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	width:100%;
}

.footer-in p {
	
}