@charset "UTF-8";

/* --------------------------------
 * base
 * -------------------------------- */
html {
  font-size: 62.5%;
}
body {
	font-family: 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	background-color: #FAFAFA;
	color: #3C3C3C;
}
html,body {font-size: 16px;}
*, *::before, *::after {
	box-sizing: border-box;
}
a:link, a:visited, a:active {
	text-decoration: none;
	color: #D0D0D0;
	color: #FF00F2;
	color: #3C3C3C;
}
.tohaba_font {
	letter-spacing: 0.15em;
	font-family:
    'Noto Sans Mono CJK JP',            /* Noto */
    'Source Han Code JP',               /* 源ノ角 */
    'Ricty',                            /* Inconsolata, Migu 1M */
    'Ricty Diminished',                 /* Inconsolata, Circle M+ 1m */
    'Ricty Diminished Discord',         /* Inconsolata, Circle M+ 1m */
    'Myrica M',                         /* Inconsolata, 源真ゴシック or Mgen+ */
    'MyricaM M',                        /* Inconsolata, Mgen+ */
    'Rounded M+ 1m regular',            /* M+ OUTLINE FONTS, 源ノ角ゴシック */
    'Rounded M+ 2m regular',            /* M+ OUTLINE FONTS, 源ノ角ゴシック */
    'Rounded Mgen+ 1m regular',         /* M+ OUTLINE FONTS, 源ノ角ゴシック */
    'Rounded Mgen+ 2m regular',         /* M+ OUTLINE FONTS, 源ノ角ゴシック */
    'Migu 1M',                          /* M+, IPAゴシック */
    'Migu 2M',                          /* M+, IPAゴシック */
    'VL ゴシック',                      /* M+ OUTLINE FONTS */
    'M+ 1m',                            /* M+ */
    'M+ 2m',                            /* M+ */
    'Yutapon coding Regular',           /* Yutapon */

    SFMono-Regular,                     /* SF Mono, Migu 1M (macOS10.12+) */
    Consolas,                           /* 英字 (WindowsVista+) */
    'Roboto Mono',                      /* 英字 (Android4+) */
    'Courier New',                      /* Courier (macOS10.3+?, iOS4+?, WindowsXP+?) */
    Meiryo, /*'メイリオ',               /* 日本語 (WindowsVista+) */
    monospace;
}
.gothic{
	font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
	font-weight: 500;
}
.font01 {font-family: 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;}
.text_left {
	text-align: left;
	margin: 0;
}
.text_right {
	text-align: right;
	margin: 0;
}
.f_bold {
	font-weight: bold;
}
.w_stroke {
	-webkit-text-stroke: 0.01rem #fff;
	text-stroke: 0.01rem #fff;
}
.f_stroke {
	-webkit-text-stroke: 0.1rem rgba(35,35,35,1.00);
	text-stroke: 0.1rem rgba(35,35,35,1.00);
}
.r_stroke {
	-webkit-text-stroke: 0.1rem rgba(182,11,11,1.00);
	text-stroke: 0.1rem rgba(182,11,11,1.00);
}
.f_stroke_red {
	-webkit-text-stroke: 0.1rem #BD0000;
	text-stroke: 0.1rem #BD0000;
}
.f_stroke_w {
	-webkit-text-stroke: 0.1rem #FFF;
	text-stroke: 0.1rem #FFF;
}
.f_stroke_w2 {
	-webkit-text-stroke: 0.2rem #FFF;
	text-stroke: 0.2rem #FFF;
}
.f_stroke_FFFFFF03 {
	-webkit-text-stroke: 0.3rem #FFFFFF;
	text-stroke: 0.3rem #FFFFFF;
}

.f_stroke05 {
	-webkit-text-stroke: 0.05rem rgba(35,35,35,1.00);
	text-stroke: 0.05rem rgba(35,35,35,1.00);
}
.f_stroke10 {
	-webkit-text-stroke: 0.1rem rgba(35,35,35,1.00);
	text-stroke: 0.1rem rgba(35,35,35,1.00);
}
.f_stroke_0010AE {
	-webkit-text-stroke: 0.1rem #0010AE;
	text-stroke: 0.1rem #0010AE;
}
.f_stroke_3C3C3C {
	-webkit-text-stroke: 0.1rem #3C3C3C;
	text-stroke: 0.1rem #3C3C3C;
}
.color_w {color: white;}
.rem10 {font-size: 1.0rem;}
.rem13 {font-size: 1.3rem;}
.rem14 {font-size: 1.4rem;}
.rem15 {font-size: 1.5rem;}
.rem16 {font-size: 1.6rem;}
.rem17 {font-size: 1.7rem;}
.rem18 {font-size: 1.8rem;}
.rem19 {font-size: 1.9rem;}
.rem20 {font-size: 2.0rem;}
.rem21 {font-size: 2.1rem;}
.rem22 {font-size: 2.2rem;}
.rem23 {font-size: 2.3rem;}
.rem24 {font-size: 2.4rem;}
.rem26 {font-size: 2.6rem;}
.rem28 {font-size: 2.8rem;}
.rem29 {font-size: 2.9rem;}
.rem30 {font-size: 3.0rem;}
.rem32 {font-size: 3.2rem;}
.rem40 {font-size: 4.0rem;}
.mgt-10 {margin-top: -1.0px;}
.mgt-20 {margin-top: -2.0px;}
.mgt-30 {margin-top: -3.0px;}
.mgt-40 {margin-top: -4.0px;}
.mgt-50 {margin-top: -5.0px;}
.mg0 {margin: 0;}
.mgb10 {margin-bottom: 1.0rem;}
.pd0 {padding: 0;}
.pbt00 {padding-bottom: 0px;}
.pbt05 {padding-bottom: 5px;}
.pbt10 {padding-bottom: 10px;}
.f_size10 {font-size: 1.0rem;}
.f_size15 {font-size: 1.5rem;}
.f_size20 {font-size: 2.0rem;}
.f_size25 {font-size: 2.5rem;}
.f_size28 {font-size: 2.8rem;}
.f_size30 {font-size: 3.0rem;}
.f_size35 {font-size: 3.5rem;}

.f_family_min {
	font-family: ten-mincho-text, "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif, "游ゴシック体", "游ゴシック", sans-serif;
	font-weight: 700;
	font-style: normal;

}

/* --------------------------------
 * header
 * -------------------------------- */
 /*=========
	nav
=========*/
/*開閉用ボタン（ハンバーガーボタン）*/
.sp-nav-header {
	position: fixed;
	top: 10px;
	right: 10px;
	width: 50px;
	height: 50px;
	border: 1px solid #333333;
	z-index: 101;
}
.menu-btn {
	-webkit-transition: all 3s ease-in-out;
	transition: all .3s ease-in-out;
}
.menu-btn-line {
	position: absolute;
	cursor: pointer;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	height: 5px;
	width: 80%;
	background: #333333;
	-webkit-transition: all 3s ease-in-out;
	transition: all .3s ease-in-out;
}
.menu-btn-line::before,
.menu-btn-line::after {
	content: "";
	height: 5px;
	width: 100%;
	background: #333333;
	position: absolute;
	left: 0;
	-webkit-transition: inherit;
	transition: inherit;
}
.menu-btn-line::before{
	top: -15px;
}
.menu-btn-line::after{
	top: 15px;
	width: 50%;
}

/* 開閉用ボタンがクリックされた時のスタイル */
.open .menu {
	-webkit-transition: all .5s;
	transition: all .5s;
	visibility: visible;
	opacity: 1;
}
.open .menu-btn {
	border-color: #fff;
}
.open .menu-btn-line{
	background-color: transparent;
}
.open .menu-btn-line::before,
.open .menu-btn-line::after {
	top: 0;
	background: #fff
}
.open .menu-btn-line::before {
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	/*	transform-origin: 14px -1px;*/
}
.open .menu-btn-line::after {
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
	/*transform-origin: 22px -4px;*/
	width: 39px;
}

/*開いたメニュー*/
.menu {
	position: fixed;
	display: flex;
	justify-content: center;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-color: rgba(70,70,70,1.00);
	-webkit-transition: all .5s;
	transition: all .5s;
	visibility: hidden;
	opacity: 0;
	z-index: 100;
}
.menu ul {
	transform: translateY(30%);
	list-style-type: none
}
.mainmenu01 {
	line-height: 20px;
	font-size: 3.5rem;
	border-left: 3px solid white;
	height: 20px;
	margin-top: 30px;
	padding-left: 10px;
}
.menu li a {
	display: block;
	color: #fff;
	text-decoration: none;
	-webkit-transition: all .2s;
	transition: all .2s;
}
.menu li a:hover {
	transform: translateX(5px);
	-webkit-transition: all .2s;
	transition: all .2s;
}


.navi_wrap {
	position: fixed;
	top: 0;
	right: 5vw;
	margin: 0;
	z-index: 100;
	text-align: right;
	color: #D0D0D0;
	color: #FF00F2;
	color: #3C3C3C;
	font-size: 2.3rem;
}
ul li {
	list-style: none;
}
.project_title {
	color: #BD0000;
/*	text-shadow: 3px 2px rgba(176,176,176,0.70);*/
	background-color: #FFD700;
	border-radius: 2px;
	padding: 2px 8px;
}
@media screen and (max-width:599px) { 
.navi_wrap {
	right: 3vw;
}
}
.gnavi_space a:hover,
.end_item a:hover,
.icon_name a:hover {
	color: #AE0C0C;
	transition: color 0.3s;
}
.icons_list a:hover {
	opacity: 0.6;
}
.icons_list img {
	width: 35px;
}
@media screen and (max-width:599px) { 
.icons_list img {
	width: 25px;
}
}

.logo_space {
	position: absolute;
	left: 30px;
	top: 30px;
	z-index: 10;
}
@media screen and (max-width:599px) { 
.logo_space {
	left: 10px;
	top: 10px;
}
}
.logo_space img {
	width: 150px;
}
@media screen and (max-width:599px) {
.logo_space img {
	width: 70px;
}
}

.end_content {
	position: relative;
}

.end_text {
	position: relative;
	padding-left: 8vw;
	font-size: 2rem;
	z-index: 10;
}
@media screen and (max-width:599px) {
.end_text {
	padding-left: 4vw;
}
}
.end_wrap {
	height: 200px;
	background-image: url("../images/top/footer.jpg");
	margin-top: 20px;
	padding-top: 1px;
	color: #D3D3D3;
}
@media screen and (max-width:599px) {
.end_wrap {
	height: 160px;
}
}
.end_list, .sns_list {
	display: flex;
	flex-wrap: wrap;
}
.sns_list {
	margin-top: 20px;
}
.end_item, .sns_item {
	text-align: center;
	margin-right: 15px;
}
.sns_item {
	display: flex;
	justify-content: center;
	align-items: center;
}
.icon_name {
	padding-left: 5px;
}
.icon img {
	width: 35px;
}
@media screen and (max-width:599px) { 
.icon img {
	width: 20px;
}
}

/* --------------------------------
 * footer
 * -------------------------------- */
.footer {
    width: 100%;
	text-align: right;
    padding: 10px 10px;
    background: #2d3d54;
    color: #fff;
    margin-top: 2px;
}

.end_content a:link,
.end_content a:visited,
.end_content a:active{
	text-decoration: none;
	color: #D0D0D0;
}

