@charset "UTF-8";
/*
* mangamaker
* main.css
*
*/
/* ------------------------
	Foundation
------------------------ */
html,
body {
	height: 100%;
}

*,
*:after,
*:before {
	box-sizing: border-box;
}

* {
	margin: 0;
	padding: 0;
	font-size: inherit;
	line-height: inherit;
}

pre,
textarea {
	overflow: auto;
}

[hidden],
audio:not([controls]),
template {
	display: none;
}

details,
main,
summary {
	display: block;
}

input[type=number] {
	width: auto;
}

input[type=search] {
	-webkit-appearance: textfield;
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
	-webkit-appearance: none;
}

progress {
	display: inline-block;
}

small {
	font-size: 75%;
}

sub,
sup {
	position: relative;
	vertical-align: baseline; 
	font-size: 75%;
	line-height: 0;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

textarea {
	resize: vertical;
}

audio,
canvas,
iframe,
img,
svg,
video {
	vertical-align: middle;
}

img {
	border: 0; 
	max-width: 100%;
	height: auto;
}

button,
input,
select,
textarea {
	min-height: 1.5em;
	color: inherit;
	font-family: inherit; 
	font-weight: inherit;
	font-style: inherit;
}

button {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	cursor: pointer; 

	-webkit-appearance: button;
}

button[disabled],
html input[disabled] {
	cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	padding: 0; 
	border: 0;
}

input {
	line-height: normal;
}

code,
kbd,
pre,
samp {
	font-family: monospace,monospace;
}

ol,
ul {
	list-style: none;
}

select {
	   -moz-appearance: none;
	-webkit-appearance: none;
}

table {
	border-spacing: 0;
	border-collapse: collapse;
}

fieldset {
	border: 0;
}

/* ------------------------
	Base Settings
------------------------ */
html {
	font-size: 16px;
}

body {
	background-color: #fff;
	word-wrap: break-word; 
	color: #333;
	font-family: YuGothic, "ヒラギノ角ゴ ProN W3", "Lucida Grande", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, "ＭＳ Ｐゴシック", sans-serif;
	line-height: 1.6875;

	-webkit-font-smoothing: antialiased;
	        font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
}

a {
	text-decoration: underline; 
	color: #00f;
}
a:visited {
	color: #000080;
}
a:hover {
	text-decoration: none; 
	color: #f00;
}
a:active {
	text-decoration: none; 
	color: #ff8000;
}
a[href^="tel:"] {
	cursor: text; 
	text-decoration: none;
}

::selection {
	background-color: #036eb8;
	color: #fff;
	text-shadow: none;
}

/* ------------------------
	utilities Classes
------------------------ */
.hidden {
	display: none !important;
	visibility: hidden;
}

.visuallyhidden {
	overflow: hidden;
	clip: rect(0 0 0 0);
	position: absolute;
	margin: -1px;
	padding: 0;
	border: 0;
	width: 1px; 
	height: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
	overflow: visible;
	clip: auto;
	position: static;
	margin: 0;
	width: auto; 
	height: auto;
}

.invisible {
	visibility: hidden;
}

.clearfix:before,
.clearfix:after {
	content: " ";
	display: table;
}

.clearfix:after {
	clear: both;
}

.clearfix {
	*zoom: 1;
}

/* ------------------------
	余白 調整用class
------------------------ */
.mt-0 {
	margin-top: 0px !important;
}

.mb-0 {
	margin-bottom: 0px !important;
}

.mt-5 {
	margin-top: 5px !important;
}

.mb-5 {
	margin-bottom: 5px !important;
}

.mt-10 {
	margin-top: 10px !important;
}

.mb-10 {
	margin-bottom: 10px !important;
}

.mt-15 {
	margin-top: 15px !important;
}

.mb-15 {
	margin-bottom: 15px !important;
}

.mt-20 {
	margin-top: 20px !important;
}

.mb-20 {
	margin-bottom: 20px !important;
}

.mt-25 {
	margin-top: 25px !important;
}

.mb-25 {
	margin-bottom: 25px !important;
}

/* ------------------------
	text-align 調整用class
------------------------ */
.align-center {
	text-align: center !important;
}

.align-left {
	text-align: left !important;
}

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

/* ------------------------
	画像置換
------------------------ */
.img-replace {
	display: block;
	overflow: hidden;
	white-space: nowrap;
	font-size: 0;
}

/* ------------------------
	SP/PC スイッチ
------------------------ */
.sp-mode {
	display: none;
}
@media screen and (min-width: 1000px) {
	.sp-mode {
		display: block;
	}
}

.pc-mode {
	display: block;
}
@media screen and (min-width: 1000px) {
	.pc-mode {
		display: none;
	}
}

/* ------------------------
  layout
------------------------ */
.header {
	position: fixed;
	z-index: 100; 
	top: 0;
	left: 0;
	width: 100%;
	height: 60px;
	background-color: rgba(255, 255, 255, 0.8);
}
@media screen and (min-width: 1000px) {
	.header {
		position: absolute;
		height: 80px;
	}
}
.header:before {
	content: "";
	display: block;
	opacity: 0.8;
	position: absolute;
	z-index: 2;
	top: auto;
	bottom: -10px;
	left: 0;
	margin: auto;
	width: 100%;
	height: 10px;
	-webkit-animation: waves 15s linear 0s infinite;
	        animation: waves 15s linear 0s infinite; 
	background: url(../img/common/hdr_wave.svg) 0 0 repeat-x;
}

.header_inner {
	position: relative;
	width: 100%;
	height: 100%;
}
@media screen and (min-width: 1000px) {
	.header_inner {
		margin: 0 auto;
		width: 1000px;
	}
}

.header_logo {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 23px;
	margin: auto;
	width: 46px;
	height: 40px;
}
@media screen and (min-width: 1000px) {
	.header_logo {
		top: 12px;
		bottom: auto;
		left: 0;
		width: 73px;
		height: 63px;
	}
}

.hamburger_menu {
	overflow: hidden;
	position: absolute;
	top: 0;
	right: 0;
	width: 84px;
	height: 60px;
}
@media screen and (min-width: 1000px) {
	.hamburger_menu {
		display: none;
	}
}
.hamburger_menu span {
	position: absolute;
	top: 5px;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 44px;
	height: 4px;
	transition: all 0.3s cubic-bezier(0, 0, 0.58, 1); 
	background: #000;
}
.hamburger_menu span:nth-child(1) {
	-webkit-transform: translateY(-13px);
	    -ms-transform: translateY(-13px);
	        transform: translateY(-13px);
}
.is-spNav_open .hamburger_menu span:nth-child(1) {
	-webkit-transform: translateY(0) rotate(135deg);
	    -ms-transform: translateY(0) rotate(135deg);
	        transform: translateY(0) rotate(135deg);
}
.is-spNav_open .hamburger_menu span:nth-child(2) {
	opacity: 0;
	-webkit-transform: translateX(100%);
	    -ms-transform: translateX(100%);
	        transform: translateX(100%);
}
.hamburger_menu span:nth-child(3) {
	-webkit-transform: translateY(13px);
	    -ms-transform: translateY(13px);
	        transform: translateY(13px);
}
.is-spNav_open .hamburger_menu span:nth-child(3) {
	-webkit-transform: translateY(0) rotate(-135deg);
	    -ms-transform: translateY(0) rotate(-135deg);
	        transform: translateY(0) rotate(-135deg);
}

.mask {
	visibility: hidden;
	opacity: 0;
	position: fixed;
	z-index: 50;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transition: all 0.3s cubic-bezier(0, 0, 0.58, 1); 
	background-color: #000;
}
.is-spNav_open .mask {
	visibility: visible;
	opacity: 0.5;
}
@media screen and (min-width: 1000px) {
	.mask {
		display: none;
	}
}

.spNavi_wrapper {
	position: fixed;
	z-index: 90; 
	top: -10px;
	left: 0;
	padding: 75px 0 0;
	width: 100%;
	height: 322px;
	transition: -webkit-transform 0.3s cubic-bezier(0, 0, 0.58, 1);
	transition: transform 0.3s cubic-bezier(0, 0, 0.58, 1);
	transition: transform 0.3s cubic-bezier(0, 0, 0.58, 1), -webkit-transform 0.3s cubic-bezier(0, 0, 0.58, 1);
	-webkit-transform: translateY(-100%);
	    -ms-transform: translateY(-100%);
	        transform: translateY(-100%);
	background: url(../img/common/nav_bg_sp.png) top center repeat-x #fff;
	background-size: 7px 320px;
}
.is-spNav_open .spNavi_wrapper {
	-webkit-transform: translateY(0);
	    -ms-transform: translateY(0);
	        transform: translateY(0);
}
.spNavi_wrapper:before {
	content: "";
	display: block;
	position: absolute;
	z-index: 2;
	top: auto;
	bottom: -10px;
	left: 0;
	margin: auto;
	width: 100%;
	height: 10px;
	-webkit-animation: waves 15s linear 0s infinite;
	        animation: waves 15s linear 0s infinite; 
	background: url(../img/common/hdr_wave.svg) 0 0 repeat-x;
}
@media screen and (min-width: 1000px) {
	.spNavi_wrapper {
		display: none;
	}
}

.spNavi_item {
	border-bottom: solid 1px #adacab;
}
.spNavi_item a {
	display: block;
	position: relative;
	padding: 0 20px;
	width: 100%;
	height: 100%;
}
.spNavi_item a:before {
	content: "";
	display: block;
	position: absolute;
	top: -6px;
	right: 26px;
	bottom: 0;
	margin: auto;
	border-right: solid 3px #f00;
	border-bottom: solid 3px #f00;
	width: 13px;
	height: 13px;
	-webkit-transform: rotate(45deg);
	    -ms-transform: rotate(45deg);
	        transform: rotate(45deg);
}

.spNavi_sns {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	margin-top: 25px; 

	-webkit-justify-content: center; 

	    -ms-flex-pack: center; 

	        justify-content: center;
}

.spNavi_sns_item + .spNavi_sns_item {
	margin-left: 10px;
}

.pcNavi_wrapper {
	display: none;
}
@media screen and (min-width: 1000px) {
	.pcNavi_wrapper {
		display: block;
		padding: 29px 0 0 245px;
	}
}

.pcNavi {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

.pcNavi_item {
	position: relative;
	height: 27px;
}
.pcNavi_item:nth-child(1) {
	width: 246px;
}
.pcNavi_item:nth-child(2) {
	width: 266px;
}
.pcNavi_item:nth-child(3) {
	width: 149px;
}
.pcNavi_item + .pcNavi_item:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 3px;
	height: 27px;
	background: url(../img/common/hdr_nav_item_bdr_pc.png) no-repeat;
}
.pcNavi_item a {
	display: block;
	transition: all 0.2s cubic-bezier(0, 0, 0.58, 1); 
	text-align: center;
}
.pcNavi_item a:hover {
	opacity: 0.6;
}
.pcNavi_item a:hover span:before {
	-webkit-transform: translate(0, 3px) rotate(45deg);
	    -ms-transform: translate(0, 3px) rotate(45deg);
	        transform: translate(0, 3px) rotate(45deg);
}
.pcNavi_item span {
	position: relative;
	padding-left: 22px;
}
.pcNavi_item span:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	border-right: solid 2px #f00;
	border-bottom: solid 2px #f00;
	width: 8px;
	height: 8px;
	transition: all 0.2s cubic-bezier(0, 0, 0.58, 1); 
	-webkit-transform: rotate(45deg); 
	    -ms-transform: rotate(45deg); 
	        transform: rotate(45deg);
}

.pcNavi_sns {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	position: absolute;
	top: 13px;
	right: 0;
}

.pcNavi_sns_item + .pcNavi_sns_item {
	margin-left: 10px;
}

.pcNavi_sns_item a {
	display: block;
	transition: all 0.2s cubic-bezier(0, 0, 0.58, 1);
}
.pcNavi_sns_item a:hover {
	opacity: 0.6;
}

@-webkit-keyframes waves {
	0% {
		background-position: 0 0;
	}
	100% {
		background-position: 1000px 0;
	}
}

@keyframes waves {
	0% {
		background-position: 0 0;
	}
	100% {
		background-position: 1000px 0;
	}
}

/* ------------------------
  Components
------------------------ */
/* ------------------------
	Print Styles
------------------------ */
@media print {
	*,
	*:before,
	*:after {
		background: transparent !important;
		color: #000 !important;
		box-shadow: none !important;
		text-shadow: none !important;
	}
	a,
	a:visited {
		text-decoration: underline;
	}
	tr,
	img {
		page-break-inside: avoid;
	}
	img {
		max-width: 100% !important;
	}
	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}
	h2,
	h3 {
		page-break-after: avoid;
	}
}