@charset "utf-8";
/*
@import url(//fonts.googleapis.com/css?family=Open+Sans:400,400italic,600,600italic,700,700italic);
*/
/*@import url(//fonts.googleapis.com/css?family=Roboto+Slab:400,100,300,700);*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;500&display=swap');
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/

/*要素のフォントサイズやマージン・パディングをリセットしています*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, section, summary,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}

/*行の高さをフォントサイズと同じにしています*/
body {
	line-height:1;
}

/*新規追加要素のデフォルトはすべてインライン要素になっているので、section要素などをブロック要素へ変更しています*/
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
	display:block;
}

/*nav要素内ulのマーカー（行頭記号）を表示しないようにしています*/
/*nav ul {
  list-style:none;
  }*/
ol, ul {
	list-style: none;
}

/*引用符の表示が出ないようにしています*/
blockquote, q {
	quotes:none;
}

/*blockquote要素、q要素の前後にコンテンツを追加しないように指定しています*/
blockquote:before, blockquote:after,
q:before, q:after {
	content:'';
	content:none;
}

/*a要素のフォントサイズなどをリセットしフォントの縦方向の揃え位置を親要素のベースラインに揃えるようにしています*/
a {
	margin:0;
	padding:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}

/* ins要素のデフォルトをセットし、色を変える場合はここで変更できるようにしています */
ins {
	background-color:#ff9;
	color:#000;
	text-decoration:none;
}

/* mark要素のデフォルトをセットし、色やフォントスタイルを変える場合はここで変更できるようにしています
また、mark要素とは、文書内の検索結果で該当するフレーズをハイライトして、目立たせる際に使用するようです。*/
mark {
	background-color:#ff9;
	color:#000;
	font-style:italic;
	font-weight:bold;
}

/*テキストに打ち消し線が付くようにしています*/
del {
	text-decoration: line-through;
}

/*IEではデフォルトで点線を下線表示する設定ではないので、下線がつくようにしています
また、マウスオーバー時にヘルプカーソルの表示が出るようにしています*/
abbr[title], dfn[title] {
	border-bottom:1px dotted;
	cursor:help;
}

/*隣接するセルのボーダーを重ねて表示し、間隔を0に指定しています*/
table {
	border-collapse:collapse;
	border-spacing:0;
}

/*水平罫線のデフォルトである立体的な罫線を見えなくしています*/
hr {
	display:block;
	height:1px;
	border:0;  
	border-top:1px solid #cccccc;
	margin:1em 0;
	padding:0;
}

/*縦方向の揃え位置を中央揃えに指定しています*/
input, select {
	vertical-align:middle;
}

/*画像を縦に並べた時に余白が出ないように*/
img {
	vertical-align: top;
	font-size: 0;
	line-height: 0;
}

/*box-sizingを全ブラウザに対応*/
*, *:before, *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}


.clearfix:after{
	content: "."; 
	display: block; 
	height: 0; 
	font-size:0;
	clear: both; 
	visibility:hidden;
}


.none{
	display:none;
}


/* darkmode定義 */
@media (prefers-color-scheme: light) {
	:root {
	  --main-text-color: #333;
	  --main-bg-color: #fff;
	}
}
@media (prefers-color-scheme: dark) {
	:root {
	  --main-text-color: #fff;
	  --main-bg-color: #333;
	}
}
body{
	min-height: 100vh;
	color: var(--main-txt-color,#333);
	background-color: var(--main-bg-color,#fff);
}



/* 表示フォントの設定 */
body{
	font-family: 'Noto Sans JP',"ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Noto Sans JP" , "Roboto" , "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "Osaka", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size:14px;
}
@media all and (-ms-high-contrast:none){
    body {
		font-family: "Roboto" , "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
		/* ヒラギノと游ゴシックがずれるので、IE11は除外する */
	}
}
.mincho{
	font-family: "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
}


.background-white{
	background-color:#fff;
}


a:hover{
	opacity:0.9;
}
/*
@media(max-width:1024px){
	a:hover{
		opacity:1;
	}
}
*/


.pc{
	display:inline-block;
}
.pc2{
	display:inline-block;
}
.sp{
	display:none;	/* 1024以下で */
}
.sp2{
	display:none;	/* 750以下で */
}


/* 回転************************************************ */
.swirl-in-bck {
	-webkit-animation: swirl-in-bck 0.9s ease-out both;
	        animation: swirl-in-bck 0.9s ease-out both;
}

/* ----------------------------------------------
 * Generated by Animista on 2024-9-6 19:50:32
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation swirl-in-bck
 * ----------------------------------------
 */
@-webkit-keyframes swirl-in-bck {
  0% {
    -webkit-transform: rotate(540deg) scale(5);
            transform: rotate(540deg) scale(5);
    opacity: 0;
  }
  100% {
    -webkit-transform: rotate(0) scale(1);
            transform: rotate(0) scale(1);
    opacity: 1;
  }
}
@keyframes swirl-in-bck {
  0% {
    -webkit-transform: rotate(540deg) scale(5);
            transform: rotate(540deg) scale(5);
    opacity: 0;
  }
  100% {
    -webkit-transform: rotate(0) scale(1);
            transform: rotate(0) scale(1);
    opacity: 1;
  }
}
/* ************************************************** */


@media(max-width:1024px){
	.pc{
		display: none;
	}
	
	.sp{
		display: inline-block;
	}
}


@media(max-width:750px){
	.pc2{
		display:none;
	}
	.sp2{
		display:inline-block;
	}
}



/* ************************************************** */
body{
	background-color:#ffffff;
	color:#333333;
	overflow-x: hidden;
	overflow-y: auto;
	height: 100%;
}


.container {
	/*background: url(../images/logo.svg) no-repeat center;*/
	width: 100%;
    height: 100vh;
	position: relative;
	font-family: 'Noto Serif JP', serif;
}

header {
	width: 348px;
	letter-spacing: 0.3em;
	padding: 40px 0 0 40px;
	overflow:hidden;
}
.window {
	width: 34px;
	height: 34px;
	border: 6px solid #a6a6a6;
	float: left;
}
h1 {
	width: 260px;
	padding: 8px 0 0 0;
	float: right;
}

/* 回転*********************************************** */
.logo {
	position: absolute;
	width: 206px;
	height: 170px;
	top: -44px;
  	right: 0;
  	bottom: 0;
  	left: 0;
	margin: auto;
}
/* ************************************************** */


.contents {
	width: 100%;
	position: absolute;
	bottom: 0;
	display: flex;
}
.contents div {
	width: 50%;
	text-align: center;
	display: table-cell;
	vertical-align: middle;
}
.contents a {
	padding: 66px 0;
	display: block;
	text-decoration: none;
	color: #333;
	letter-spacing: 0.4em;
	font-size: 1.25em;
	transition: .5s;
}
.contents a:hover {
	background: #222;
	color: #fff;
}

footer {
	font-size: 0.688em;
	letter-spacing: 0.12em;
	color: #999;
	writing-mode: vertical-rl;
	padding: 0 0 40px 40px;
	position: absolute;
	bottom: 0;
	z-index: 10;
}

@media screen and (max-width: 750px) {
header {
	width: 340px;
	padding: 40px 0 0 40px;
	}
.window {
	width: 28px;
	height: 28px;
	border: 5px solid #000;
}
h1 {
	letter-spacing: 0.2em;
	padding: 6px 0 0 0;
	}
.container {
    height: 100dvh;
	}
.contents a {
	letter-spacing: 0.3em;
	font-size: 1em;
	}
.logo {
	width: 160px;
	height: 132px;
	}

.contents div.works {
	width: 40%;
}
.contents div.note {
	width: 60%;
}
footer {
	height: 100%;
	padding: 0 0 0 20px;
	text-align: center;
	}
}

/* ****** */
/*header{
	width: 100%;
	height: 74px;
	padding: 40px 40px 0px 40px;
}
header h4 {
	width: 285px;
	height: 34px;
}

section.hero {
	height: 100%;
}

h1 {
	display: grid;
	place-items: center;
}

h1 {
	min-height: 476px;
	display: flex;
	justify-content: center;
	align-items: center;
}*/











