/*!
Theme Name: Tokaistep
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: tokaistep
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Tokaistep is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: #404040;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	font-size: 1rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

p {
	margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background: #fff;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

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

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */
a {
	color: #4169e1;
}

a:visited {
	color: #800080;
}

a:hover,
a:focus,
a:active {
	color: #191970;
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.main-navigation {
	display: block;
	width: 100%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 37.5em) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
	}
}

.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.post,
.page {
	margin: 0 0 1.5em;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}
/*-----------------------------------------------------------------------/
	Description: initial setting
	Version: 2.0
	Author: AdTECHNICA
/*----------------------------------------------------------------------*/

/*-----------------------------------------------------------------------/
	CONTENTS
	1: body and base setting
		: general params
		: acronyms and abbreviations styles
	2: form setting
	3: link setting
/*----------------------------------------------------------------------*/

/*-----------------------------------------------------------------------/
	1: body and base setting
/*----------------------------------------------------------------------*/
html {
	box-sizing: border-box;
	overflow-y: scroll;
	font-size: 62.5%; /* 10px = 1rem */
	-webkit-text-size-adjust: 100%;
}
body {
	font-family: "Verdana", "Arial", "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro","游ゴシック", YuGothic, sans-serif;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.7rem;
	line-height: 2;
	color: #333;
	font-weight:400;
	background-color: #fff;
}

/* general params
--------------------*/
*,
::before,
::after {
	box-sizing: inherit;
}
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, nav, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
img {
	border: none;
	vertical-align: top;
}
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sub {
	bottom: -0.25em;
}
sup {
	top: -0.5em;
}

/*-----------------------------------------------------------------------/
	2: form setting
/*----------------------------------------------------------------------*/
input, textarea, select, optgroup, option, button {
	font: inherit;
}
button, input[type="button"], input[type="submit"] {
	border: none;
	cursor: pointer;
}

/*-----------------------------------------------------------------------/
	3: link setting
/*----------------------------------------------------------------------*/
a:link{
	color: #006699;
}
/*-----------------------------------------------------------------------/
	Description: style setting
	Version: 2.0
	Author: AdTECHNICA
/*----------------------------------------------------------------------*/
/*-----------------------------------------------------------------------/
	CONTENTS
	0: COMMON
	1: LAYOUT
	2: HEADER
	3: NAVIGATION
	4: MAIN CONTENT
	5: FOOTER
	6: OTHER
/*----------------------------------------------------------------------*/

/*-----------------------------------------------------------------------/
	0: COMMON
/*----------------------------------------------------------------------*/
.fleft{float:left;}
.fright{float:right;}
.cboth{clear:both;}

.tl{text-align:left;}
.tr{text-align:right;}
.tc{text-align:center;}

.mgnt8{margin-top:8px;}
.mgnt16{margin-top:16px;}
.mgnt24{margin-top:24px;}
.mgnt32{margin-top:32px;}
.mgnt40{margin-top:40px;}

.mgnr8{margin-right:8px;}
.mgnr16{margin-right:16px;}
.mgnr24{margin-right:24px;}
.mgnr32{margin-right:32px;}
.mgnr40{margin-right:40px;}

.mgnb8{margin-bottom:8px;}
.mgnb16{margin-bottom:16px;}
.mgnb24{margin-bottom:24px;}
.mgnb32{margin-bottom:32px;}
.mgnb40{margin-bottom:40px;}

.mgnl8{margin-left:8px;}
.mgnl16{margin-left:16px;}
.mgnl24{margin-left:24px;}
.mgnl32{margin-left:32px;}
.mgnl40{margin-left:40px;}

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

/* font */
.mincho {
	font-family: "游明朝", YuMincho, "Times New Roman", "Georgia", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
}
/* kerning */
.palt {
	-webkit-font-feature-settings: 'palt' 1;
	font-feature-settings: 'palt' 1;
}
.halt {
	-webkit-font-feature-settings: 'halt' 1;
	font-feature-settings: 'halt' 1;
}

.gf{font-family: 'Bayon', sans-serif;}


/*-----------------------------------------------------------------------/
	1: LAYOUT
/*----------------------------------------------------------------------*/
body,
#wrp {
	min-width: 980px;
	    position: relative;
}
#bpt {
	display: none;
}
#maincontent {
	min-width: inherit;
}
#pg_lp{
	max-width: 1000px;
	margin: 0 auto;
}

/*
#snav {
	width: 200px;
}
#wrp_maincnt {
	width: 700px;
}
*/

/*-----------------------------------------------------------------------/
	2: HEADER
/*----------------------------------------------------------------------*/
#wrp_hdr {
	position: fixed;
z-index: 1000;
width: 100%;
transition: .3s;
top: 0;
}

#wrp_hdr:before{
content:"";
background: linear-gradient(rgba(0,0,0,0.3),rgba(0,0,0,0));
}

body.base #wrp_hdr{background:rgba(255,255,255, 1);}
body.base #hdr{padding: 2% 3%;}


#wrp_hdr h1{font-size: 0.8em;font-weight:normal;margin-left:1em;color: #fff;}

#hdr {
display: flex;
padding: 3% 3% 3% 3%;
align-items: center;
transition: .3s;
height: 90px;
}

.is-animation {
    background:rgba(255,255,255, 1);
    transition: .3s;
    height: auto;
}

#hdr .logo {
	line-height: 0.5;
}

#hdr span.logom{background-image:url(../_cmn/logo_w.png);height: 24px;margin-right: 10px;
width: 128px;background-repeat:no-repeat;background-size:contain;display: block;text-indent: 100%;
overflow: hidden;white-space: nowrap;}

.is-animation #hdr span.logom,body.base #hdr span.logom,#wrp_ftr span.logom{background-image:url(_cmn/logo.png);height: 24px;
width: 128px;background-size: contain;display: block;text-indent: 100%;background-repeat: no-repeat;
overflow: hidden;white-space: nowrap;}

#ftr > div.box{display:flex;justify-content: space-between;margin-bottom: 1em;}
#wrp_ftr span.icn_insta{background-image:url(../_cmn/icn_insta.png);height: 24px;
width: 24px;background-size: contain;display: block;text-indent: 100%;background-repeat: no-repeat;
overflow: hidden;white-space: nowrap;transition: .3s;}
#wrp_ftr a:hover span.icn_insta{opacity:0.4;transition: .3s;}

#hdr .hdr_nav {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: flex-end;
	align-items: flex-end;
	margin-left: auto;
	list-style: none;
	font-size: 0.8em;
	font-weight: 500;
}
#hdr .hdr_nav li:not(:first-of-type) {
	margin-left:2em;
}
#hdr .hdr_nav li a {color: #FFF;text-decoration: none;}


#hdr .hdr_nav li a:hover{color:#E83828;}

.is-animation #hdr h1,body.base #hdr h1{color:#666;}
.is-animation #hdr{padding: 2% 3%;transition: .3s;}
.is-animation #hdr .hdr_nav li a,body.base #hdr .hdr_nav li a,.is-animation .hdr_nav li a{color:#333;font-weight: 600;}
.is-animation #hdr .hdr_nav li a:hover,
body.base #hdr .hdr_nav li a:hover{color:#E83828;}
.is-animation #hdr .hdr_nav li:nth-last-child(1) a,.is-animation .hdr_nav li:nth-last-child(2) a,
body.base #hdr .hdr_nav li:nth-last-child(1) a,body.base .hdr_nav li:nth-last-child(2) a{color:#fff !important;}

.is-animation #hdr::after{opacity:0;transition: 0.6s;height: 0%;animation-timing-function:ease-in;}


#hdr .hdr_nav li:nth-last-child(1) ,#hdr .hdr_nav li:nth-last-child(2){margin-left: 0.5em;}
#hdr .hdr_nav li:nth-last-child(3){margin-right:2em;}

#hdr .hdr_nav li:nth-last-child(1) a{background:#000;transition: .3s;padding: 1em 2em;border-radius: 3px;}
#hdr .hdr_nav li:nth-last-child(1) a:hover{background: #222;color:#fff;}

#hdr .hdr_nav li:nth-last-child(2) a{background:#E83828;transition: .3s;padding: 1em 2em;border-radius: 3px;}
#hdr .hdr_nav li:nth-last-child(2) a:hover{background: #E0201E;color:#fff;}





/* sp_menu */
#btn_menu,
#sp_menu.active,
#sp_menu .toggle_menu {
	display: none;
}
/* fc_smt_head */
#fc_smt_head a {
	color: inherit !important;
	background-color: #F0F0F0 !important;
	text-decoration: none !important;
}

/*-----------------------------------------------------------------------/
	3: NAVIGATION
/*----------------------------------------------------------------------*/
/* gnav */
#gnav {
	background-color: #eee;
}
#gnav ul {
	display: -webkit-flex;
	display: flex;
	list-style: none;
}
#gnav ul li a {
	display: block;
	padding: 10px;
	text-decoration: none;
}

/* menu */
#snav {
	padding: 16px 0 16px 16px;
}
#menu {
	margin: 0 0 20px;
	list-style: none;
}
#menu li {
	margin: 0 0 1px;
}
#menu li a {
	display:block;
	border-left: 4px solid #2D69B1;
	padding:5px 0 5px 10px;
	color: inherit;
	font-weight: bold;
	text-decoration: none;
}
#menu li a span {
	position: relative;
}
#menu li a span::after {
	transition: 0.3s;
	position: absolute;
	bottom: 0;
	left: 0;
	content: "";
	width: 0;
	height: 1px;
	background-color: #333;
}
#menu li a:hover span::after,
#menu li a:focus span::after {
	width: 100%;
}

/* submenu */
#menu li .sub {
	list-style: none;
}
#menu li .sub li {
}
#menu li .sub li a {
	border-left:none;
	padding: 4px 0 4px 30px;
	font-size: 1.2rem;
}
#menu li .sub li a {
	position: relative;
	margin: 0 0 5px;
	padding: 0 0 0 30px;
	font-size: 1.3rem;
}
#menu li .sub li a::after {
	position: absolute;
	top: 50%;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	left: 15px;
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	border: 2px solid #2D69B1;
	background-color: #fff;
}

/* other navigation */

/*-----------------------------------------------------------------------/
	4: MAIN CONTENT
/*----------------------------------------------------------------------*/


#wrp_main{position: relative;}
#wrp_main:before{content: "";position: absolute;
background: linear-gradient(rgba(0,0,0,0.3),rgba(0,0,0,0));
height: 15%;width: 100%;z-index: 2;}

body.base #wrp_main::before {height: 35%;}

#main {position: relative;}
#main::before {content: "";background: transparent url(../_cmn/noize_l.png);width: 100%;height: 100%;position: absolute;z-index:2;opacity: 0.1;transition: 0.3s;}

#main h1{
	position: absolute;
	z-index: 2;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	font-size:3em;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #fff;
	line-height: 1.4;
}



a#btn_scroll span{display: inline-block;transform: rotate(-90deg);position: absolute;left: -65px;bottom: 100px;width: 135px;font-family: 'Bayon', sans-serif;}
#btn_scroll {width: 1px;height: 35px;}
#btn_scroll::before,#btn_scroll::after {content: '';display: block;position: absolute;background-color:#fff;}
#btn_scroll::after{left: 0;width: 1px;}

#btn_scroll::before {right: 36px;width: 6px;height: 1px;
-webkit-transform: translate(36px,32px) rotate(45deg);
transform: translate(36px, 32px) rotate(45deg);
}

a#btn_scroll {position: absolute;
bottom:40px;left: 40px;  z-index: 5;display: inline-block;
 -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
text-decoration: none;color:#fff;letter-spacing: 2px;background-color:#fff;}

body#index #wrp_maincnt {
width: 60%;
padding: 0;
position: absolute;
bottom: 0;
z-index: 10;
right: 0;
margin: 0;
}

.wrp_top_cont{background:#202124;padding:2em 2.5em;display: flex;align-items: center;justify-content: space-between;color:#fff;font-size:0.8em;}
.wrp_top_cont a{color:#999999;}
.wrp_top_cont .box{display: flex;justify-content: space-between;align-items:center;}
.wrp_top_cont ul.news_list li{border:none;padding: 0;width:92% !important;display: flex;}
.wrp_top_cont .btn_maru span{color:#fff;}
.wrp_top_cont .btn_maru span::before,.wrp_top_cont .btn_maru span::after{border-color:#666;}


body.base #wrp_main{padding-top:90px;}
body.base #wrp_main:before{background: linear-gradient(rgba(0,0,0,0.1),rgba(0,0,0,0));}

.wrp_cate {max-width: 100%;padding: 5% 6% 4%;position: relative;}
.wrp_cate .path{text-align:right;}

.cate_name:before{content:"";font-family: 'bayon', sans-serif;color:#222;font-size:5em;font-weight:500;line-height: 1.3;position: relative;display: flex;flex-direction: column;letter-spacing:6px;}
.cate_name span{letter-spacing: 0px;color: #222;font-size: 1.2em;}

body#c_0 .cate_name::before{content:"SITEMAP";}
body#c_-1 .cate_name::before{content:"NEWS";}
body#c_2 .cate_name::before{content:"TOP";}
body#c_3 .cate_name::before {content:"STRENGTH";}
body#c_4 .cate_name::before {content:"SERVICES";}
body#c_5 .cate_name::before {content:"WORKS";}
body#c_6 .cate_name::before {content:"COMPANY";}
body#c_7 .cate_name::before {content:"RECRUIT";}
body#c_8 .cate_name::before {content:"PARTNERS";}
body#c_9 .cate_name::before {content:"CONTACT";}
body#c_10 .cate_name::before {content:"INTERN";}

#cnt {}

.path {
	-webkit-flex: none;
	flex: none;
	font-size: 1.2rem;
	color:#666;
}
.path a {
	text-decoration: none;
	color: #666;
}

.path a:hover{
	color: #ccc;
}
#wrp_maincnt{
width: 1100px;
margin: 0 auto 5em;
max-width: 96%;
}

body.base #wrp_maincnt{margin: 3em auto 5em;}

.wrp_mainimage img{width:100%;object-fit: cover;height:410px;}
.wrp_mainimage{overflow: hidden;position: relative;}
.wrp_mainimage:before{content: "";
background: transparent url(../_cmn/noize.png);
width: 100%;
height: 100%;
position: absolute;
z-index: 1;
opacity: 0.1;
transition: 0.3s;}

#maincontent {
	clear: both;
}
#maincontent a:link img{opacity:1;transition: 0.3s;}
#maincontent a:hover img{opacity:0.6;transition: 0.3s;}


/* selector */
#maincontent h1 {
line-height: 1.6;
	font-size: 4rem;
	margin: 0 0 1.2em;
	color:#202124;
}


#maincontent h2 {
line-height: 1.6;
	position: relative;
	margin: 0 0 1.2em;
	font-size: 3.3rem;
	color:#202124;	
}


#maincontent .bg_line h2,.wp-block-heading {
line-height: 1.6;
	position: relative;
	margin: 0;
	font-size: 3.3rem;
	padding-bottom:0.6em;
	color:#202124;	
}
#maincontent .bg_line h2:before,.wp-block-heading:before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 2px;
	background: -webkit-gradient(linear, left top, right bottom, from(#EDEDED), color-stop(93%, #EDEDED), color-stop(93%, #EF3B2C), to(#EF3B2C));
	background:linear-gradient(to right, #EDEDED, #EDEDED 93%, #EF3B2C 93%, #EF3B2C);
}

#maincontent h3 {
	position: relative;
	margin: 0 0 0.5em;
	font-size: 3.2rem;
	color:#202124;	
	line-height: 1;
}



#maincontent .bg_double_line h3 {display: flex; align-items: center;
line-height: 1.6;
	position: relative;
	margin: 0;
	font-size: 2.8rem;
	color:#EF3B2C;	
}
 
#maincontent .bg_double_line h3:before,
#maincontent .bg_double_line h3:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #ccc;
}
 
#maincontent .bg_double_line h3:before {
    margin-right: 1rem;
}
 
#maincontent .bg_double_line h3:after {
    margin-left: 1rem;}


#maincontent h4 {
line-height: 1.6;
	position: relative;
	margin: 0 0 0.8em;
	font-size: 2.4rem;
	color:#202124;	
}

#maincontent h5 {
line-height: 1.6;
	position: relative;
	margin: 0 0 0.8em;
	font-size: 1.9rem;
	color:#202124;	
}

#maincontent h6 {
	margin: 0 0 1.2em;
	font-size: 1.8rem;
	color:#202124;	
}
#maincontent img {
	height: auto !important;
}
#maincontent table {
	table-layout: fixed;
}
#maincontent ul {
	margin:0 0 0 1.2em;
	list-style: none;
}
#maincontent ul li {
	position: relative;
}
#maincontent ul li::after {
	content: "";
	position: absolute;
	top: 0.7em;
	left: -13px;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background-color: #333;
}
#maincontent ol {
	margin:0 0 0 1.7em;
}
#maincontent dd {
	margin:0 0 0 1em;
}

/* fc_templates
-----------------------------------*/
/* col2 */
.col2 img {
	max-width: 100%;
	height: auto;
}
.col2 {
	width: 100%;
	border-collapse:collapse;
	border-spacing:0;
}
.col2 .col2_l,
.col2 .col2_r {
	width:47.9%;
	padding:0;
	vertical-align:top;
}
.col2 .col2_l {
	padding-right:2.1%;
}
.col2 .col2_r {
	padding-left:2.1%;
}
/* col3 */
.col3 img {
	max-width: 100%;
	height: auto;
}
.col3 {
	width: 100%;
	border-collapse:collapse;
	border-spacing:0;
}
.col3 .col3_l,
.col3 .col3_m,
.col3 .col3_r {
	width:31.2%;
	padding:0;
	vertical-align:top;
}
.col3 .col3_l {
	padding-right:2.13%;
}
.col3 .col3_m {
	padding-right: 1.07%;
	padding-left: 1.07%;
}
.col3 .col3_r {
	padding-left:2.13%;
}
/* nest col2 */
.col2 .col2 .col2_l,
.col2 .col2 .col2_r {
	width:45.67%;
}
.col2 .col2 .col2_l {
	padding-right:4.33%;
}
.col2 .col2 .col2_r {
	padding-left:4.33%;
}

/*-----------------------------------------------------------------------/
	5: FOOTER
/*----------------------------------------------------------------------*/
#wrp_ftr {
	background-color:#F5F4F1;
}

#wrp_ftr span.logom a{text-decoration: none;}

#ftr {
	padding:5% 5% 8%;
}


#ftr .ftr_nav {
	font-size: 1.2rem;
	color: #222;
}
#ftr .ftr_nav li {
	display: inline;
}
#ftr .ftr_nav li a {
	color: #222;
	text-decoration: none;
}
#ftr .ftr_nav li a:hover,
#ftr .ftr_nav li a:focus {
	text-decoration: underline;
}
#ftr .ftr_cnt {
	display: -webkit-flex;
	display: flex;
	justify-content: space-between;
	font-size: 0.7em;
}





.pagetop {
	transition: 0.5s;
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
	opacity: 0;
	position: fixed;
	bottom: 15px;
	right: 15px;
	z-index: 9999;
}
.pagetop.fixed {
	opacity: 1;
	-webkit-transform: translate(0, -15px);
	transform: translate(0, -15px);
}
.pagetop a {
	border-radius:100px;
	position: relative;
	display: block;
	text-indent: 200%;
	white-space: nowrap;
	overflow: hidden;
	width: 35px;
	height: 35px;
	padding: 10px;
	/*background-color: rgba(255, 255, 255, 0.7);*/
	cursor: default;
	border: 1px solid #999;
}
.pagetop.fixed a {
	cursor: pointer;
}
.pagetop a::before,
.pagetop a::after {
	transition: 0.3s;
	content: "";
	position: absolute;
	top: 14px;
	left: 50%;
	-webkit-transform: translate(-50%, 0) rotate(-45deg);
	transform: translate(-50%, 0) rotate(-45deg);
	width: 8px;
	height: 8px;
}
.pagetop a::before {
	border-top: 2px solid #999;
}
.pagetop a::after {
	border-right: 2px solid #999;
}
.pagetop a:hover::before,
.pagetop a:focus::before,
.pagetop a:hover::after,
.pagetop a:focus::after {
	-webkit-transform: translate(-50%, -5px) rotate(-45deg);
	transform: translate(-50%, -5px) rotate(-45deg);
}


#wrp_ftr .path {
font-size: 1.2rem;
padding-bottom:3em;
border-bottom: 1px solid #DFDFDF;
margin-bottom: 7em;
}

#wrp_ftr .path a:first-child:before {
	content:"";
	background-image:url(../_cmn/icn_home.svg);width: 13px;height: 12px;background-repeat:no-repeat;background-size:contain;display: inline-block;
	padding-left:2em;
}

#wrp_ftr .path span{padding:0 0.5em;}


#ftr a{display:inline-block;}

#ftr .ftr_nav li {
	display:block;
}
#ftr .ftr_nav {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	margin: 30px 0 40px;
}

#ftr .ftr_nav .box:not(:first-of-type){margin-left:1em;}
#ftr .ftr_nav .box:nth-of-type(7){display:none;}

#ftr .ftr_nav a{
	color: #333;
	text-decoration: none;
}
#ftr .ftr_nav a:hover,
#ftr .ftr_nav a:focus {
	text-decoration: underline;
}
#ftr .ftr_nav p{
	margin: 0 0 10px;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1.4;
}

#ftr .ftr_nav ul {
	list-style: none;
	font-size: 1.3rem;
}

.nav_sitemap{display: block;text-align: right;font-size: 1.3rem;margin-bottom:2em;}
.nav_sitemap a{color:#222;text-decoration:none;}
.nav_sitemap a:hover{text-decoration:underline;}


/*---smtからパソコンサイトへ切り替えボタン後の調整---*/

/* sp_menu */
#btn_menu,
#sp_menu.active,
#sp_menu .toggle_menu {
	display: none;
}
/* fc_smt_head */
#fc_smt_head a {
	color: inherit !important;
	background-color: #F0F0F0 !important;
	text-decoration: none !important;
	font-size:4rem !important;padding: 0.5em 0 !important;color:#666 !important;
}

#fc_smt_wrap{    width: 100%;
    position: absolute !important;
    z-index: 100 !important;
    bottom: 0 !important;
}



/*-----------------------------------------------------------------------/
	6: OTHER
/*----------------------------------------------------------------------*/
/* news */
.news .icn{
	display: inline-block;
	min-width:8em;
	margin: 0 2em 0 0;
	padding:4px 8px;
	color:#fff;
	font-size:86%;
	line-height:1;
	text-align:center;
}
.news .cr{
	border-radius:5px;
}
.news .cr2{
	border-radius:10px;
}
.news .red1{background:#ffcdd2;}
.news .red2{background:#ef9a9a;}
.news .red3{background:#ef5350;}
.news .red4{background:#e53935;}
.news .pink1{background:#F8BBD0;}
.news .pink2{background:#F48FB1;}
.news .pink3{background:#EC407A;}
.news .pink4{background:#D81B60;}
.news .purple1{background:#E1BEE7;}
.news .purple2{background:#CE93D8;}
.news .purple3{background:#AB47BC;}
.news .purple4{background:#8E24AA;}
.news .blue1{background:#C5CAE9;}
.news .blue2{background:#9FA8DA;}
.news .blue3{background:#5C6BC0;}
.news .blue4{background:#3949AB;}
.news .sky1{background:#B3E5FC;}
.news .sky2{background:#81D4FA;}
.news .sky3{background:#29B6F6;}
.news .sky4{background:#039BE5;}
.news .emerald1{background:#B2EBF2;}
.news .emerald2{background:#80DEEA;}
.news .emerald3{background:#26C6DA;}
.news .emerald4{background:#00ACC1;}
.news .green1{background:#B2DFDB;}
.news .green2{background:#80CBC4;}
.news .green3{background:#26A69A;}
.news .green4{background:#00897B;}
.news .lime1{background:#F0F4C3;color:#b4bd4f;}
.news .lime2{background:#E6EE9C;color:#b4bd4f;}
.news .lime3{background:#D4E157;}
.news .lime4{background:#C0CA33;}
.news .yellow1{background:#FFF59D;color:#c5a200;}
.news .yellow2{background:#FFEE58;}
.news .yellow3{background:#FFEB3B;}
.news .yellow4{background:#FDD835;}
.news .orange1{background:#FFCC80;}
.news .orange2{background:#FFB74D;}
.news .orange3{background:#FFA726;}
.news .orange4{background:#FB8C00;}
.news .brown1{background:#D7CCC8;}
.news .brown2{background:#BCAAA4;}
.news .brown3{background:#8D6E63;}
.news .brown4{background:#6D4C41;}
.news .gray1{background:#EEEEEE;color:#aaaaaa;}
.news .gray2{background:#E0E0E0;}
.news .gray3{background:#BDBDBD;}
.news .gray4{background:#757575;}
.new_ttl {
	position: relative;
	border: 1px solid #CCCCCC;
	padding: 5px 10px;
	background-color: #F5F5F5;
}
#maincontent .new_ttl h2 {
	margin: 0;
	padding: 0;
	background: none;
	font-size: 1.6rem;
	text-align: left;
}
#maincontent .new_ttl h2::before,
#maincontent .new_ttl h2::after {
	display: none;
}
.new_ttl a {
	position: absolute;
	top: 50%;
	right: 10px;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	font-size: 1.2rem;
}





#maincontent .news_list {
	margin-left: 0;
	list-style: none;
}
.news_list .news {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
}
body.base .news_list .news {
	margin: 1em 0;
	border-bottom: 1px solid #ddd;
	padding: 0 1em 1em;
}

.news_list li::after {
	display: none;
}
.news .date {
	width: 9em;
}
.news .title {
	-webkit-flex: 1;
	flex: 1;
	min-width: 0;
	word-wrap: break-word;
}

/* newsresult */
.newsresult .frm_order {
	text-align: right;
}
.newsresult .connote {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
}
.newsresult .newsimg {
	max-width: 320px;
	margin: 0 20px 10px 0;
	float: left;
}
.newsresult .comment {
	margin: 0 0 10px;
}
.newsresult .link {
	border: 1px solid #ccc;
	padding: 19px;
	clear: both;
}
.newsresult .link a {
	word-wrap: break-word;
}

/* pager */
.pagerwrap {
	margin: 10px 0;
}
.pager {
	text-align: center;
}
.pager span em {
	margin: 0 4px;
	border: 1px solid #aaa;
	border-radius: 9px; 
	padding: 0.2em 0.6em;
	color: #fff;
	background-color: #aaa;
	font-style: normal;
}
.pager span a.p_no,
.pagerwrap .pager .prev a,
.pagerwrap .pager .next a,
.pager span a.touchstart {
	margin: 0 4px;
	border: 1px solid #aaa;
	border-radius: 9px; 
	padding: 0.2em 0.6em;
	color: #333;
	text-decoration: none;
}

/* form */
table.frm_tbl {
	width: 100%;
	margin: 20px 0;
	border-collapse: collapse;
	border-spacing: 0;
}
table.frm_tbl th,
table.frm_tbl td {
	border: 1px solid #ccc;
	padding: 15px;
	vertical-align: top;
}
table.frm_tbl th {
	background-color: #f5f5f5;
	font-weight: normal;
	text-align: left;
}
table.frm_tbl th span.h {
	display: inline-block;
	float: right;
	margin: 0 0 0 10px;
	padding: 0 4px;
	border: 1px solid #b00;
	color: #b00;
}
table.frm_tbl td p {
	margin: 0 0 2px;
	padding: 0 5px;
	color: #aaa;
}
table.frm_tbl td span {
	padding: 0 5px;
	color: #aaa;
}
table.frm_tbl .tipped {
	color: #aaa;
}
table.frm_tbl input,
table.frm_tbl select {
	margin: 0 3px;
}
table.frm_tbl select#pref {
	margin-bottom: 10px;
}
table.frm_tbl textarea {
	width: 100%;
}
table.frm_tbl input.no_search {
	border :none;
	background:-webkit-gradient(linear, center top, center bottom, from(#aaa), to(#333));
	background:linear-gradient(to bottom, #aaa, #333);
	color: #fff;
	background-color:#333;
	vertical-align: middle;
}
table.frm_tbl td label.error {
	color: #b00;
}
.form_btn {
	margin:0 0 50px;
	text-align:center;
}
.form_btn button {
	margin: 0 20px;
	border-radius: 9px;
	padding: 10px;
	border: 1px solid #aaa;
	background-color: #f5f5f5;
}
.form_btn button[name="submit3"] {
	color: #aaa;
	background-color: #fff;
}
#maincontent table.frm_tbl dd {
	margin-left: 0;
}

/* sitemap */
#sitemap {}
#sitemap ul {
	margin-left: 0;
}
#sitemap ul li {
	margin: 0 0 10px;
	list-style: none;
	line-height: 2;
}
#sitemap ul li::after {
	display: none;
}
#sitemap ul li a {
	display: block;
	font-weight: bold;
	text-decoration: none;
}
#sitemap ul li ul {
	margin-left:1em;
}
#sitemap ul li ul li {
	position: relative;
	margin-bottom: 0;
	line-height: 1.6;
}
#sitemap ul li ul li:before {
	content: "";
	position: absolute;
	top: 0.25em;
	display: inline-block;
	padding: 0.25em;
	border-bottom: 1px solid #000;
	border-left: 1px solid #000;
	vertical-align: super;
}
#sitemap ul li ul li a {
	display: block;
	padding: 0 0 0 1em;
	font-weight: normal;
}

/*丸矢印ボタン*/

.btn_maru {z-index:2;}
.btn_maru span{line-height: 1.8;text-align: justify;position: relative;display:inline-block;align-items: left;min-width: 120px;max-width: 100%; color: #E83828;padding-right: 2.3em;}
.btn_maru span::before{content: "";z-index: 1;
margin: auto;
  position: absolute;top: 0;bottom: 0;right: 12px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #E83828;
  border-right: 2px solid #E83828;
  transform: rotate(45deg);
  transition:0.3s;
  color: #E83828;
}
.btn_maru span::after {
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 31px; 
  height: 31px;
  /*! background: #0071B8; */
   transition:0.3s;
  border: 1px solid #E83828;
  border-radius: 100px;
}
.btn_maru a {text-decoration: none;}

.btn_maru a span{border-radius: 4px;transition:0.3s;text-decoration: none;color: #E83828;
display: inline-block;transition: 0.3s;font-weight: 500;transition: 0.3s;}

.btn_maru a:hover span{color:#ddd;transition: 0.3s;}
.btn_maru span:hover:before,.btn_maru span:hover:after{border-color:#ddd;transition:0.3s;}



/*ボタン*/
.btn_ya{max-width:220px;}
.btn_ya span{line-height: 1.4;text-align: center;position: relative;display:block;font-size:0.9em;}
.btn_ya span::before{
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0.5em;
  width: 10px;
  height: 10px;
  border-top: 3px solid #E83828;
  border-right: 3px solid #E83828;
  transform: rotate(45deg);
  transition:0.3s;
}

.btn_ya:hover span::before{right: 0em;transition:0.3s;}

.btn_ya a{text-align: center;transition:0.3s;text-decoration: none;background: #fff;color: #333;
padding: 1.2em 1em 1.2em 1.3em;display: block;transition: 0.3s;font-weight: bold;}
.btn_ya a:hover{color:#E83828;transition:0.3s;}


/*エディター内ボタン*/

.btn_w a,.btn_r a{max-width: 240px;}
.btn_rb a{max-width: 360px;}
.btn_g a{max-width: 100%;}


/*白背景ボタン*/
.btn_w span::before {content: "";z-index: 1;margin: auto;position: absolute;top: 0;bottom: 0;right: 12px;
 width: 8px;height: 8px;border-top: 2px solid #E83828;border-right: 2px solid #E83828;
 transform: rotate(45deg);transition: 0.3s;color: #E83828;right:1.7em;}

.btn_w span::after {content: "";margin: auto;position: absolute;top: 0;bottom: 0;right: 0;width: 31px;height: 31px;transition: 0.3s;border: 1px solid #E83828;border-radius: 100px;right:1em;
}
.btn_w a{color: #fff;font-weight: bold;border-radius: 2px;
position: relative;transition: 0.3s;align-items: center;display: flex;text-decoration: none;border-radius: 4px;}
.btn_w span{background:#fff;color:#222;min-width: 100%;padding:1.3em 1.5em;transition:0.3s;border-radius: 4px;border:1px solid #ddd;}
.btn_w span:hover{color:#E83828;background: #fff;transition:0.3s;border:1px solid #E83828;}
.btn_w span:hover:before,.btn_w span:hover:after{border-color:#E83828;transition:0.3s;}



/*赤背景ボタン*/
.btn_r span::before,.btn_rb span::before  {content: "";z-index: 1;margin: auto;position: absolute;top: 0;bottom: 0;right: 12px;
 width: 8px;height: 8px;border-top: 2px solid #fff;border-right: 2px solid #fff; transform: rotate(45deg);transition: 0.3s;color: #fff;right:1.7em;}

.btn_r span::after,.btn_rb span::after {content: "";margin: auto;position: absolute;top: 0;bottom: 0;right: 0;width: 31px;height: 31px;transition: 0.3s;border: 1px solid #fff;border-radius: 100px;right:1em;
}
.btn_r a,.btn_rb a{color: #fff;font-weight: bold;border-radius: 2px;
position: relative;background: #fff;transition: 0.3s;align-items: center;display: flex;text-decoration: none;border-radius: 4px;}
.btn_r span,.btn_rb span{background: #E83828;transition:0.3s;color:#fff;min-width: 100%;padding:1.3em 1.5em;transition:0.3s;border-radius: 4px;}
.btn_r span:hover,.btn_rb span:hover{color:#E83828;background:#F6F6F6;transition:0.3s;}
.btn_r span:hover:before,.btn_r span:hover:after,.btn_rb span:hover:before,.btn_rb span:hover:after{border-color:#E83828;transition:0.3s;}






/*灰色背景ボタン*/
.btn_g span::before {content: "";z-index: 1;margin: auto;position: absolute;top: 0;bottom: 0;right: 12px;
 width: 8px;height: 8px;border-top: 2px solid #E83828;border-right: 2px solid #E83828;
 transform: rotate(45deg);transition: 0.3s;color: #E83828;right:1.7em;}

.btn_g span::after {content: "";margin: auto;position: absolute;top: 0;bottom: 0;right: 0;width: 31px;height: 31px;transition: 0.3s;border: 1px solid #E83828;border-radius: 100px;right:1em;}
.btn_g a{color: #fff;font-weight: bold;border-radius: 2px;
position: relative;transition: 0.3s;align-items: center;display: flex;text-decoration: none;}
.btn_g span{border:1px solid #F6F6F6;background:#F6F6F6;color:#222;min-width: 100%;padding:1.3em 1.5em;transition:0.3s;}
.btn_g span:hover{color:#E83828;background: #fff;transition:0.3s;border:1px solid #E83828;}
.btn_g span:hover:before,.btn_g span:hover:after{border-color:#E83828;transition:0.3s;}





/*ページ内アンカー用ボタン*/
.wrp_anchor{margin-bottom:1em;}
.wrp_anchor .col2_l ,.wrp_anchor .col2_r{padding:0;}
.wrp_anchor .col2_l .btn_anchor a ,.wrp_anchor .col2_r .btn_anchor a {min-width: 96%;
margin: 0 2%;}


.btn_anchor a {
color: #000;vertical-align: middle;text-decoration: none;display: inline-block;}
.btn_anchor a span{color:#EF3B2C;text-decoration: none;transition:0.3s;padding: 1em 2.5em 1em 1em;border: 1px solid #EF3B2C;min-width: 260px;position: relative; display: inline-block;font-weight: 600;letter-spacing: -1px;text-align: left !important;margin: 5px 0;font-size: 0.9em;border-radius: 3px;line-height: 1.4;}
.btn_anchor a:hover span{color:#ddd;transition:0.3s;border: 1px solid #ddd;}

.btn_anchor span:before,
.btn_anchor span:after{position: absolute;top: 0;bottom: 0;right: 9px;margin: auto;content: "";vertical-align: middle;transition:0.3s;}
.btn_anchor span:hover:after{top: 10px;transition:0.3s;border-color:#ddd;}

.btn_anchor span:before{box-sizing: border-box;width:21px;height: 21px;-webkit-border-radius: 50%;border-radius: 50%;}
.btn_anchor span:after{right:1.2em;width: 9px;height: 9px;border-top:2px solid #EF3B2C;border-right:2px solid #EF3B2C;-webkit-transform: rotate(135deg);transform: rotate(135deg);}





/*下内矢印*/
.dw_ya a{text-decoration:none;color:#232323;padding:1em;display: block;transition: 0.3s;font-weight:bold;background: #fff;}
.dw_ya span{line-height:1.8;text-align:center;position: relative;display: block;align-items: center;transition:0.3s;font-size: 0.7em;}
.dw_ya span a:hover{color:#ccc;transition:0.3s;}
.dw_ya span::after {content: "";margin: auto;position: absolute;top: 0;bottom:-1.5em;width: 8px;height: 8px;border-top: 2px solid #EF3B2C;border-right: 2px solid #EF3B2C;
transform: rotate(135deg);transition: 0.3s;}



/*イメージ付きページ内矢印ボタン*/
.image_box{width:100%;margin:0 auto;overflow:hidden;}
.image_box a{text-decoration: none;position: relative;display: block;}
.image_box a span.point_num{display:inline-block;position:absolute;left:0;top:0;background: #EF3B2C;font-size: 14px;padding:10px;line-height: 1;color: #fff;font-weight: 600;z-index: 3;}

.image_box em{text-decoration:none;color:#232323;padding:0.5em 1em 1.5em;display: block;transition: 0.3s;font-weight:bold;background: #eee;font-style: initial;}

.image_box a img{transition:0.3s all;}
.image_box a:hover img{transform:scale(1.2,1.2);transition:0.3s all;}
.image_box a:hover .dw_ya span em{color:#ccc;transition:0.3s;}
.image_box a:hover .dw_ya span::after{border-color:#ccc;bottom: -1.8em;}



/*------トップ------*/

.mttl{position:relative;display:flex;flex-direction: column;color:#999;align-items: center;z-index: 999;}
.mttl:before{font-family: 'Bayon', sans-serif;font-size:5em;color:#E83828;line-height: 1;letter-spacing: 5px;}

#wrp_about .box{margin:6em 0;}
#wrp_about span.mttl:before{content:"ABOUT";}
#wrp_about h2{font-size:4.7rem;margin-bottom:0.5em;color:#202124;}
#wrp_about p{margin-bottom:2em;}
#wrp_about{text-align: center;}


#wrp_promo a {text-decoration: none;}
#wrp_promo .box{position:relative;background: url(../_prt/_top/bg_promo.jpg);height: 400px;background-repeat: no-repeat;background-position: center;background-size:100%;display: flex;flex-direction: column;justify-content: center;align-items: center;transition: all 3s ease 0s;}
#wrp_promo .box:before{position: absolute;content:"";width: 100%;height: 100%;background-color: rgba(32,33,36,0.8);z-index: 1;top: 0;left: 0;transition: all 3s ease 0s;}
#wrp_promo .mttl:before{color:#fff;content:"PROMOTION VIDEO";letter-spacing:7px;}
#wrp_promo .mttl{z-index: 2;letter-spacing: 0.1em;color:#999;line-height: 1.4;font-size: 1.5rem;margin-bottom:4em;}
#wrp_promo:hover .box{background-size:120%;transition: all 3s ease 0s;}
#wrp_promo:hover .box:before{background-color: rgba(0,0,0,0.8);transition: all 3s ease 0s;}

#wrp_promo .icn_play:before{content:"";width:77px;height:77px;border-radius:100px;background:none;border:solid 2px #fff;border-radius:100px;z-index: 1;position: absolute;transition: all 0.3s ease 0s;top: -38px;left: -50px;transition: all 0.3s ease 0s;}
#wrp_promo .icn_play {
  width: 0;height: 0;border-style: solid;border-top: 8px solid transparent;border-bottom: 8px solid transparent;border-left: 19px solid #fff;border-right: 0;z-index: 1;position: relative;
}

#wrp_promo a:hover.icn_play:before{border-color:#E83828;transition: all 0.3s ease 0s;}
#wrp_promo a:hover.icn_play{border-left: 19px solid #E83828;transition: all 0.3s ease 0s;}

/*モーダルウィンドウ*/
#wrp_promo .icn_play label{
padding: 2em;
display: block;
height: 77px;
width: 77px;
position: absolute;
top: -38px;
left: -50px;
border-radius: 100px;
    display: inline-block;
    transition: .3s;
cursor: pointer;
z-index: 3;
}

.modal-wrap .wrp_modal_l{width: 100%;color: #fff;}
.modal-wrap p{text-align:left;}
.modal-overlay_movie{
background: rgba(0,0,0,0.8);position: fixed;top: 0;bottom: 0;left: 0;right: 0;text-align:center;}
.modal-overlay {
background:linear-gradient(to right,#A5BF41,#5FA101);
position: fixed;top: 0;bottom: 0;left: 0;right: 0;text-align:center;}
.modal-wrap {pposition: relative;margin: 0 auto;width: 100%;overflow: hidden;display: flex;justify-content: center;align-items: center;height: 100%;}
.modal-wrap .btn_ya{margin-bottom:3em;}
.modal-wrap ul{text-align:justify;color:#fff;max-width:1170px;margin:0 auto 20px;display: flex;justify-content: space-between;flex-wrap: wrap;}
.modal-overlay_movie .modal-wrap h3::before,.modal-overlay_movie .modal-wrap h3::after {background-color: #333;}
.modal-overlay_movie h3,.modal-overlay_movie .modal-wrap .wrp_modal_l span{color:#333;}
.modal-wrap label.top_close{color: #fff;font-size: 2em;}
.modal-overlay_movie .modal-wrap label.top_close{color: #999 !important;}
.modal-wrap label {
position: absolute;color: #fff;cursor: pointer;display: inline-block;line-height: 1;}
.modal-wrap label.top_close{right: 20px;top: 20px;line-height: 1;}
.modal-wrap label.btm_close{right: 45%;bottom: 20px;line-height: 1.9;}
.modal-wrap .wrp_modal_l label.btm_close{right: 62%;bottom: 20px;line-height: 1.9;}
.wrp_box input {position: absolute;z-index: -9999;visibility: hidden;}

.modal-overlay_movie,.modal-overlay{
opacity:0;
	/*-webkit-transform: scale(0.5);
	-moz-transform: scale(0.5);
	-ms-transform: scale(0.5);
	-o-transform: scale(0.5);
	transform: scale(0.5);*/
	-webkit-transition: all 0.5s cubic-bezier(0,1.16,.91,1.01);
	-moz-transition: all 0.5s cubic-bezier(0,1.16,.91,1.01);
	-ms-transition: all 0.5s cubic-bezier(0,1.16,.91,1.01);
	-o-transition: all 0.5s cubic-bezier(0,1.16,.91,1.01);
	transition: all 0.5s cubic-bezier(0,1.16,.91,1.01);
z-index: -999;
}

.wrp_box input:checked ~ .modal-overlay_movie,.wrp_box input:checked ~ .modal-overlay{
opacity: 1;
	/*-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	-o-transform: scale(1);
	transform: scale(1);*/
z-index: 10000;
}






#wrp_strength{background:#F5F4F1;}
#wrp_strength > .box{padding:6em 0;}
#wrp_strength span.mttl:before{content:"STRENGTH";}
#wrp_strength h2{font-size:4.7rem;margin-bottom:2em;color:#202124;text-align: center;}
#wrp_strength p{margin-bottom:2em;}
#wrp_strength h3{font-size:3rem;color:#222;}
#wrp_strength .cont_strength{max-width: 1230px;margin: 0 auto;width: 96%;padding: 4%;margin:0 auto;}
#wrp_strength .cont_strength ul li{display:flex;width: 100%;justify-content: space-between;align-items: center;margin-bottom:6em;}
#wrp_strength .cont_strength ul li .box{width:50%;}
#wrp_strength .cont_strength ul li .img_st{width:45%;height:300px;position:relative;}
#wrp_strength .cont_strength ul li .img_st:before{font-family: 'Bayon', sans-serif;font-size:9em;color:#E83828;line-height: 1;letter-spacing: 5px;}
#wrp_strength .cont_strength ul li:nth-child(1) .img_st{background: url(../_prt/_top/img_st1.jpg) no-repeat;background-position:50% 50%;background-size:cover;}
#wrp_strength .cont_strength ul li:nth-child(2) .img_st{background: url(../_prt/_top/img_st2.jpg) no-repeat;background-position:50% 50%;background-size:cover;order:2;}
#wrp_strength .cont_strength ul li:nth-child(3) .img_st{background: url(../_prt/_top/img_st3.jpg) no-repeat;background-position:50% 50%;background-size:cover;}
#wrp_strength .cont_strength ul li:nth-child(1) .img_st:before{content:"01";position: absolute;top: -0.5em;left: -0.25em;}
#wrp_strength .cont_strength ul li:nth-child(2) .img_st:before{content:"02";position: absolute;top: -0.5em;right: -0.25em;}
#wrp_strength .cont_strength ul li:nth-child(3) .img_st:before{content:"03";position: absolute;top: -0.5em;left: -0.25em;}

#wrp_topimg{position:relative;}
#wrp_topimg::before {content: "";background: transparent url(../_cmn/noize.png);width: 100%;height: 100%;position: absolute;z-index:1;opacity: 0.1;transition: 0.3s;}

#wrp_topimg .box{position:relative;background: url(../_prt/_top/bg_topimg.jpg);height: 80vh;background-repeat: no-repeat;background-position: center;background-size: cover;display: flex;flex-direction: column;justify-content: center;align-items: center;}


#wrp_service{width:100%;position:relative;padding:8em 0 5em;}
#wrp_service:after{position:absolute;background:#F5F4F1;width:95%;height:49vh;content:"";z-index: -1;bottom: 0;}
#wrp_service >.box{display:flex;max-width: 1230px;width: 96%;padding: 4%;margin:0em auto 2em;justify-content: space-between;align-items: center;}
#wrp_service span.mttl{align-items:flex-start;}
#wrp_service span.mttl:before{content:"SERVICES";}

#wrp_service >.box > .box{width:32%;}
#wrp_service >.box > .box p{margin:4em 0 2em;font-size: 1.8rem;}
#wrp_service .cont_service{width:60%;}
#wrp_service .cont_service ul{display:flex;justify-content: space-between;flex-wrap: wrap;}
#wrp_service .cont_service ul li{list-style:none;width:48%;margin-bottom: 1em;}

#wrp_service .cont_service ul li a{
color: #232323;font-weight: bold;
box-shadow: 1px 1px 30px rgba(0,0,0,0.1);border-radius: 2px;
position: relative;background: #fff;transition: 0.3s;align-items: center;display: flex;}
/*#wrp_service .cont_service ul li:nth-child(1) span,#wrp_service .cont_service ul li:nth-child(2) span{padding: 2.8em 1.5em;}*/
#wrp_service .cont_service .btn_maru span{color:#222;min-width: 100%;padding: 1.5em;}
#wrp_service .cont_service .btn_maru span:hover{color:#E83828;}
#wrp_service .cont_service .btn_maru span:before{right:1.7em;}
#wrp_service .cont_service .btn_maru span:after{right:1em;}



#wrp_works .box{position:relative;background: url(../_prt/_top/bg_works.jpg);height: 60vh;background-repeat: no-repeat;background-position: 50% 40%;background-size: 100%;display: flex;align-items: center;padding: 0 5em;justify-content: space-between;transition: all 0.5s ease 0s;}
#wrp_works a{text-decoration:none;}
#wrp_works span.mttl {align-items: left;}
#wrp_works .box:before{position: absolute;content:"";width: 100%;height: 100%;background-color: rgba(0,0,0,0.4);z-index: 1;top: 0;left: 0;transition: all 0.3s ease 0s;}
#wrp_works .mttl:before{color:#fff;content:"WORKS";}
#wrp_works .mttl{z-index: 2;letter-spacing: 0.1em;color:#fff;line-height: 1.4;}
#wrp_works a:hover .box{background-size:120%;transition: all 0.3s ease 0s;}
#wrp_works a:hover .box:before{background-color: rgba(0,0,0,0.2);transition: all 0.3s ease 0s;}
#wrp_works .icn_maruya{width:60px;height:60px;border-radius:100px;background:#fff;border:solid 2px #fff;border-radius:100px;z-index: 1;position: relative;transition: all 0.3s ease 0s;}
#wrp_works a:hover .icn_maruya {width:60px;height:60px;border-radius:100px;background:none;z-index: 1;position: relative;transition: all 0.3s ease 0s;}
#wrp_works .icn_maruya::before{content: "";z-index: 1;
margin: auto;position: absolute;top: 0;bottom: 0;right: 1.5em;width: 11px;height: 11px;border-top: 2px solid #E83828;border-right: 2px solid #E83828;transform: rotate(45deg);
  transition:0.3s;color: #E83828;}
#wrp_works a:hover .icn_maruya::before {border-color:#fff;transition: all 0.3s ease 0s;}
#wrp_works .btn_maru span::after {content: "";margin: auto;position: absolute;top: 0;bottom: 0;
  right: 0;width: 31px; height: 31px; transition:0.3s;border: 1px solid #E83828;border-radius: 100px;
}


#wrp_recruit{width:100%;position:relative;padding:10em 0 5em;}
#wrp_recruit .img_recruit::before {content: "";background: transparent url(../_cmn/noize.png);width: 100%;height: 100%;position: absolute;z-index:1;opacity: 0.1;transition: 0.3s;}
#wrp_recruit >.box{display:flex;margin:0em auto 2em;max-width: 1230px;margin: 0 auto;width: 96%;padding: 4%;justify-content: space-between;align-items: center;}
#wrp_recruit span.mttl{align-items: flex-start;}
#wrp_recruit span.mttl:before{content:"recruit";}
#wrp_recruit h2{font-size:4.7rem;margin:1em 0 0em;color:#202124;}
#wrp_recruit >.box > .box{width:50%;}
#wrp_recruit >.box > .box p{margin:1em 0 2em;font-size: 1.8rem;}
#wrp_recruit .img_recruit{width:45%;height:625px;position: absolute;background: url(../_prt/_top/img_recruit.jpg) no-repeat;background-position:50% 50%;background-size:cover;right: 0;z-index: 1;}


#wrp_contact::after {
    position: absolute;
    background: #F5F4F1;
    width: 100%;
    height: 140px;
    content: "";
    z-index: -1;
    bottom: 0;
}

#wrp_contact {position:relative;}
#wrp_contact .box{}
#wrp_contact h3{font-size:3rem;margin-bottom:0.5em;font-weight: 500;}
#wrp_contact p{margin-bottom:2em;}
#wrp_contact ul{width:95%;margin-left:5%;display:flex;}
#wrp_contact ul li{width:100%;list-style:none;padding: 5em;color:#fff;text-align: center;}
#wrp_contact ul li:nth-child(1){background:#E83828;}
#wrp_contact ul li:nth-child(2){background:#000;color: #999;}
#wrp_contact .btn_ya{margin: 0 auto;}


/*各コンテンツ設定*/
.wrp_sdgs{padding:2.5em 2.5em 2.5em 2.5em;font-size: 16px;}
.wrp_sdgs ul.list_sdgs{display:flex;justify-content:flex-end;margin: 0 !important;}
.wrp_sdgs ul.list_sdgs li img{max-width:100px !important;}
.wrp_sdgs ul.list_sdgs li:after{display:none;}
.wrp_sdgs ul.list_sdgs li:not(:first-of-type) {margin-left:10px;}

.list_sdgs img {max-width:100px !important;margin:5px 0 5px 8px;}