@charset "UTF-8";
/*---------------------------------------------------------
Theme Name: webcrew
Theme URI: https://webcrew.tokyo
Description: 
Author:
Author URI: 
License: 
License 
Tags: flexible-width, custom-header, custom-menu, editor-style,
Version: 2025_01
---------------------------------------------------------*/

@font-face {
	font-family: 'FOT-筑紫A丸ゴシック Std M';
	src: url('fonts/FOT-筑紫A丸ゴシック Std M.woff') format('woff'),
		url('fonts/FOT-筑紫A丸ゴシック Std M.woff2') format('woff2');
}

* {
	font-family: YakuHanJP , "FOT-筑紫A丸ゴシック Std M" , "Noto Sans Jp",  "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", Hiragino Kaku Gothic Pro, "ＭＳ Ｐゴシック", sans-serif;
	margin: 0px;
	padding: 0px;
}
main, article, aside, header, canvas, details, figcaption, figure, footer, nav, section, summary {
	display: block;
}
body {
	font-family:  'FOT-筑紫A丸ゴシック Std M';
	min-width: 320px;
	word-wrap: break-word;
	/*background-color: #fff;*/
	letter-spacing: .06em;
}
body.mceContentBody {
	background-color:#fff;
}

/* リンクの色 */
a {
	color: #0066cc;
}
/* リンクにマウスオーバーした時の色 */
a:hover {
	color: #0066cc;
}
img, video, object {
	max-width: 100%;
	height: auto;
	border: none;
	vertical-align: bottom;
	display: block;
}
/* 画像リンクのマウスオーバーに透かし */
a:hover img {
	/*-moz-opacity: 0.8;
	opacity: 0.8;*/
}
img.size-full, img.size-large {
	margin-bottom: 10px;
	height: auto;
	max-width: 100%;
}
.wp-caption{
	height: auto;
	max-width: 100%;
}
/* ロゴ画像の最大サイズ */
.sitename img {
	display: block;
	height: 24px;
	margin: 18px 16px;
}
/* スマートフォンは表示しない */
.smanone {
	display: none;
}
/* clearfix */
.clearfix {
	zoom: 1;
}
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
.clear {
	clear: both;
}
.center {
	text-align: center;
	padding-bottom: 20px;
}
/* iframeのレスポンシブ */
.youtube-container {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
}
.youtube-container iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
/*--------------------------------
各フォント設定
---------------------------------*/
/* 基本の文字 */
p {
	color: #1a1a1a;
	font-size: 14px;
	line-height: 1.8;
	letter-spacing: .06em;
	margin-bottom: 16px;
}
/*ブログタイトル*/

header .sitename {
	font-size: 22px;
	color: #fff;
	line-height: 1.5;
	padding: 0;
	margin: 0;
}
header .sitename a {
	color: #333;
	text-decoration: none;
	display: inline-block;
}
header .sitename a:hover {
	-moz-opacity: 0.8;
	opacity: 0.8;
}
/*ブログ名の下のキャプション */

header h1 {
	font-size: 12px;
	color: #666;
	font-weight: normal;
}
header a {
	color: #fff;
	text-decoration: none;
}
header .descr {
	font-size: 12px;
	color: #666;
	font-weight: normal;
	margin-bottom: 0px;
	line-height: 20px;
	padding-bottom: 10px;
}
/* ========== ▽タイトル設定 < フォント/見出し >▽ ========== */
.post_title , h2 , h3 , .post p , .post_child p {
	color: #1a1a1a;
	letter-spacing: .06em;
}
.post_title {
	font-size: 20px;
	line-height: 1.8;
	padding: 0 16px;
	margin: 16px 0;
}
.entry-title a:hover {
	text-decoration: underline;
}
.entry-title a {
	color: #1a1a1a;
	text-decoration: none;
}
h2 {
	position: relative;
	color: #1a1a1a;
	font-size: 18px;
	line-height: 1.8;
	margin: 24px 0;
	padding: 16px 0;
	border-bottom: 1px solid #1a1a1a;
}
.archive_h2 {
	font-family: 'Gotham-bold';
	font-size: 28px;
	font-weight: 400;
	letter-spacing: 0;
	margin: 0 16px 16px;
	border-bottom: 0px none;
}
.post_child h2 {
	position: relative;
	font-size: 18px;
	line-height: 1.8;
	margin: 24px 0;
	padding: 16px 0;
	border-bottom: 1px solid #1a1a1a;
}
.post_child h3 {
	font-size: 16px;
	margin-bottom: 16px;
	padding: 16px;
	line-height: 1.8;
	background-color: #e6e6e6;
}
h3 a {
	color: #1a1a1a;
	text-decoration: none;
}
.post h4{
	padding: 10px;
	margin-bottom: 20px;
}
.post_child h4 {
	position: relative;
	font-size: 14px;
	margin-bottom: 20px;
	padding: 10px 0;
	line-height: 1.8;
}
/*.post_child h4:before {
	content: "○";
	color: #f00;
	margin-right: 8px;
}*/
.post h5{
	margin-bottom: 20px;
	font-size:16px;
}
.wp-caption-text a,.wp-caption-text{
	font-size: 12px;
	color: #ccc;
}
/* サイドバーの見出し */
#side aside h4 {
	font-size: 16px;
	font-weight: bold;
	padding: 15px;
	margin-bottom: 20px;
	line-height: 1.8;
}
footer h4 a {
	color: #666;
	text-decoration: none;
}
/* 関連記事の文字 */
.kanren_title {
	font-size: 16px;
	padding: 16px;
	margin: 16px 0;

}
/* 記事タイトル下 */
.date_box p {
	font-size: 13px;
	margin: 0;
	color: #666;
	line-height: 1.8;
}
.date_box {
	border-top: 1px solid #dedede;
	border-bottom: 1px solid #dedede;
	padding: 15px;
}

/* --- BLOGCARD <SP> --- */
.blogcard {
	/*padding: 16px;*/
    margin: 32px 0;
	/*border: 1px solid #eee;*/
	box-shadow: 0 0 12px 1px rgb(0 0 0 / 5%);
  }
.blogcard a {
	text-decoration: none;
}
.blogcard_thumbnail {
    float: left;
    padding-right: 16px;
}
  .blogcard_title {
	font-size: 14px;
	text-decoration: none;
	color: #000;
	padding: 16px;
	  letter-spacing: .05em;
	  line-height: 1.8;
    /*padding-bottom: px;*/
  }
  .blogcard_excerpt  {
    display: none;
}

/* --- BLOGCARD SNS <SP> --- */
/*.blogcard {
    margin: 40px 0;
  }
  .blogcard_thumbnail img {
    width: 90px;
  }
  .blogcard_title {
    font-size: 0.95em;
    padding-bottom: 17px;
  }
  .blogcard_excerpt  {
    display: none;
}*/

/* 引用 */
.post blockquote {
	background-color: #f2f2f2;
	padding: 15px;
	margin-bottom: 20px;
}
/* 引用じゃないけど引用と同じデザインにしたい時 */
.inyoumodoki {
	background-color: #f2f2f2;
	padding: 15px;
	margin-bottom: 20px;
}
/* フッター文字 */
#footer h3 {
	font-size: 14px;
	margin-bottom: 10px;
}
#footer .copy {
	font-size: 12px;
	color: #999;
	line-height: 15px;
}
/* ========== TOP PAGE ========== */

/* ===== BLOG ===== */
#top_box dl {
	margin-bottom: 0;
	padding: 20px;
	border-bottom: 1px solid #dedede;
}

#topnews dl:first-child {
	
}
#topnews dl:last-child {
	
}
#top_box dt {
	/*float: left;
	width: 100px;*/
}
#top_box dt img {
	width: 100%;
}
#top_box dd {
	box-sizing: border-box;
	overflow: hidden;
}
#top_box dd h3 {
	font-size: 16px;
	line-height: 1.8;
	letter-spacing: 0.06em;
	margin: 20px 0;
}
#top_box .clearfix dd h5 {
	font-size: 16px;
	font-weight: bold;
	padding: 0px;
	margin-bottom: 5px;
}
/* 抜粋文字 */
#top_box .clearfix dd p {
	font-size: 16px;
	color: #666;
	line-height: 24px;
}
#top_box .clearfix dd h5 a {
	color: #333;
	text-decoration: none;
}
/* 一覧タイトル下 */

.blog_info p a {
	color: #666;
	text-decoration: none;
}
#top_box .clearfix dd .blog_info p {
	font-size: 13px;
	margin: 0;
}

/* --- ITIRAN_CARD <SP> --- */
.itiran_card {
	
}
#itiran_card {
	padding: 0 16px;
	margin-bottom: 24px;
}
#itiran_card dd h3 {
	font-size: 14px;
	font-weight: 300;
	padding: 0;
	margin: 0 0 8px;
}
#itiran_card dd h3 a {
	text-decoration: none;
	color: #1a1a1a;
}
.itiran_data_box {
	font-size: 12px;
	color: #ccc;
	display: flex;
}
.itiran_data_box span {
	width: 50%;
}
.idb_view {
	text-align: right;
	color: #f00;
}
#itiran_card dt {
	/*float: left;*/
	width: 100%;
	margin-bottom: 16px;
}
#itiran_card dt img {
	/*width: 120px;*/
}
#itiran_card dd {
	/*padding-left: 136px;*/
}
#itiran_card .itiran_exc p {
	font-size: 12px;
	color: #666;
}
#itiran_card dl {
	padding: 0;
	margin-bottom: 24px;
}
#itiran_card dl:last-child {

}

/*--------------------------------
関連記事表示部分
---------------------------------*/
/* タイトル名 */
#kanren {
	margin-bottom: 24px;
}
#kanren dd h5 {
	font-size: 12px;
	padding: 0;
	margin: 0;
}
#kanren dd h5 a {
	text-decoration: none;
	color: #000;
}
#kanren dt {
	float: left;
	width: 120px;
}
#kanren dt img {
	width: 120px;
}
#kanren dd {
	padding-left: 136px;
}
#kanren dl {
	padding: 16px;
	margin: 0;
	border-top: 1px solid #f2f3f4;
}
#kanren dl:last-child {
	border-bottom: 1px solid #f2f3f4;
}

/* ---------- SIDEBAR <SP> ---------- */

#side aside h4 {
	font-family: 'Gotham-Bold'!important;
	font-size: 28px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0;
	margin: 0;
	padding: 0;
}
.side_h_p {
	font-size: 14px;
}
#side aside ul li {
	list-style-type: none;
	margin: 0px;
	padding: 0px;
}
#side aside #mybox ul li ul li {
	font-size: 14px;
	line-height: 27px;
}
#side aside #mybox ul {
	margin-bottom: 10px;
}
/* RSS購読するボタン */
.rssbox a {
	display: block;
	width: 100%;
	box-sizing: border-box;
	background-color: #1a1a1a;
	padding: 5px 10px;
	margin-bottom: 10px;
	font-size: 14px;
	color: #fff;
	box-sizing: border-box;
	text-decoration: none;
}
.rssbox a:hover {
	-moz-opacity: 0.8;
	opacity: 0.8;
}

/* ---------- ▽TABLE▽ ---------- */
.post table {
	/*border-top: 1px #999 solid;
	border-right: 1px #999 solid;*/
	border-left: 1px solid #e6e6e6;
	margin-bottom: 32px;
	width: 100%;
}
table tr {
	border-top: 1px solid #e6e6e6;
}
table tr:last-child {
	border-bottom: 1px solid #e6e6e6;
}
table tr th {
	color: #1a1a1a;
	width: 30%;
	border-right: 1px solid #e6e6e6;
	font-size: 14px;
}
table tr td {
	color: #1a1a1a;
	padding: 16px;
	font-size: 14px;
	line-height: 1.8;
	border-right: 1px solid #e6e6e6;
}
.post table tr td p{
	color: #1a1a1a;
	font-size: 14px;
	line-height: 1.8;
}
.post table tr:nth-child(even) {
	/*background-color:#f3f3f3;*/
}
#main .post table {
	color: #1a1a1a;
}

/*画像 */
img.alignright {
	display: block;
	margin: 0 0 0 auto;
}
img.alignleft {
	display: block;
	margin: 0 auto 0 0;
}
img.aligncenter {
	display: block;
	margin: 0 auto;
}
img.float-left {
	float: left;
}
img.float-right {
	float: right;
}
.wp-caption {
	text-align: center;
}
.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.ie8 img {
	width: auto;
}
/*リスト */
.post ul {
	list-style-type: disc;
	padding-top: 10px;
	padding-right: 20px;
	padding-bottom: 10px;
	padding-left: 30px;
	margin-bottom: 10px;
}
.post ul li {
	font-size: 17px;
	line-height: 27px;
}
.post ol {
	list-style-type: decimal;
	padding: 0 16px 0 24px;
	margin-bottom: 16px;
}
.post ol li {
	font-size: 13px;
	line-height: 1.8;
	margin-bottom: 16px;
	letter-spacing: 0.1em;
}
/* ========== MENU < SP > ========== */
.sb-toggle-right {
	display: block;
	width: 60px;
	height: 60px;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 5;
	/*border-left: 1px solid #efefef;
	background-color: #fff;*/
}
.sb-toggle-right span {
	display: block;
	background-color: #000;
	width: 30px;
	height: 2px;
	position: absolute;
	left: 15px;
	transition: all 0.4s;
	-webkit-transition: all 0.4s;
	-moz-transition: all 0.4s;
}
.sb-toggle-right span:first-child {
	top: 30%;
}
.sb-toggle-right span:nth-child(2) {
	margin-top: -1px;
	top: 50%;
}
.sb-toggle-right span:last-child {
	bottom: 30%;
}

/* ----- SIDEBAR <SP> ----- */
.side_box ul li img , .side_box_s ul li img {
    margin: 0 auto;
}

/* --- SEARCH BOX <SP> --- */

#side aside #search {
	padding-bottom: 0px;
	position: relative;
	width: 100%;
}
.side_search_box {
	border: 1px solid #eee;
	padding: 24px;
	margin: 32px 16px;
}
/* ========== 検索BOX ========== */
.search_box {
	position: relative;
	padding: 0;
	margin: 0;
	/*height: 48px;*/
}
.ss_form {
	margin-bottom: 24px;
}
.ss_btn {
	text-align: center;
}
#s {
	height: 48px;
	color: #000;
	font-size: 13px;
	border-radius: 0;
	border-style: none;
	background-color: #fff;
	z-index: 10;
	padding: 8px;
	width: 100%;
	box-sizing: border-box;
	border: 1px solid #000;
}
#searchsubmit {
	background-color: #000;
	/*position: absolute;
	right: 0px;
	top: 0px;*/
	width: 80%;
	height: 48px;
	border-radius: 24px;
	z-index: 20;
	border: 0px none;
	margin: 0 auto;
}
*:first-child + html #searchsubmit {
	top: 1px;
}
#searchsubmit {
	/*font-family: FontAwesome;*/
	color: #fff;
	box-shadow: none;
	line-height: 48px;
}

/* ----- SIDEBAR RANKING <SP> ----- */
.side_ranking_block {
	border: 1px solid #eee;
	padding: 24px;
	margin: 16px;
	
}
/* タイトル名 */
.side_ranking_box {
	margin-bottom: 24px;
}
.side_ranking_box dd h5 {
	font-size: 12px;
	font-weight: 300;
	padding: 0;
	margin: 0;
}
.side_ranking_box dd h5 a {
	text-decoration: none;
	color: #1a1a1a;
}
.side_ranking_box dt {
	position: relative;
	float: left;
	width: 80px;
}
.side_ranking_box dt img {
	width: 80px;
}
.side_ranking_box dd {
	padding-left: 96px;
}
.side_ranking_box dl {
	position: relative;
	padding: 16px 0;
	margin: 0;
	/*border-top: 1px solid #f2f3f4;*/
}
.side_ranking_box dl:last-child {
	/*border-bottom: 1px solid #f2f3f4;*/
}

.side_ranking_box {
    counter-reset: number;/*ここは自分の好きな名前でOK*/
    list-style: none;
}

.side_ranking_box dl:before {
	color: #fff!important;
	background-color: #666;
    content: counter(number);
    counter-increment: number;
    text-align: center;
    opacity: .999;
    float: left;
    line-height: 20px;
    width: 20px;
    height: 20px;
	border-radius: 10px;
    -moz-border-radius: 10px;
	position: absolute;
	top: 8px;
	left: -10px;
	z-index: 10;
	font-size: 10px;
	border: 1px solid #fff;
    /*margin-right: -25px;*/
}
.side_ranking_box dl:nth-child(1):before {
	background-color: #e7ce26;
	line-height: 26px;
    width: 26px;
    height: 26px;
	border-radius: 13px;
    -moz-border-radius: 13px;
	position: absolute;
	top: 8px;
	left: -13px;
	font-size: 12px;
}
.side_ranking_box dl:nth-child(2):before {
	background-color: #b9c4cc;
	line-height: 24px;
    width: 24px;
    height: 24px;
	border-radius: 12px;
    -moz-border-radius: 12px;
	position: absolute;
	top: 8px;
	left: -12px;
	font-size: 12px;
}
.side_ranking_box dl:nth-child(3):before {
	background-color: #e37431;
	line-height: 22px;
    width: 22px;
    height: 22px;
	border-radius: 11px;
    -moz-border-radius: 11px;
	position: absolute;
	top: 8px;
	left: -11px;
	font-size: 12px;
}

/* ----- SIDEBAR NEWPOST <SP> ----- */
.side_newpost_block {
	border: 1px solid #eee;
	padding: 24px;
	margin: 16px;
	
}
/* タイトル名 */
.side_newpost_box {
	margin-bottom: 24px;
}
.side_newpost_box dd h5 {
	font-size: 12px;
	padding: 0;
	margin: 0;
}
.side_newpost_box dd h5 a {
	text-decoration: none;
	color: #000;
}
.side_newpost_box dt {
	position: relative;
	float: left;
	width: 80px;
}
.side_newpost_box dt img {
	width: 80px;
}
.side_newpost_box dd {
	padding-left: 96px;
}
.side_newpost_box dl {
	position: relative;
	padding: 16px 0;
	margin: 0;
	/*border-top: 1px solid #f2f3f4;*/
}
.side_newpost_box dl:last-child {
	/*border-bottom: 1px solid #f2f3f4;*/
}

/* ----- SIDEBAR CATEGORY <SP> ----- */
.side_category_block {
	border: 1px solid #eee;
	padding: 24px;
	margin: 16px;
	box-sizing: border-box;
    overflow: hidden;
	
}
.side_category_block  ul li a {
	display: inline-block;
	font-size: 12px;
	margin: 0 8px 8px 0;
	text-decoration: none;
	color: #000;
	background-color: #eee;
	padding: 8px 12px;
	float: left;
	border-radius: 100vh;
}

/* ---------- NAV ---------- */
.my_bread_inner nav {
	overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: none;
    overflow: -moz-scrollbars-none;
    /*border-bottom: 1px solid #eee;*/
}
.my_bread_inner nav ul {
	width: max-content;
    padding: 0 16px;
    margin: 16px 0;
    box-sizing: border-box;
    display: inline-block;
    color: #000;
    font-size: 12px;
    line-height: 1.5;
    font-weight: 400;
}
.my_bread_inner nav ul li {
	list-style: none;
	position: relative;
	font-size: 12px;
	line-height: 1;
	padding: 0;
	display: inline-block;
}
nav li li {
	/*font-size: 13px;
	padding: 16px;
	border: none;*/
}
.my_bread_inner nav li a {
	color: #000;
	text-decoration: none;
}
.menu-navigation-container {
	overflow: hidden;
}
nav li a:hover {
	text-decoration: underline;
}

/* ---------- PAGENATION <SP> ---------- */
.pagenation_sp {
	margin: 16px auto 32px;
    display: inline-block;
	width: 100%;
}
.pagenation_sp:after, .pagenation ul:after {
	clear: both;
	content: ".";
	display: block;
	height: 0;
	visibility: hidden;
}
.pagenation_sp ul {
	margin: auto;
    display: table;
	border-collapse: separate;
    border-spacing: 8px 0;
}
.pagenation_sp li {
	/*float: left;*/
	display: table-cell;
	list-style: none outside none;
	/*margin-left: -1px;*/
	width: 40px;
	height: 40px;
	text-align: center;
	border: 1px solid #f2f3f4;
}
.pagenation_sp li:first-child {
	margin-left: 0;
}
.pagenation_sp li.active {
	color: #fff;
	background-color: #000;
	border: 1px solid #000;
	cursor: not-allowed;
    font-size: 12px;
	line-height: 40px;
	/*padding: 8px 16px;
	line-height: 1.5;*/
}
.pagenation_sp li a {
	/*background: none repeat scroll 0 0 #fff;
	border-radius: 3px;*/
	background-color: #fff;
	/*border: 1px solid #f2f3f4;*/
	color: #000;
    font-size: 12px;
	display: block;
	padding: 0;
	text-decoration: none;
	/*text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);*/
	line-height: 40px;
    /*border: 1px solid #eee;
	width: 40px;
	height: 40px;*/
}
.pagenation_sp li.prev a::before {
	display: inline-block;
	font-family: Fontawesome;
	font-size: inherit;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	transform: translate(0, 0);
}
.pagenation_sp li.prev a::before {
	content: "\f104";
	line-height: 1.2;
	padding: 0 1.5px;
}
.pagenation_sp li.next a::before {
	display: inline-block;
	font-family: Fontawesome;
	font-size: inherit;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	transform: translate(0, 0);
}
.pagenation_sp li.next a::before {
	content: "\f105";
	line-height: 1.2;
	padding: 0 1.5px;
}
.pagenation_sp li a:hover {
	background: #f5f5f5;
	color: #000;
	opacity: 0.8;
	transition-duration: 500ms;
	transition-property: all;
	transition-timing-function: ease;
}

/* ========== ▽BREADCRUMB▽ ========== */
#breadcrumb {
	color: #999;
	font-size: 13px;
	letter-spacing: 0.06em;
	padding: 15px;
	margin: 0;
	clear: both;
	border-bottom: 1px solid #efefef;
}
#breadcrumb a {
	color: #666;
	text-decoration: none;
}
#breadcrumb div {
	display: inline;
	font-size: 13px;
}
#breadcrumb div a {
	color: #666;
	text-decoration: none;
}

/* --- #custom_breadcrumb <SP> --- */
#custom_breadcrumb {
	overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: none;
    overflow: -moz-scrollbars-none;
}
#custom_breadcrumb ul {
	width: max-content;
	padding: 0 16px;
    margin: 16px 0;
    box-sizing: border-box;
    display: inline-block;
	color: #000;
	font-size: 13px;
    line-height: 1.8;
    font-weight: 400;
}
#custom_breadcrumb ul a {
	color: #000;
    font-size: 13px;
    line-height: 1.8;
    font-weight: 400;
    text-decoration: none;
}

/*--------------------------------
SNS
---------------------------------*/
.sns li {
	margin: 5px 0;
}
.sns .snsb li {
	float: left;
	margin-right: 10px;
	list-style-type: none;
}
.post .sns .snsb.clearfix {
	padding-top: 20px;
	padding-right: 0px;
	padding-bottom: 20px;
	padding-left: 0px;
}
/*--------------------------------
カレンダー
---------------------------------*/
#wp-calendar {
	border-collapse: collapse;
	border-top-width: 1px;
	border-right-width: 1px;
	border-top-style: solid;
	border-right-style: solid;
	border-top-color: #999;
	border-right-color: #999;
	width: 100%;
}
#wp-calendar thead tr th {
	border-bottom-width: 1px;
	border-left-width: 1px;
	border-bottom-style: solid;
	border-left-style: solid;
	border-bottom-color: #999;
	border-left-color: #999;
	font-size: 14px;
	padding: 3px;
	text-align: center;
	background-color: #f3f3f3;
}
#wp-calendar td {
	text-align: center;
	padding: 0px;
	background-color: #fff;
}
#wp-calendar caption {
	font-weight: bold;
	text-align: left;
	padding-top: 10px;
	padding-bottom: 5px;
	font-size: 14px;
}
#wp-calendar tbody tr #today {
	background-color: #b0e0e6;
}
/* ---------- ▽PAGE TOP▽ ---------- */
#page-top {
	position: fixed;
	z-index: 2;
	bottom: 16px;
	right: 16px;
	font-size: 14px;
}
#page-top a {
	background-color: #fff;
	box-shadow: 0 4px 6px rgb(0 0 0 / 8%);
	text-decoration: none;
	color: #333;
	/*padding: 16px;*/
	text-align: center;
	display: block;
	width: 40px;
	height: 40px;
	line-height: 40px;
	border-radius: 100vw;
	/*border: 1px solid #333;*/
}
#page-top a:hover {
	text-decoration: none;
	background: #999;
	color: #fff;
}

/*--------------------------------
コメント
---------------------------------*/
#comments p a {
	color: #333;
}
#comments p {
	font-size: 14px;
	font-weight: normal;
	line-height: 20px;
	margin: 0px;
	color: #333;
	padding: 5px 0;
}
#comments label {
	display: block;
}
.metadata dd a {
	color: #333;
}
.metadata {
	font-size: 13px;
	line-height: 20px;
}
#comments {
	font-size: 14px;
	line-height: 20px;
	color: #333;
	background-color: #f3f3f3;
	padding-top: 10px;
	padding-right: 20px;
	padding-bottom: 10px;
	padding-left: 20px;
	margin-bottom: 20px;
	border-left-width: 1px;
	border-left-style: solid;
	border-left-color: #CCCCCC;
}
.comment-body {
	padding: 10px;
	margin-bottom: 20px;
}
.fn {
	font-style: normal;
	font-size: 13px;
}
.says {
	font-size: 13px;
	line-height: 18px;
}
.commentmetadata {
	font-size: 12px;
	line-height: 15px;
	height: 15px;
	width: 100%;
	clear: both;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	padding-left: 0px;
}
.reply {
	padding: 5px;
	font-size: 13px;
}
#comments #respond {
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 10px;
	padding-top: 5px;
	padding-right: 10px;
	padding-bottom: 5px;
	padding-left: 10px;
	color: #666;
}
#comments #commentform .tags {
	padding: 10px;
	background-color: #f3f3f3;
	font-size: 13px;
}
#comments #commentlist img {
	padding: 10px;
}
#comments .commets-list {
	padding-left: 0px;
	list-style-type: none;
}
ul.children {
	padding: 0px;
}
.commets-list li {
	list-style-type: none;
}
.comment-author.vcard .avatar {
	float: left;
	margin-right: 10px;
}
.vcard .fn {
	font-size: 13px;
	line-height: 18px;
}
/* コメント欄の下にある使用できるタグの表記を消す */
.form-allowed-tags {
	display: none;
}
#comments h3 {
	background-image: url(images/come.png);
	font-size: 16px;
	padding: 10px 0px 10px 50px;
	border: none;
	margin-bottom: 0px;
}
#comments textarea {
	margin-bottom: 10px;
	width: 100%;
	border: 1px #f2f2f2 solid;
}
#comments input {
	box-sizing: border-box;
	padding: 10px;
	width: 100%;
	border-radius: 2px;
	border: 1px #f2f2f2 solid;
}
/* コメントボタン */
#comments input[type="submit"] {
	background-color: #ccc;
	padding: 10px;
	-webkit-appearance: none;
}
/* ---------- PREV NEXT <SP> ---------- */
.pn_navi {
	margin-bottom: 24px;
}
.pn_navi dl {
	padding: 16px;
	display: flex;
}
.pn_navi dl dt {
	font-size: 13px;
	font-weight: 600;
	line-height: 1.8;
	float: left;
	width: 20%;
	color: #000;
}
.pn_navi dl dd {
	font-size: 13px;
	width: 80%;

}

/*レイアウト スマートフォン
----------------------------------------------------*/
#wrapper {
	max-width: 100%;
	padding: 0;
	margin: 0 auto;
	/*background: linear-gradient(180deg, transparent 79px, #fafafa 1px), 
				linear-gradient(90deg,  transparent 79px, #fafafa 1px);
  background-size: 80px 80px;*/
}
header {
	background-color: #111;
	height: 64px;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 3;
	/*z-index: 999;*/
	/*box-shadow: 0 0 12px 1px rgb(0 0 0 / 5%);*/
	/*border-bottom: 1px solid #efefef;*/
	/*text-align: center;*/
}

/*　上に上がる動き　*/

#header.UpMove{
	animation: UpAnime 0.5s forwards;
}

@keyframes UpAnime{
  from {
    opacity: 1;
	transform: translateY(0);
  }
  to {
    opacity: 0;
	transform: translateY(-100px);
  }
}

/*　下に下がる動き　*/

#header.DownMove{
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 0;
	transform: translateY(-100px);
  }
  to {
  	opacity: 1;
	transform: translateY(0);
  }
}


/* ---------- SLIDE MENU ---------- */
.slide_menu {
    font-size: 13px;
    line-height: 30px!important;
    text-align: center;
    color: #fff;
    padding: 15px 0;
    margin-bottom: 0px;
    letter-spacing: 1px;
	border-bottom: 1px solid #efefef;
}
.sb-slidebar {
    background-color: #fff!important;
	border-left: 1px solid #efefef;
}
.sb-slidebar nav li {
	position: relative;
	font-size: 13px;
	padding: 0;
    border-bottom: 1px solid #efefef;
}
.sb-slidebar nav li a {
	color: #333;
	text-decoration: none;
    display: block;
    line-height: 50px;
    letter-spacing: 0.06em;
	margin-left: 16px;
}
.sb-close {
    font-size: 13px;
    line-height: 40px;
    margin: 32px;
	border: 1px solid #efefef;
    color: #333;
    text-align: center;
    letter-spacing: 0.06em;
}

/*#nav-toggle {
  position: fixed;
  top: 25px;
  right: 25px;
  height: 32px;
  cursor: pointer;
}
#nav-toggle div {
    position: relative;
    width: 36px;
  }
#nav-toggle span {
    width: 100%;
    height: 1px;
    left: 0;
    display: block;
    background: #333;
    position: absolute;
    transition: transform .6s ease-in-out, top .5s ease;
}    
#nav-toggle span:nth-child(1) {
      top: 0;
    }
#nav-toggle span:nth-child(2) {
      top: 14px;
    }
#nav-toggle span:nth-child(3) {
      top: 28px;
    }

#nav-toggle span:hover span:nth-child(1) {
    top: 4px;
  }
#nav-toggle span:hover span:nth-child(3) {
    top: 23px;
  }


.open #nav-toggle span {
    background: #fff;
}
.open #nav-toggle span:nth-child(1) {
      top: 15px;
      transform: rotate(45deg);
    }
.open #nav-toggle span:nth-child(2) {
      top: 15px;
      width: 0;
      left: 50%;
    }
.open #nav-toggle span:nth-child(3) {
      top: 15px;
      transform: rotate(-45deg);
    }
*/

/* z-index */
/*#nav-toggle {
  z-index: 1000;
}
#container {
  z-index: 900;
}

#gloval-nav {
  background: #000;
  color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 990;
  text-align: center;
  display: flex;
  visibility: hidden;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 29px;
  opacity: 0;
  transition: opacity .6s ease, visibility .6s ease;
}


#gloval-nav a {
    display: block;
    color: #fff;
    text-decoration: none;
    padding: 10px 0;
    transition: color .6s ease;
}  
#gloval-nav a:hover {
      color: #666;
    }
  
#gloval-nav ul {
    list-style: none;
}
#gloval-nav ul li {
      opacity: 0;
      transform: translateX(200px);
      transition:  transform .6s ease, opacity .2s ease;
}
#gloval-nav ul li:nth-child(2) {
        transition-delay: .15s;
      }
#gloval-nav ul li:nth-child(3) {
        transition-delay: .3s;
      }
#gloval-nav ul li:nth-child(4) {
        transition-delay: .45s;
      }
#gloval-nav ul li:nth-child(5) {
        transition-delay: .6s;
      }
#gloval-nav ul li:nth-child(6) {
        transition-delay: .75s;
      }
#gloval-nav ul li:nth-child(7) {
        transition-delay: .9s;
      }
*/

/* open */
/*.open {
  overflow: hidden;
}
.open #gloval-nav {
    visibility: visible;
    opacity: 1;
	height: 100vh;
}

.open #gloval-nav li {
    opacity: 1;
    transform: translateX(0);
    transition:  transform 1s ease, opacity .9s ease;
  }*/

/*menu*/
.menu {
  height: 12px;
  position: absolute;
  right: 24px;
  top: 16px;
  width: 30px;
  z-index: 99;
}
.menu__line {
  background: #fff;
  display: block;
  height: 2px;
  position: absolute;
  transition: transform 0.3s;
  width: 100%;
}
.menu__line--bottom {
  bottom: 0;
}
.menu__line--top.active {
  top: 4px;
  transform: rotate(45deg);
  background: #fff;
}
.menu__line--bottom.active {
  bottom: 6px;
  transform: rotate(135deg);
  background: #fff;
}
.menu__title {
  font-size: 10px;
	line-height: 1;
	letter-spacing: 0;
  font-weight: 600;
  position: absolute;
  bottom: -16px;
  color: #fff;
	margin: 0;
}
.menu__title.active {
  color: #fff;
}
/*gnav*/
.gnav {
  background: rgba(26,26,26,.9);
  display: none;
  height: 100vh;
  position: fixed;
  width: 100%;
  z-index: 98;
	top: 0;
}
.gnav__wrap {
  display: flex;
  width: 100%;
  height: 100%;
  margin: auto;
  position: absolute;
  align-items:center;
    justify-content: center;
}
.gnav__wrap p ,
.gnav__wrap a {
	/*font-family: 'KelptA1-Medium';*/
	color: #fff;
    font-size: 16px;
    line-height: 1.8;
}
/* --- FOOTER SNS <SP> --- */
.header_sns_box {
	padding-bottom: 32px;
    margin-bottom: 32px;
    border-bottom: 1px solid #fff;
}
.header_sns_box_inner {
	display: flex;
}
.header_sns_box_inner p {
	font-family: 'Gotham-Bold';
    letter-spacing: 0;
	margin: 0 48px 0 0;
}
.header_sns_box_inner a {
	margin-right: 32px;
}

/* --- FOOTER SPLIT BOX <SP> --- */
.header_split_box_inner {
	display: flex;
}
.header_split_box_inner .header_left ,
.header_split_box_inner .header_right {
	width: 50%;
	text-align: left;
}
.header_menu_container a {
	font-family: 'Gotham-Bold';
    letter-spacing: 0;
	text-decoration: none;
	line-height: 1.8;
}

.header_submenu_container {
	margin-bottom: 32px;
}
.header_submenu_container a {
	font-family: 'Gotham-Bold';
    letter-spacing: 0;
	text-decoration: none;
	line-height: 1.8;
}
.header_submenu_child_container a {
	font-family: 'Gotham-Bold';
    letter-spacing: 0;
	font-size: 16px;
	position: relative;
	padding-left: 16px;
}
.header_submenu_child_container a:before {
	position: absolute;
    top: 10px;
    left: 0;
    width: 10px;
    height: 1px;
    background-color: #fff;
    content: "";
}

.header_link_inner {
	text-align: left;
}
.header_link_inner a {
	font-size: 16px;
	margin-right: 32px;
}

.gnav__menu__item {
  margin: 3rem 0;
}
.gnav__menu__item a {
    color: #f4f6f7;
    font-size: 1.5rem;
    font-weight: bold;
    letter-spacing: 0.1rem;
    padding: 2.5rem;
    text-decoration: none;
    transition: 0.2s;
}
.gnav__menu__item a:hover {
      color: #ffdd40;
    }
body.noscroll{
  overflow: hidden;
}

main {
	/*background-color: #fff;*/
	padding: 0;
	margin: 0;
}
.post_main {
	margin-top: 60px;
}

section {
	/*border-bottom: 1px solid #efefef;*/
}

/* ---------- ▽ TOP PAGE < SP > ▽ ---------- */

.top_img_inner {
	position: relative;
}
.top_par_box {
	width: 100%;
	height: 100vh;
}
#particles-js {
	position:relative;/*描画固定*/
	z-index:1;/*描画を一番下に*/
	width: 100%;
	height: 100vh;
	background-color:#fff;/*背景色*/
}

.top_txt {
	z-index: 2;
	position: absolute;
	top: 50%; /*親要素を起点に上から50%*/
	left: 50%;  /*親要素を起点に左から50%*/
	transform: translateY(-50%) translateX(-50%); /*要素の大きさの半分ずつを戻す*/
	-webkit-transform: translateY(-50%) translateX(-50%);
}
.top_txt img {
	box-sizing: border-box;
	padding: 32px;
}



.background_box {
	
}
.background_line_inner {
	position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}
.background_line_horizontal {
	/*position: relative;*/
}
.background_line_horizontal {
	/*position: relative;
    width: 100%;
    height: 100%;
    margin: 0 auto;
	position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;*/
}
.background_line_horizontal span {
	/*position: absolute;
    left: 0;
    right: 0;
    width: 1px;
	height: 100vh;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);*/
	/*width: 100%;
  border-top: 1px solid #000;
  height: 20%;*/
}

.background_line_horizontal span {
	/*position: absolute;
    right: 0;
    left: 0;
    height: 1px;
	background-color: #f8f8f8;
    overflow: hidden;*/
}
/*.background_line_horizontal span:first-child {
	top: 80px;
}
.background_line_horizontal span:nth-child(2) {
	top: 160px;
}
.background_line_horizontal span:nth-child(3) {
	top: 240px;
}
.background_line_horizontal span:nth-child(4) {
	top: 320px;
}
.background_line_horizontal span:nth-child(5) {
	top: 400px;
}
.background_line_horizontal span:nth-child(6) {
	top: 480px;
}
.background_line_horizontal span:nth-child(7) {
	top: 560px;
}
.background_line_horizontal span:nth-child(8) {
	top: 640px;
}
.background_line_horizontal span:nth-child(9) {
	top: 720px;
}
.background_line_horizontal span:nth-child(10) {
	top: 800px;
}*/
.background_line_inner {
	/*position: relative;*/
}
/*.background_line_vertical {
	position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
	padding: 0 8px;
	box-sizing: border-box;
}*/
.background_line_vertical span {
	/*position: absolute;
    top: 0;
    bottom: 0;
    width: 1px;
	height: 100vh;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
	height: 100%;
  border-right: 1px solid #f8f8f8;
  width: 20%;*/
}
/*.background_line_vertical span:first-child {
	left: 8px;
}
.background_line_vertical span:nth-child(2) {
	left: calc(25% + 8px);
}
.background_line_vertical span:nth-child(3) {
	left: 50%;
}
.background_line_vertical span:nth-child(4) {
	right: calc(25% + 8px);
}
.background_line_vertical span:nth-child(5) {
	right: 8px;
}*/

/* ----- ALL SETTING ----- */
.section_block h2 {
	font-size: 24px;
	letter-spacing: 0;
	margin: 24px 0;
	border-bottom: 0px none;
}
.top_h2_title {
	/*font-family: 'KelptA1-Medium';*/
	/*font-family: 'Gotham-Bold';*/
	position: relative;
	text-align: left;
	font-size: 14px;
	letter-spacing: .06em;
	line-height: 1;
	padding: 0 0 0 48px;
	margin: 16px 0;
	color: #666;
	/*color: transparent;
    -webkit-text-stroke: .03em #000;*/
}
.top_h2_title:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    display: inline-block;
    width: 32px;
    height: 1px;
    background: #666;
}
.top_h2_title img {
	max-height: 25px;
	margin: 16px auto;
}
.top_link_btn {
	padding: 0;
	box-sizing: border-box;
}
.top_link_btn a {
	position: relative;
	display: block;
	color: #fff;
	font-size: 14px;
	line-height: 4;
	text-decoration: none;
	background-color: #000;
	text-align: center;
	width: 100%;
	padding: 0;
	margin: 32px auto;
	border-radius: 4px;
}
.top_link_btn a span {
    /*position: relative;
    padding-right: 12vw;*/
}
.top_link_btn a span:before {
    /*content: '';
    width: 9.3333vw;
    height: 1px;
    background: #fff;
    position: absolute;
    top: 4.4vw;
    right: 0;*/
}
.top_link_btn a:after {
    /*content: '';
    width: 1.6vw;
    height: 1px;
    background: #fff;
    position: absolute;
    top: 3.7vw;
    right: 0;
    transform: rotate(45deg);*/
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 8px 8px;
    border-color: transparent transparent #dedede transparent;
    position: absolute;
    bottom: 4px;
    right: 4px;
}

.section_arrow {
	position: relative;
}
.section_arrow img {
	position: absolute;
    left: 0;
    top: 0;
	-webkit-animation: scroll_animation_img 2.4s infinite;
    animation: scroll_animation_img 2.4s infinite;
}
@keyframes pathmove{
  0%{
    height:0;
    top:0;
    opacity: 0;
  }
  30%{
    height:30px;
    opacity: 1;
  }
  100%{
    height:0;
    top:50px;
    opacity: 0;
  }
}
@-webkit-keyframes /*scroll_animation_img {
	0% {
    top: 0;
    bottom: inherit;
    -webkit-animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}
45%, 55% {
    top: 0;
    bottom: inherit;
    -webkit-animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}
55.1% {
    top: inherit;
    bottom: 0;
    -webkit-animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}
100% {
    top: inherit;
    bottom: 0;
    -webkit-animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}
}*/

scroll_animation_img {
	0% { 
		top:0;
		bottom:inherit;
		-webkit-animation-timing-function:cubic-bezier(0.165, 0.84, 0.44, 1);
		animation-timing-function:cubic-bezier(0.165, 0.84, 0.44, 1)
	}
	45%,55% {
		top:0;
		bottom:inherit;
		-webkit-animation-timing-function:cubic-bezier(0.165, 0.84, 0.44, 1);
		animation-timing-function:cubic-bezier(0.165, 0.84, 0.44, 1)
	}
	55.1%{
		top:inherit;
		bottom:0;
		-webkit-animation-timing-function:cubic-bezier(0.165, 0.84, 0.44, 1);
		animation-timing-function:cubic-bezier(0.165, 0.84, 0.44, 1)
	}
	100%{
		top:inherit;
		bottom:0;-webkit-animation-timing-function:cubic-bezier(0.165, 0.84, 0.44, 1);
		animation-timing-function:cubic-bezier(0.165, 0.84, 0.44, 1)
	}
}

.top_img_box {
	z-index: 0;
	position: relative;
    height: 100vh;
    overflow: hidden;
}
.top_img_box:before {
    content: "";
    background-color: #121212;
    width: 100%;
	height: 150%;
    position: absolute;
    right: -70%;
    top: -50%;
    -webkit-transform: rotate(-15deg);
    transform: rotate(-15deg);
    -webkit-clip-path: inset(0 0 100% 0);
    clip-path: inset(0 0 100% 0);
    -webkit-transition: -webkit-clip-path 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.8s;
    transition: -webkit-clip-path 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.8s;
    transition: clip-path 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.8s;
    transition: clip-path 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.8s, -webkit-clip-path 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.8s;
	-webkit-clip-path: inset(0);
    clip-path: inset(0);
}
.nodesign_txt {
	position: relative;
	height: 100vh;
	padding: 0 16px;
}
.nodesign_txt img {
	position: absolute;
	bottom: 50%;
	width: 90vw;
}
.nodesign_txt .top_img_box_h2 {
	position: absolute;
	bottom: 30%;
	width: 90vw;
}

/*========= LoadingのためのCSS ===============*/

/* Loading背景画面設定　*/
#splash {
  /*fixedで全面に固定*/
	position: fixed;
	width: 100%;
	height: 100%;
	z-index: 999;
	background:#eee;
	text-align:center;
	color:#fff;
}

/* Loading画像中央配置　*/
#splash_logo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

/* Loading アイコンの大きさ設定　*/
#splash_logo svg{
    width:300px;
}

/*=============== SVGアニメーション内の指定 =================*/

/*アニメーション前の指定*/
#mask path {
		fill-opacity: 0;/*最初は透過0で見えない状態*/
		transition: fill-opacity .5s;/*カラーがつく際のアニメーション0.5秒で変化*/
		fill: none;/*塗りがない状態*/
		stroke: #333;/*線の色*/
	}

/*アニメーション後に.doneというクラス名がで付与された時の指定*/
#mask.done path{
	  fill: #333;/*塗りの色*/
	  fill-opacity: 1;/*透過1で見える状態*/
	  stroke: none;/*線の色なし*/
	}

/* ----- TOP MV < SP > ----- */

.top_mv {
	position: relative; /*h1の中央寄せ配置の起点とするためのrelative*/
    /*height: 100vh;*/ /*高さを全画面にあわせる*/
}
.top_mv_bg {
    /*position: fixed;*/
    /*z-index: -1;*//*最背面に設定*/
    /*top: 0;
    right:0;
    left:0;
    bottom:0;*/
    overflow: hidden;
	width: 100%;
  height: 100vh;
  background: url(../img/kv-alternative.jpg) no-repeat center/cover;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  z-index: -1;
}

#video {
	 /*transform: rotate( -90deg );
    /*天地中央配置*/
    /*position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    /*縦横幅指定*/
    /*width: 177.77777778vh; /* 16:9 の幅→16 ÷ 9＝ 177.77% */
    /*height: 56.25vw; /* 16:9の幅 → 9 ÷ 16 = 56.25% */
    /*min-height: 100%;
    min-width: 100%;*/
	
	min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}
.top_mv_txt {
    /*要素の配置*/
    /*position:absolute;*/
    /*要素を天地中央寄せ*/
    /*top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);*/
    /*見た目の調整*/
    /*color:#fff;
    text-shadow: 0 0 15px #666;*/
	height: 100vh;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* kv */
.kv{
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
}

.kv .main-copy{
  color: #fff;
  font-size: 30px;
  font-weight: bold;
  text-align: center;
  line-height: 1;
  letter-spacing: .2em;
}

.kv .sub-copy{
  color: #fff;
  font-size: 20px;
  text-align: center;
}

/* video */
.video{
  /*width: 100%;
  height: 100vh;
  /*background: url(../img/kv-alternative.jpg) no-repeat center/cover;*/
  /*position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  z-index: -1;*/
}

.video video{
  position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    min-width: 100%;
    min-height: 100vh;
	
	position: fixed;
    right: 0;
    bottom: 0;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: -100;
    background-size: cover;
    bottom:0;
}

.top_movie_box {
	position: relative;
	height: 100vh;
}
.top_movie_box video {
	width: 100%;
    height: 90vh;
    object-fit: cover;
}


/* ----- SECTION < NEWS > ----- */
.section_news_box p {
	background-color: #f5f5f5;
	color: #111;
	text-align: center;
	font-size: 15px;
	font-weight: 500;
	line-height: 3;
	margin: 0;
}

/* ----- SECTION < IMG > ----- */.
.top_img_box {
	width: 100%;
}
.top_img_box_wrap {
	position: relative;
    /*min-height: 400px;*/
	/*max-width: 100%;
	padding: 48px 32px;
	height: 500px;*/
    width: 100%;
    position: relative;
}
.top_text_box_inner {
	padding: 32px;
}
.top_img_box_wrap div img {
	/*width: 100%;
    min-height: 400px;
    object-fit: cover;
	height: 50px;*/
}
.top_img_box_wrap .no_bg {
	position: absolute;
	bottom: 48px;
	right: 48px;
	height: 200px;
	transform: rotate( 45deg );
}

.intro{
    /*position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    color: #ddd;
    width: 600px;
    display: flex;
    justify-content: start;
    align-items: center;
    letter-spacing: 1px;*/
}
.top_txt {
	width: 100%;
}
.typ {
    position: relative;
}
.typ::after{
    content: "";
    width: 2px;
    height: 90%;
    /*position: absolute;
    right: -5px;*/
    border-right: 2px solid #000;
    animation: blink .4s ease infinite;
}
@keyframes blink {
    0%{
        opacity: 0;
    }
    100%{
        opacity: 1;
    }
}


/* ----- SECTION < ABOUT > ----- */

.mask_img .mask img {
    transition-delay: .55s;
    visibility: visible;
}

.mask_img .mask{
    overflow: hidden;
}

.common-post .mask img{
/*
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    width: auto;
    height: 100%;
    max-width: inherit;    
    */
}
.mask_img .mask img {
    visibility: hidden;
}

.mask{
    position: relative;
}

.service-block {
    overflow: hidden;
}

.concept-block {
	display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.home .mask_img .top_about_box_right .mask:after {
    animation: wipe_in_out 1.1s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}
.mask_img .mask:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0%;
    height: 100%;
    background-color: #fff004;
}

@keyframes wipe_in_out {
  0% {
    width: 0%;
    left: 0%;
  }

  50% {
    width: 100%;
    left: 0%;
  }

  100% {
    width: 0%;
    left: 100%;
  }
}

.top_about_box {
	/*padding: 32px 16px;*/
}
.top_about_box {
	z-index: 0;
	position: relative;
    height: 70vh;
    overflow: hidden;
}
.top_about_box:before {
    /*content: "";
    background-color: #e6e6e6;
    width: 100%;
	height: 80%;
    position: absolute;
    left: -70%;
    top: 0;
    -webkit-transform: rotate(-15deg);
    transform: rotate(30deg);
    -webkit-clip-path: inset(0 0 100% 0);
    clip-path: inset(0 0 100% 0);
    -webkit-transition: -webkit-clip-path 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.8s;
    transition: -webkit-clip-path 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.8s;
    transition: clip-path 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.8s;
    transition: clip-path 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.8s, -webkit-clip-path 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.8s;
	-webkit-clip-path: inset(0);
    clip-path: inset(0);*/
}
.top_about_box_wrap {
	position: relative;
	padding: 0 32px;
}
/*.section_block img {
	margin: 0 calc(50% - 50vw);
	width: 100vw;
}*/
.top_about_box h2 {
	font-size: 24px;
	letter-spacing: 0;
	line-height: 1.5;
	padding: 0;
	margin: 24px 0;
}
.top_about_box h2 img {
	max-height: 24px;
	margin: 16px auto 0;

}
.top_about_box .top_about_text {
	font-size: 14px;
	font-weight: 300;
	letter-spacing: .06em;
	padding: 0;
	margin: 0;
}

/* ----- SECTION < PROBLEM > ----- */
.top_problem_box {
	padding: 0;
	position: relative;
    background-color: #fafafa;
	/*linear-gradient(90deg, #e6e6e6 0%, #e6e6e6 80%, #fff 80%, #fff 100%);*/
	/*border-bottom: 1px solid #111;*/
}
.top_problem_box_wrap {
	overflow: hidden;
	padding: 32px;
}
.top_problem_box_wrap .top_h2_title {
	margin-top: 16px;
}
.top_problem_box h2 {
	color: #333;
	font-size: 24px;
	line-height: 1.5;
	padding: 0;
	margin-bottom: 32px;
}
.top_problem_box h2 img {
	max-height: 15px;
	margin: 8px auto 0;

}
.problem_box {
	padding: 0;
}
.problem_box_wrap {
	position: relative;
	margin-bottom: 32px;
	padding: 32px;
	background-color: #fff;
	border-radius: 8px;
	box-shadow: 0 4px 6px rgb(0 0 0 / 8%);
	/*0 0 12px 10px rgb(0 0 0 / 8%);*/
}
.problem_box_wrap:after {
	position: absolute;
	top: 3px;
	left: 3px;
	padding: 16px;
	background-color: #111;
	border: 3px solid #111;
}
.problem_box_wrap h3 {
	position: relative;
	/*font-family: 'KelptA1-Medium';*/
	/*font-family: 'Gotham-Bold';*/
    font-size: 20px;
	font-weight: 600;
    line-height: 1;
	padding-bottom: 24px;
	margin-bottom: 24px;
    color: #333;
	letter-spacing: .06em;
}
.problem_box_wrap h3:before {
    width: 100%;
    /*left: 50%;
    margin-left: -32px;
    right: auto;*/
    content: "";
    height: 2px;
    background-color: #111;
    display: block;
    position: absolute;
    bottom: 0;
}
.problem_box_wrap h3:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 30%;
    border-bottom: 2px solid #ff0017;
}
.problem_box_wrap .pb_txt {
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
	margin-bottom: 24px;
}
.problem_box_wrap p {
	font-size: 14px;
	font-weight: 300;
	line-height: 2.5;
	margin: 0;
}

.top_problem_box .top_about_text {
	font-size: 15px;
	padding: 0 16px;
	margin: 0;
}

/* ------------------------------
	選ばれる理由 <SP>
------------------------------ */
.top_reason_box_wrap {
	padding: 32px;
}
.top_reason_box_wrap h2 {
	padding: 0;
}
.top_service_text {
	margin-bottom: 24px;
}
.top_reason_box_mini {
	position: relative;
    margin-bottom: 32px;
    padding: 32px;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgb(0 0 0 / 10%);
}
.top_reason_box_mini_inner h3 {
	font-size: 16px;
	text-align: center;
}
.top_reason_box_mini_inner h3 span {
	font-size: 16px;
	background: #ff0017;
	color: #fff;
	padding: 0;
	border-radius: 50vw;
	line-height: 40px;
	width: 40px;
	height: 40px;
	display: inline-block;
	text-align: center;
	margin-left: 8px;
}
.top_reason_box_mini_inner .reason_title {
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0;
	text-align: center;
	margin: 24px 0;
}

/* ------------------------------
	お客様とのお約束 <SP>
------------------------------ */
.top_promise_box_wrap {
	padding: 32px;
	background-color: #fafafa;
}
.top_promise_box_wrap h2 {
	padding: 0;
}
.top_promise_box_mini {
	position: relative;
    margin-bottom: 32px;
    padding: 32px;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgb(0 0 0 / 10%);
}
.top_promise_box_mini_inner h3 {
	position: relative;
	font-size: 20px;
	letter-spacing: 0;
	text-align: center;
	padding-bottom: 24px;
	margin-bottom: 24px;
}
.top_promise_box_mini_inner h3:before {
    width: 100%;
    /*left: 50%;
    margin-left: -32px;
    right: auto;*/
    content: "";
    height: 2px;
    background-color: #111;
    display: block;
    position: absolute;
    bottom: 0;
}
.top_promise_box_mini_inner h3:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 30%;
    border-bottom: 2px solid #ff0017;
}

.top_promise_box_mini_inner p {
	margin-bottom: 0;
}


/* ----- SECTION < GOOD AT > ----- */
.top_goodat_box {
	padding: 32px 16px;
}
.top_goodat_box h2 {
	text-align: center;
	font-size: 13px;
	font-weight: 300;
	padding: 0;
	margin-bottom: 16px;
}
.top_goodat_box li {
	list-style: none;
	font-size: 13px;
	padding: 16px;
	margin: 0;
	
}

/* ------------------------------
	サービス <SP>
------------------------------ */
/* ----- SECTION < SERVICE > ----- */
.top_service_box {
	padding: 32px;
}
.top_service_box h2 {
	font-size: 24px;
	color: #333;
	padding: 0;
	margin-bottom: 32px;
}
.top_service_box .top_service_text {
	font-size: 14px;
	color: #333;
	padding: 0;
	margin-bottom: 32px;
}
.service_box {
	border: 1px solid #fafafa;
	/*padding: 16px;*/
	margin-bottom: 48px;
	border-radius: 8px;
	box-shadow: 0 4px 6px rgb(0 0 0 / 10%);
}
.service_box_inner {
	padding: 32px;
}
.service_box_img img {
	max-height: 32px;
	margin: 32px auto 24px;
}
.service_box_h3 {
	font-size: 16px;
	letter-spacing: 0;
	text-align: center;
	margin: 0 0 24px;
}
.service_box_txt p {
	margin-bottom: 24px;
}
.service_box_txt a {
	position: relative;
	display: block;
	text-align: center;
	font-size: 14px;
	line-height: 1.8;
	letter-spacing: 0;
	text-decoration: none;
	color: #fff;
	background-color: #111;
	padding: 8px 16px;
	border-radius: 100vh;
}
.service_box_txt a::after {
	/*content: '';
	width: .5em;
	height: .5em;
	border: 0;
	border-top: solid 1px #fff;
	border-right: solid 1px #fff;
	position: absolute;
	top: 50%;
	margin-left: 4px;*/
	/*margin-top: -3px;*/
  /*transform: rotate(45deg);*/
	/*transform: translateY(-50%) rotate(45deg);*/
}
/*::after{
	content: '';
	width: 6px;
	height: 6px;
	margin-top: -2px;
	margin-left: 4px;
	border-top: 1px solid #0066cc;
	border-right: 1px solid #0066cc;
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
}*/

.service_box_text_title {
	text-align: center;
	font-size: 16px;
}


/* ------------------------------
	DEXIGNで出来ること <SP>
------------------------------ */
.top_ability_box_wrap {
	padding: 32px;
	background-color: #fafafa;
}
.top_ability_box_wrap h2 {
	padding: 0;
}
.ability_box {
	position: relative;
    margin-bottom: 32px;
    padding: 32px;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgb(0 0 0 / 8%);
}
.ability_box h3 {
	position: relative;
	font-size: 20px;
	letter-spacing: 0;
	text-align: center;
	padding-bottom: 0;
	margin-bottom: 24px;
}
.ability_box img {
	height: 80px;
	width: auto;
	margin: 24px auto;
}

.top_ability_box_mini_inner p {
	margin-bottom: 0;
}


/* ------------------------------
	料金 <SP>
------------------------------ */
.top_price_box_wrap {
	padding: 32px;
}
.top_price_box_wrap h2 {
	padding: 0;
}
.price_box_inner {
	overflow-x: scroll;
	margin: 0 0 32px;
}
.price_box_inner table {
	min-width: 720px;
	width: 100%;
	white-space: nowrap;
	table-layout: fixed;
	text-align: center;
	border-left: 1px solid #dedede;
	letter-spacing: 0;
}
.price_box_inner table tr {
	border-bottom: 1px solid #dedede;
}
.price_box_inner table tr th {
	padding: 16px;
	background-color: #fafafa;
	color: #333;
	border-right: 1px solid #dedede;
}

.price_box_inner table tr .right_txt {
	animation: flash 2s linear infinite;
	color: #666;
	font-size: 12px;
	
}
@keyframes flash {
	0%,100% {
		opacity: 1;
	}
	50% {
		opacity: 0;
	}
}
.price_box_inner table tr .light {
	padding: 32px 16px;
	background-color: #999;
	color: #fff;
}
.price_box_inner table tr .standard {
	padding: 32px 16px;
	background-color: #666;
	color: #fff;
}
.price_box_inner table tr .highgrade {
	padding: 32px 16px;
	background-color: #333;
	color: #fff;
}
.price_box_inner table tr td {
	color: #333;
	border-right: 1px solid #dedede;
}
.price_box_inner table tr td:nth-of-type(2) {
	background: #fafafa;
}
.price_box_inner table tr td .table_nm {
	font-size: 20px;
	font-weight: 600;
	margin: 0 2px;
}
.price_box_etc_mini {
	position: relative;
    margin-bottom: 32px;
    padding: 32px;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgb(0 0 0 / 10%);
}

.price_box_etc_mini h3:before {
    width: 100%;
    /*left: 50%;
    margin-left: -32px;
    right: auto;*/
    content: "";
    height: 2px;
    background-color: #111;
    display: block;
    position: absolute;
    bottom: 0;
}
.price_box_etc_mini h3 {
	position: relative;
	font-size: 20px;
	padding-bottom: 24px;
	margin-bottom: 24px;
}
.price_box_etc_mini h3:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 30%;
    border-bottom: 2px solid #ff0017;
}
.price_box_etc_mini .price_nm {
	font-size: 20px;
	font-weight: 600;
	margin: 0 2px;
}


.top_price_box_mini {
	position: relative;
    margin-bottom: 32px;
    padding: 32px;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgb(0 0 0 / 8%);
}
.top_price_box_mini_inner h3 {
	font-size: 16px;
	text-align: center;
}
.top_price_box_mini_inner h3 span {
	font-size: 16px;
	background: #333;
	color: #fff;
	padding: 0;
	border-radius: 50vw;
	line-height: 40px;
	width: 40px;
	height: 40px;
	display: inline-block;
	text-align: center;
	margin-left: 8px;
}
.top_price_box_mini_inner .price_title {
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0;
	text-align: center;
	margin: 24px 0;
}






.service_box_top , .service_box_middle , .service_box_bottom {
	display: flex;
	box-sizing: border-box;
	overflow: hidden;
}
/* --- TOP --- */
.service_box_01 {
	width: 66.667%;
	/*float: left;*/
	background-color: #e6e6e6;
	border-top: 1px solid #1a1a1a;
	border-left: 1px solid #1a1a1a;
	border-right: 1px solid #1a1a1a;
	display: flex;
	box-sizing: border-box;
}
.service_box_01 span {
	/*font-family: 'KelptA1-Medium';*/
	font-family: 'Gotham-Bold';
	font-size: 24px;
	letter-spacing: 0;
	color: #1a1a1a;
	/*flex: 0 auto;*/
    width: 100%;
    margin: auto;
    text-align: center;
    /*-webkit-text-stroke: .03em #000;*/
}
.service_box_01 img {
	max-height: 15px;
	margin: 42.5px auto;
}
.service_box_02 {
	width: 33.333%;
	background-color: #e6e6e6;
	border-top: 1px solid #ccc;
	/*border-right: 1px solid #ccc;*/
}
.service_box_02 .service_box_mini_top {
	display: flex;
	height: 50px;
	border-bottom: 1px solid #ccc;
}
.service_box_02 .service_box_mini_bottom {
	display: flex;
	height: 50px;
}
.service_box_02 .service_box_mini_s {
	width: 50%;
	height: 50px;
	border-right: 1px solid #ccc;
}
/* --- MIDDLE --- */
.service_box_03 {
	width: 100%;
	height: auto;
	background-color: #e6e6e6;
	border: 1px solid #121212;
}
.service_box_03 h3 {
	font-size: 16px;
	line-height: 1;
	padding: 16px;
    background-color: #1a1a1a;
    color: #fff;
}
.service_box_text_bun {
	font-size: 14px;
	font-weight: 300;
	padding: 16px;
	margin-bottom: 0;
}
/* --- BOTTOM --- */
.service_box_bottom_left {
	width: 33.333%;
	float: left;
}
.service_box_bottom_right {
	width: 66.667%;
	
}
.service_box_04 {
	width: 100%;
	height: 100px;
	background-color: #e6e6e6;
	border-left: 1px solid #1a1a1a;
	border-bottom: 1px solid #1a1a1a;
	display: flex;
	box-sizing: border-box;
}
.service_box_04 div {
	width: 100%;
	height: 100px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.service_box_04 span {
	/*font-family: 'KelptA1-Medium';*/
	font-family: 'Gotham-Bold';
	font-size: 40px;
	color: transparent;
	/*flex: 0 auto;*/
    width: 100%;
    margin: auto;
    text-align: center;
    -webkit-text-stroke: .03em #1a1a1a;
}
.service_box_05 {
	width: 100%;
	height: 100px;
	background-color: #e6e6e6;
	
	border-bottom: 1px solid #ccc;
}
.service_box_05 .service_box_mini_top {
	display: flex;
	height: 50px;
	border-bottom: 1px solid #ccc;
}
.service_box_05 .service_box_mini_bottom {
	display: flex;
	height: 50px;
}
.service_box_05 .service_box_mini_s {
	width: 50%;
	height: 50px;
	border-left: 1px solid #ccc;
}
.service_box_06 {
	/*width: 100%;
	height: 200px;*/
	
}
.service_box_06 {
	position: relative;
    height: 200px;
	border-left: 1px solid #121212;
	border-right: 1px solid #121212;
	border-bottom: 1px solid #121212;
}
.service_box_06 img {
	width: 100%;
    height: 200px;
    object-fit: cover;
}

/* --- WORK < SP > --- */
.top_work_box_wrap {
	padding: 32px 16px;
}
.top_work_box_wrap h2 {
	font-size: 14px;
	font-weight: 300;
	letter-spacing: .06em;
	text-align: center;
	padding: 0;
}
.top_work_card {
	display: block;
}
.top_work_card_inner {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
}
.top_work_card dl {
	/*width: 46%;
	margin: 2%;
	float: left;*/
	width:calc(50% - 16px / 2);
	/*width: calc(50% - 16px);*/
	margin-right: 16px;
	margin-bottom: 16px;
}
.top_work_card dl:nth-child(2n){
	margin-right:0;
}
.top_work_card dl dd h3 {
	font-size: 12px;
	text-align: center;
}

/* --- BLOG --- */
.top_blog_box {
	background-color: #fafafa;
}
.top_h2_title_left {
	position: relative;
	padding: 48px 24px 32px;
	margin: 0;
	box-sizing: border-box;
    overflow: hidden;
	text-align: left;
	font-size: 0;
}
.top_title_univ {
	color: #333;
	padding: 0;
}
.top_h2_title_left img {
	display: inline-block;
	margin: 0;
}
.top_title_blog {
	/*font-family: 'KelptA1-Medium';*/
	font-family: 'Gotham-Bold';
	font-size: 40px;
	font-weight: 300;
	color: transparent;
	/*flex: 0 auto;*/
    width: 100%;
    margin: auto;
    /*-webkit-text-stroke: .03em #fff;*/
	color: #fff;
	display: inline-block;
	padding: 0;
	line-height: 1;
	letter-spacing: .03em;
}
.top_h2_title_left span {
	position: absolute;
	right: 24px;
}
.tbb_view a {
	color: #fff;
	font-size: 12px;
	letter-spacing: .06em;
	line-height: 1;
	padding: 8px 16px;
	margin-top: 8px;
	border: 1px solid #fff;
	/*border-radius: 20px;*/
	text-decoration: none;
	display: inline-block;
	
}
#top_itiran_blog_box {
	overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: none;
    overflow: -moz-scrollbars-none;
	padding-bottom: 32px;
}
.top_itiran_blog_box_wrap {
	width: 2720px;
    padding: 16px 0 16px 24px;
    box-sizing: border-box;
	overflow: hidden;
	display: flex;
	text-align: left;
    border-collapse: separate;  /* セルの間隔を空ける */
    border-spacing: 20px 0;  /* 左右 上下で記述 */
	/*background-image: repeating-linear-gradient(-45deg, #fff, #fff 5px, #eee 0, #eee 6px);*/
}
.top_blog_card {
	margin-right: 24px;
    width: 300px;
	display: inline-block;
    letter-spacing: 0.06em;
    vertical-align: top;
	position: relative;
	/*background-color: #fff;*/
	/*box-shadow: 0 1px 3px 0 rgba(88, 88, 88, 0.3);*/
	/*box-shadow: 0 1px 4px 0 rgba(0,0,0,0.3);*/
	/*display: table-cell;*/
    /*border-radius: 8px;*/
    box-sizing: border-box;
    position: relative;
}
.top_blog_card dt {
	position: relative;
    width: 100%;
    overflow: hidden;
    box-sizing: border-box;
    z-index: 1;
}
.top_blog_card dt img {
	/*border-radius: 8px 8px 0 0;*/
	width: 90%;
	float: right;
}
.top_blog_card dd {
	padding: 10%;
	background-color: #fff;
	/*padding-left: 170px;*/
	/*margin-top: -40%;
    padding-top: 40%;
    margin-right: 10%;*/
	padding-top: 20%;
	margin-top: -20%;
	margin-right: 10%;
    box-sizing: border-box;
    overflow: hidden;
	position: relative;
}
.top_blog_card .clearfix dd h3 {
	color: #1a1a1a;
    font-size: 14px;
    line-height: 1.8;
    /*margin: 10px 0 0 15px;*/
    font-weight: 300;
	margin-bottom: 16px;
	padding-top: 5%;
}
.top_blog_card .clearfix dd h3 a {
	color: #1a1a1a;
	text-decoration: none;
}
.top_blog_card .clearfix dd .magazine_date {
	margin-bottom: 0;
}
.blog_day {
	font-size: 14px;
	margin-right: 10px;
	display: inline-block;
}
.blog_data {
	width: 10%;
	float: left;
}
.blog_cate {
	color: #fff;
	font-size: 12px;
	font-weight: 300;
	line-height: 30px;
	display: block;
    writing-mode: vertical-lr;
}
.blog_cate span {
	position: relative;
}
/*.blog_cate::after {
	content: '';
    display: block;
    margin: 10px auto 0;
    width: 0;
    height: 30px;
    border-left: 1px solid #000;
    pointer-events: none;
}*/
.blog_cate a {
	color: #fff;
	text-decoration: none;
}

/* --- TECH < SP > --- */
.top_tech_box {
	
}
.top_h2_title_left {
	position: relative;
	padding: 48px 24px 0;
	margin: 0;
	box-sizing: border-box;
    overflow: hidden;
	text-align: left;
	font-size: 0;
}
.top_h2_title_left img {
	display: inline-block;
	margin: 0;
}
.top_title_tech {
	/*font-family: 'KelptA1-Medium';*/
	font-family: 'Gotham-Bold';
	font-size: 40px;
	font-weight: 300;
	color: transparent;
	/*flex: 0 auto;*/
    width: 100%;
    margin: auto;
    /*-webkit-text-stroke: .03em #000;*/
	color: #1a1a1a;
	display: inline-block;
	padding: 0;
	line-height: 1;
	letter-spacing: .03em;
}
.top_h2_title_left span {
	position: absolute;
	right: 24px;
}
.ttb_view a {
	color: #1a1a1a;
	font-size: 12px;
	letter-spacing: .06em;
	line-height: 1;
	padding: 8px 16px;
	margin-top: 8px;
	border: 1px solid #1a1a1a;
	/*border-radius: 20px;*/
	text-decoration: none;
	display: inline-block;
	
}
#top_itiran_tech_box {
	overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: none;
    overflow: -moz-scrollbars-none;
	padding-bottom: 32px;
}
.top_itiran_tech_box_wrap {
	width: 2720px;
    padding: 16px 0 16px 24px;
    box-sizing: border-box;
	overflow: hidden;
	display: flex;
	text-align: left;
    border-collapse: separate;  /* セルの間隔を空ける */
    border-spacing: 20px 0;  /* 左右 上下で記述 */
	/*background-image: repeating-linear-gradient(-45deg, #fff, #fff 5px, #eee 0, #eee 6px);*/
}
.top_tech_card {
	margin-right: 24px;
    width: 300px;
	display: inline-block;
    letter-spacing: 0.06em;
    vertical-align: top;
	position: relative;
	/*background-color: #fff;*/
	/*box-shadow: 0 1px 3px 0 rgba(88, 88, 88, 0.3);*/
	/*box-shadow: 0 1px 4px 0 rgba(0,0,0,0.3);*/
	/*display: table-cell;*/
    /*border-radius: 8px;*/
    box-sizing: border-box;
    position: relative;
}
.top_tech_card dt {
	position: relative;
    width: 100%;
    overflow: hidden;
    box-sizing: border-box;
    z-index: 1;
}
.top_tech_card dt img {
	/*border-radius: 8px 8px 0 0;*/
	width: 90%;
	float: right;
}
.top_tech_card dd {
	padding: 10%;
	background-color: #fff;
	/*padding-left: 170px;*/
	/*margin-top: -40%;
    padding-top: 40%;
    margin-right: 10%;*/
	padding-top: 20%;
	margin-top: -20%;
	margin-right: 10%;
    box-sizing: border-box;
    overflow: hidden;
	position: relative;
	box-shadow: 0 4px 6px rgb(0 0 0 / 8%);
}
.top_tech_card .clearfix dd h3 {
	color: #1a1a1a;
    font-size: 14px;
    line-height: 1.8;
    /*margin: 10px 0 0 15px;*/
    font-weight: 300;
	margin-bottom: 16px;
	padding-top: 5%;
}
.top_tech_card .clearfix dd h3 a {
	color: #1a1a1a;
	text-decoration: none;
}
.top_tech_card .clearfix dd .magazine_date {
	margin-bottom: 0;
}
.blog_day {
	font-size: 13px;
	margin-right: 10px;
	display: inline-block;
}
.top_tech_card .clearfix dt .blog_data {
	width: 10%;
	float: left;
}
.top_tech_card .clearfix dt .blog_cate {
	color: #1a1a1a;
	font-size: 12px;
	font-weight: 200;
	line-height: 30px;
	display: block;
    writing-mode: vertical-lr;
}
.blog_cate span {
	position: relative;
}
/*.blog_cate::after {
	content: '';
    display: block;
    margin: 10px auto 0;
    width: 0;
    height: 30px;
    border-left: 1px solid #000;
    pointer-events: none;
}*/
.top_tech_card .clearfix dt .blog_cate a {
	color: #333;
	text-decoration: none;
}

/* --- INSTAGRAM < SP > --- */
.top_instagram_box_wrap {
	background-color: #fff;
	padding: 48px 32px;
}
.top_instagram_box_wrap .top_h2_title {
	color: #fff;
	margin-bottom: 32px;
	/*color: transparent;
    -webkit-text-stroke: .03em #fff;*/
}
#sb_instagram .sbi_follow_btn a {
	margin-top: 32px!important;
}
/*.top_instagram_feed_box {
	display: flex;
}
.top_work_card dl {
	width: 46%;
	margin: 2%;
	float: left;
}
.top_work_card dl dd h3 {
	font-size: 12px;
	text-align: center;
}*/

/* ----- SECTION < SPECIALTY > ----- */
.top_specialty_box {
	padding: 32px 16px;
}
.top_specialty_box h2 {
	text-align: center;
	font-size: 13px;
	font-weight: 300;
	padding: 0;
	margin-bottom: 16px;
}
.special_box {
	padding: 16px;
	margin-bottom: 16px;
	border: 1px solid #efefef;
	text-align: center;
}
.special_box_text_title {
	text-align: center;
	font-size: 16px;
	margin-bottom: 8px;
}
.special_box h3 {
	font-size: 13px;
	font-weight: 300;
	padding: 0;
	margin: 0;
}
/* ----- SECTION < CONTACT > ----- */
.top_contact_box {
	padding: 48px 32px;
}
.top_contact_box h2 {
	color: #333;
	text-align: center;
	font-size: 14px;
	font-weight: 400;
	padding: 0;
	margin-bottom: 32px;
}
.contact_box_text {
	color: #333;
	font-size: 14px;
	padding: 0;
	margin: 0;
}
.contact_btn a {
	position: relative;
	display: block;
	color: #fff;
	font-size: 16px;
	line-height: 4;
	text-decoration: none;
	background-color: #111;
	text-align: center;
	margin: 32px auto;
	border-radius: 4px;
}
.contact_btn a:after {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 8px 8px;
    border-color: transparent transparent #dedede transparent;
    position: absolute;
    bottom: 4px;
    right: 4px;
}

/* ----- SECTION < MAP > ----- */
.top_map_box_wrap {
	font-size: 0;
}
/* ----- SECTION < FOOT > ----- */
.top_foot_box {
	padding: 32px 16px;
	background-color: #121212;
}
.foot_h2_title {
	color: #fff;
	text-align: center;
	font-size: 14px;
	margin-bottom: 16px;
}
.top_foot_box h2 {
	padding: 0;
	margin: 0;
}
.top_foot_box h2 img {
	max-height: 15px;
	padding: 0;
	margin: 16px auto;
}
.foot_box_text {
	text-align: center;
	color: #fff;
	font-size: 12px;
	padding: 16px;
	margin: 0;
}

/* ---------- ▽FOOTER▽ ---------- */
footer {
	clear: both;
	padding: 48px 32px 0;
	text-align: center;
	background-color: #111;
}
footer p , footer a {
	color: #fff;
	font-size: 14px;
	line-height: 1;
	letter-spacing: .06em;
}

/* --- FOOTER SNS <SP> --- */
.footer_sns_box {
	padding-bottom: 32px;
	margin-bottom: 32px;
	border-bottom: 1px solid #fff;
}
.footer_sns_box_inner {
	display: flex;
}
.footer_sns_box_inner p {
	letter-spacing: 0;
	margin: 0 48px 0 0;
}
.footer_sns_box_inner a {
	margin-right: 32px;
}

/* --- FOOTER SPLIT BOX <SP> --- */
.footer_split_box_inner {
	display: flex;
}
.footer_split_box_inner .footer_left ,
.footer_split_box_inner .footer_right {
	width: 50%;
	text-align: left;
}
.footer_menu_container a {
	letter-spacing: 0;
	text-decoration: none;
	line-height: 3;
}

.footer_submenu_container {
	margin-bottom: 32px;
}
.footer_submenu_container a {
	letter-spacing: 0;
	text-decoration: none;
	line-height: 1.8;
}
.footer_submenu_child_container a {
	letter-spacing: 0;
	font-size: 14px;
	position: relative;
	padding-left: 16px;
}
.footer_submenu_child_container a:before {
	position: absolute;
    top: 10px;
    left: 0;
    width: 10px;
    height: 1px;
    background-color: #fff;
    content: "";
}

.footer_link_inner {
	text-align: left;
}
.footer_link_inner a {
	font-size: 12px;
	margin-right: 32px;
}



.footer_box {
	background-color: #fff;
}
.footer_sns {
	box-sizing: border-box;
    display: block;
	background-color: #111;
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
}
.footer_sns ul {
	box-sizing: border-box;
    width: 100%;
    display: block;
    padding: 32px 0;
    overflow: hidden;
}
.footer_sns ul li {
	display: inline-block;
	padding: 0 16px;
}
.footer_sns ul li a {
	background-color: #fff;
	color: #111;
	font-size: 20px;
	line-height: 1.5;
	width: 30px;
	height: 30px;
	border-radius: 15px;
	display: block;
}
#footer .copy {
	font-size: 12px;
	color: #fff;
	line-height: 1.8;
    padding: 24px 0;
    margin: 0;
	letter-spacing: .06em;
}

.ad {
	padding-bottom: 10px;
}

/* ---------- ▽ SINGLE.PHP <SP> ▽ ---------- */
.data_box_inner {
	display: flex;
	padding: 0 16px 16px;
	font-size: 12px;
	color: #ccc;
}
.day_box ,
.view_box {
	width: 50%;
}
.view_box {
	text-align: right;
}

/* --- SNS_BOX <SP> --- */
.post_sns_box {
	margin: 24px 0;
}
.post_sns_box_inner p {
	text-align: center;
	font-weight: 600;
}
.post_sns_img {
	display: flex;
	justify-content: center;
}
.post_sns_img a {
	margin: 0 8px;
}
.post_sns_img a img {
	width: 40px;
}

/* ---------- ▽ PAGE.PHP < SP > ▽ ---------- */
.page_title_box {
	position: relative;
	display: table;
    width: 100%;
    height: 200px;
}
.page_title_box img {
	position: relative;
    width: 100%;
    height: 200px;
    object-fit: cover;
	filter: brightness(75%);
}
.page_title {
	font-family: 'EB Garamond'!important;
	position: absolute;
	top: 50%; /* 親要素を起点に上から50% */
	left: 50%;  /* 親要素を起点に左から50% */
	transform: translateY(-50%) translateX(-50%); /* 要素の大きさの半分ずつを戻す */
	-webkit-transform: translateY(-50%) translateX(-50%);
    /*top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    box-sizing: border-box;
    text-align: center;
    vertical-align: middle;*/
	color: #fff;
	font-size: 40px;
	letter-spacing: .06em;
	margin: 0;
	width: 80%;
    text-align: center;
}
.page_title {
	/*font-family: 'KelptA1-Medium';
    text-align: center;
    font-size: 40px;
	letter-spacing: 0.1em;
	color: #000;
	margin: 32px 0;*/
}
.page_h2 {
	font-family: 'EB Garamond', 'Noto Serif JP'!important;
	font-size: 20px;
	text-align: center;
	padding: 16px 0;
	margin-bottom: 16px;
	border-bottom: 0px none;
}
.page_h3 {
	font-family: 'EB Garamond', 'Noto Serif JP'!important;
	font-size: 16px;
	/*text-align: center;*/
	padding: 16px 0;
	margin-bottom: 16px;
	border-bottom: 0px none;
}
.post{
	overflow: hidden;
	margin-top: 60px;
}
.post_child {
	padding: 0 16px;
}

/* ----- ABOUT ----- */
.page_about_text {
	color: #1a1a1a;
	padding: 0 16px 16px;
	font-size: 14px;
}
.page_about_text p {
	font-size: 14px;
}
.page_table_box {
	padding: 16px;
}
.page_about_table {
	border-left: 1px solid #e6e6e6;
	border-right: 1px solid #e6e6e6;
}
/* ----- PRICE ----- */
.startup_box {
	padding: 32px;
	margin: 16px;
	border: 1px solid #efefef;
}
.page_price_text {
	color: #000;
	font-size: 13px;
	line-height: 1.8;
	padding: 32px;
	margin-bottom: 32px;
}
.head_text {
	position: relative;
	font-family: 'KelptA1-Medium';
	font-size: 24px;
	color: #000;
	padding-bottom: 16px;
	margin-bottom: 16px;
	letter-spacing: .06em;
}
.head_text:before {
	width: 64px;
    content: "";
    height: 2px;
    /*background-color: #f00;*/
	background-color: #fff004;
    display: block;
    position: absolute;
    bottom: 0;
}
.startup_h3 {
	padding: 0;
	margin-bottom: 32px;
	font-size: 13px;
}
.startup_box_text {
	color: #000;
    font-size: 13px;
    line-height: 1.8;
    padding: 0;
    margin-bottom: 32px;
}
.startup_price {
	color: #f00;
	font-size: 20px;
	font-weight: 600;
	padding: 0;
	margin-bottom: 32px;
}
.startup_price_tax {
	color: #000;
	font-size: 13px;
}
.startup_list_box {
	padding: 0;
}
.startup_list_box ul {
	padding: 0;
	margin: 0;
}
.startup_list_box ul li {
	list-style: none;
	position: relative;
	/*padding-left: 16px;*/
	font-size: 13px;
	color: #000;
}
.startup_list_box ul li:before {
	/*position: absolute;
	top: .58rem;
    left: .4rem;
	display: inline-block;
	width: 6px;
    height: 6px;
    background-color: #f00;
    border-radius: 50%;
    content: "";*/
}
.startup_table {
	/*text-align: center;
	border-left: 1px solid #efefef;
	border-right: 1px solid #efefef;*/
}
.page_site_p {
	/*font-size: 13px;
	text-align: center;
	margin-bottom: 16px;*/
}
.page_site_wrap {
	padding: 16px 0;
}
.page_site_box {
	border: 1px solid #efefef;
	padding: 32px;
	margin: 16px 16px 0;
}
.price_site_table {
	table-layout: fixed;
	border-collapse: separate!important;
	padding: 0 16px 16px;
}
.price_site_table {
	
}
.price_site_table th , .price_site_table td {
	border-right: 1px solid #efefef;
	border-bottom: 1px solid #efefef;
}
.page_site_box_h3 {
	font-size: 13px;
	padding: 0;
	margin-bottom: 32px;
}
.page_site_text {
    color: #000;
    font-size: 13px;
    line-height: 1.8;
    padding: 0;
    margin-bottom: 32px;
}
.price_site_table {
	border: none!important;
	/*margin-bottom: 0!important;*/
}
.price_site_table tr th {
	border-left: 1px solid #efefef;
	color: #000;
	font-weight: 600;
}
.price_site_table tr td {
	text-align: center;
	color: #000;
}
.page_price_h2_head {
	font-family: 'KelptA1-Medium';
	text-align: center;
	color: #666;
	font-size: 24px;
}
.price_h3 {
	padding: 16px 32px;
}
.page_price_table_box {
	padding: 0 32px;
	margin-bottom: 32px;
}
.page_price_table {
	border-left: 1px solid #efefef;
	font-size: 13px;
	display: block;
  overflow-x: scroll;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}
.page_price_table tr th {
	font-size: 13px;
	padding: 16px;
	font-weight: 600;
	text-align: left;
}
.page_price_table tr td {
	font-size: 13px;
	padding: 16px;
	border-right: 1px solid #efefef;
}

.js-scrollable td, .js-scrollable th {
	white-space: nowrap;
	background-color: transparent;
}
.js-scrollable table {
	margin-bottom: 0;
}
.js-scrollable {
	margin-bottom: 30px;
}
.page_startmoney_wrap {
	padding: 32px;
	margin: 32px;
	border: 1px solid #efefef;
}
.page_startmoney_text {
    color: #000;
    font-size: 13px;
    line-height: 1.8;
    padding: 0;
    margin-bottom: 0;
}
.page_price_caution_wrap {
	/*padding: 0;*/
	margin: 32px;
}
.price_caution {
	font-size: 13px;
	margin-bottom: 16px;
}

/* ----- SERVICE <SP> ----- */
.page_service_text {
    color: #000;
    font-size: 13px;
    line-height: 1.8;
    padding: 16px;
    margin-bottom: 16px;
}
.page_service_box {
    border: 1px solid #efefef;
    padding: 48px 24px;
    margin: 16px 16px 32px;
}
.page_service_h2 {
	/*text-align: center;*/
	font-size: 13px;
    padding: 0;
	margin-bottom: 32px;
	border-bottom: 0px none;
}
.page_service_box_text {
    color: #000;
    font-size: 13px;
    line-height: 1.8;
    padding: 0;
    margin-bottom: 0;
}

/* ----- FLOW <SP> ----- */
.page_flow_text {
    color: #000;
    font-size: 13px;
    line-height: 1.8;
    padding: 16px;
    margin-bottom: 16px;
}
.page_flow_box {
    border: 1px solid #efefef;
    padding: 32px;
    margin: 16px 16px 32px;
}
.page_flow_h3 {
	/*text-align: center;*/
	font-size: 13px;
    padding: 0;
	margin-bottom: 32px;
	border-bottom: 0px none;
}
.page_flow_box_text {
    color: #000;
    font-size: 13px;
    line-height: 1.8;
    padding: 0;
    margin-bottom: 0;
}

/* --- CONTACT <SP> --- */
.archive_contact_form_box {
	padding: 48px 24px;
	box-sizing: border-box;
    overflow: hidden;
}
.contact_table {
	border-style: none!important;
	width: 100%;
}
.contact_table, .contact_table tr, .contact_table tr th, .contact_table tr td {
    box-sizing: border-box;
    overflow: hidden;
}
.contact_table tr {
	margin-bottom: 0;
	display: block;
	border-top: 0px none;
}
.contact_table tr:last-child {
	border-bottom: 0px none;
}
.contact_table tr th .required {
    font-size: 16px;
    color: #f00;
    margin-left: 8px;
}
.contact_table tr th {
	color: #000;
    width: 100%;
    display: block;
    /*float: left;*/
    /*white-space: nowrap;*/
    font-size: 13px;
    font-weight: 600;
    padding: 16px 0 0;
    text-align: left;
	border-right: 0px none;
    /*border-left: 1px solid #eee;*/
}
.contact_table tr th p {
	color: #f00;
    /*width: 100%;*/
    display: block;
    /*float: left;*/
    /*white-space: nowrap;*/
    font-size: 10px;
    font-weight: 500;
    padding: 10px 0 0;
	margin: 0;
    text-align: left;
    /*border-left: 1px solid #eee;*/
}
.contact_table tr td {
	border-right: 0px none;
    /*width: 100%;
    display: block;*/
}
.contact_table tr .sp2 textarea {
    /*border: 1px solid #eee;
    border-radius: none;
    width: 100%;
    padding: 10px;*/
}
.contact_table .sp2 input {
    /*-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;*/
    border-radius: none;
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
}
.contact_table tr td .label_box input ,
.contact_table tr td .label_box textarea {
    /*ebkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0;*/
    width: 100%;
    padding: 16px;
    box-sizing: border-box;
    /*rder: 1px solid #e7eae7!important;*/
	color: #000;
}

.label_box input {
	-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0!important;
	border: 1px solid #efefef;
	width: 100%;
}
.label_box textarea {
	-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0!important;
	border: 1px solid #efefef;
	width: 100%;
}
.check_box input {
	/*clear: both;*/
	/*-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 20px;
	height: 20px;*/
	/*padding: 0;*/
	/*border-radius: 0;*/
	display: inline-block;
	border: 1px solid #000;
	color: #000;
	/*background-color: #fff;*/
}

/* Checkbox */
.check_box input[type=checkbox] {
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    -o-appearance: none;
    appearance: none;
    position: relative;
    right: 0;
    bottom: 0;
    left: 0;
    height: 20px;
    width: 20px;
    vertical-align: middle;
    transition:all .15s ease-out 0s;
    color: #000;
    cursor: pointer;
    display: inline-block;
    margin: 0;
    outline: none;
    border-radius: 0;
	/*border: 1px solid #000;*/
}
.check_box input[type=checkbox]:before,.check_box input[type=checkbox]:after {
    position: absolute;
    content: "";
    background: #000;
    transition: all .2s ease-in-out;
}
.check_box input[type=checkbox]:before {
    left: 2px;
    top: 6px;
    width: 0;
    height: 2px;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
}
.check_box input[type=checkbox]:after {
    right: 9px;
    bottom: 3px;
    width: 2px;
    height: 0;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transition-delay: .2s;
}
.check_box input[type=checkbox]:checked:before {
    left: 2px;
    top: 11px;
    width: 6px;
    height: 2px;
}
.check_box input[type=checkbox]:checked:after {
    right: 6px;
    bottom: 2px;
    width: 2px;
    height: 14px;
}
.check_box input[type=checkbox]:indeterminate:before,.check_box input[type=checkbox]:indeterminate:after {
    width: 7px;
    height: 2px;
    transform: rotate(0);
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
}
.check_box input[type=checkbox]:indeterminate:before {
    left: 1px;
    top: 7px;
}
.check_box input[type=checkbox]:indeterminate:after {
    right: 1px;
    bottom: 7px;
}
.wpcf7-list-item-label {
	vertical-align: middle;
}


.contact_table .label_select {
	position: relative;
}
.contact_table .label_select::before {
	content: "\f0d7";
	font-family: FontAwesome;
	position: absolute;
	right: 16px;
	z-index: 1;
	line-height: 53px;
	font-size: 20px;
}
.contact_table .label_select select, .contact_table .label_select input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    color: #000!important;
	/*background-color: #fff;
    background-image: url('./images/under_arrow.png');*/
	background-repeat: no-repeat;
	background-position: 10px 50%;
	background-color: #fff;
    background-size: 10px 8px;
    border-radius: none!important;
    border: 1px solid #e7eae7!important;
    padding: 16px 32px 16px 16px!important;
    box-sizing: border-box;
    line-height: 1.5;
    width: 100%;
}
.contact_table input, .contact_table textarea {
	/*width: 100%;
	border-style: none;*/
}
.contact_table tr td {
    width: 100%;
	padding: 16px 0;
    display: block;
    line-height: 1;
	color: #000;
}
.wpcf7-select {
	width: 100%;
}
.cf7_submit {
    text-align: center;
	margin-bottom: 48px;
}
.cf7_submit input[type="submit"] {
    width: 100%;
    background-color: #000;
    border-style: none;
    color: #fff;
    /*border-radius: 3px;*/
    font-size: 13px;
    font-weight: 600;
    line-height: 4;
    -webkit-appearance: none!important;
    appearance: none!important;
	letter-spacing: 0.1em;
}
div.wpcf7 .ajax-loader {
	display: block!important;
}


/* ----- PAGE LINK BTN ----- */
.page_foot_link_box {
	padding:  32px 16px;
	margin-bottom: 16px;
	box-sizing: border-box;
    overflow: hidden;
}
.page_foot_link {
	position: relative;
	margin-bottom: 16px;
}
.page_foot_link a::after {
	position: absolute;
	top: 50%;
	right: 32px;
	transform: translateY(-50%);
	font-family: "FontAwesome";
	/*font-weight: 900;*/
	content: "\f105";
	color: #fff;
}
.page_foot_link a {
	background-color: #000;
	color: #fff;
	font-size: 13px;
	text-decoration: none;
	display: block;
	padding: 16px 0;
    margin: 0 auto;
	text-align: center;
}

.day_box_inner {
	padding: 16px;
}
.day_box_inner p {
	font-size: 13px;
	margin: 0;
}

/* ----- FOOTER < CONTACT > ----- */
.footer_contact_box {
	padding: 32px 16px 16px;
	border-top: 1px solid #efefef;
}
.footer_contact_box_text {
	font-size: 13px;
	padding: 0 16px;
	margin: 0;
}
.footer_contact_btn a {
	display: block;
	color: #333;
	font-size: 13px;
	text-decoration: none;
	border: 1px solid #efefef;
	text-align: center;
	/*width: 80%;*/
	padding: 16px 0;
	margin: 32px auto 16px; 
}

.buttons-coll {
  width: 90%;
  margin: 50px auto;
  text-align: center;
}
button {
  margin: 20px;
}
.custom-btn {
  padding: 10px 25px;
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  background: transparent;
  outline: none !important;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  display: inline-block;
}
/**** BTN No. 5 ****/
.btn-5 {
  width: 50%;
  height: 48px;
  line-height: 50px;
  padding: 0;
  border: none;
}
.btn-5 span {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}
.btn-5 span a {
	display: block;
	color: #333;
	font-size: 13px;
	text-decoration: none;
	text-align: center;
	/*width: 80%;*/
}
.btn-5:before,
.btn-5:after {
  position: absolute;
  content: "";
  right: 0;
  bottom: 0;
  background: #333;
  transition: all 0.3s ease;
}
.btn-5:before {
  height: 50%;
  width: 1px;
}
.btn-5:after {
  width: 20%;
  height: 1px;
}
.btn-5:hover:before {
  height: 100%;
}
.btn-5:hover:after {
  width: 100%;
}
.btn-5 span:before,
.btn-5 span:after {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  background: #333;
  transition: all 0.3s ease;
}
.btn-5 span:before {
  width: 1px;
  height: 50%;
}
.btn-5 span:after {
  width: 20%;
  height: 1px;
}
.btn-5 span:hover:before {
  height: 100%;
}
.btn-5 span:hover:after {
  width: 100%;
}


/*media Queries タブレットサイズ
----------------------------------------------------*/
@media only screen and (max-width: 780px) {
#side aside {
	clear: both;
	float: none;
	width: auto;
	position: static !important;
	;
}
}
/*media Queries タブレットサイズ
----------------------------------------------------*/
@media only screen and (min-width: 750px) {
#wrapper {
	padding: 0;
}
header {
	text-align: left;
}
.sitename img {
	max-height: 30px;
	margin: 35px 0;
}
main {
	background-color: #fff;
	padding: 0;
}
/*--------------------------------
一覧記事表示部分
---------------------------------*/
#topnews dt {
	float: left;
	width: 150px;
}
#topnews dt img {
	width: 100%;
}
#topnews dd {
	padding-left: 170px;
}
#topnews .clearfix dd h5 {
	font-size: 24px;
	font-weight: bold;
	padding: 0px;
	margin-bottom: 5px;
}
#topnews .clearfix dd p {
	font-size: 13px;
	color: #666;
	line-height: 24px;
	margin: 0px;
	padding: 0px;
}
#topnews .clearfix dd h5 a {
	color: #333;
	text-decoration: none;
}

/* --- ITIRAN_CARD <SP> --- */
#itiran_card {
	display: flex;
	flex-wrap: wrap;
    justify-content: space-between;
	padding: 0;
	margin: 32px;
}
#itiran_card dl {
	flex-basis: calc((100% - 32px) / 2);
    max-width: calc((100% - 32px) / 2);
	padding: 0;
	/*margin: 16px 16px 24px;*/
}
.side_box_l {
	display: flex;
	margin: 32px;
}
.side_box_s {
	width: 50%;
}
.side_box_s ul li img {
	margin: 0 auto;
}



/*-- ここまで --*/
}

/*media Queries PCサイズ
----------------------------------------------------*/
@media only screen and (min-width: 780px) {
.smanone {
	display: block;
}
.pcnone {
	display: none;
}
#wrapper {
	padding: 0;
}
.wrapper_inner {
	position: relative;
	z-index: 10;
	width: 480px;
	height: 100%;
	margin: 48px auto;
    box-shadow: 0px 0px 20px #eee;
    border-radius: 32px;
	overflow: hidden;
}
.pc_par_box {
	position: fixed;
}
#header {
	position: relative;
	padding: 0;
}
.header_inner {
	width: 1080px;
	height: 100px;
	margin: 0 auto;
}
.logo_box {
	display: inline-block;
}
nav {
	display: block;
	padding: 10px 0;
}
#contentInner {
	float: left;
	width: 100%;
	margin-right: -300px;
}
.post_wrap {
	display: flex;
    max-width: 1200px;
    margin: 0 auto;
}
main {
	width: 1200px;
	margin: 0 auto;
	background-color: #fff;
	padding: 0;
}
.top_main {
	width: 100%;
}
.post_main {
	margin-right: 64px;
}


/* ---------- ▽ TOP PAGE < PC > ▽ ---------- */
.section_block {
	box-sizing: border-box;
	overflow: hidden;
}
/* ----- ALL SETTING ----- */
.section_block h2 {
	border-bottom: 0px none;
}
.top_h2_title {
	text-align: center;
	font-size: 32px;
	margin-bottom: 32px;
}
.top_link_btn {
	box-sizing: border-box;
	overflow: hidden;
}
.top_link_btn a {
	display: block;
	color: #333;
	font-size: 16px;
	text-decoration: none;
	border: 1px solid #efefef;
	text-align: center;
	width: 50%;
	padding: 16px 0;
	margin: 64px auto;
	box-sizing: border-box;
	overflow: hidden;
}
/* ----- SECTION < IMG > ----- */
.top_img_box_wrap img {
	padding: 64px;
}

/* ----- SECTION < ABOUT > ----- */
.top_about_box {
    padding: 64px;
}
.top_about_box h2 {
	text-align: center;
	font-size: 20px;
	font-weight: 300;
	padding: 0;
	margin-bottom: 32px;
}
.top_about_box .top_about_text {
	font-size: 16px;
	padding: 32px;
	margin: 0;
}

/* ----- SECTION < GOOD AT > ----- */
.top_goodat_box {
	padding: 64px;
}
.top_goodat_box h2 {
	text-align: center;
	font-size: 20px;
	font-weight: 300;
	padding: 0;
	margin-bottom: 32px;
}
.top_goodat_box li {
	list-style: none;
	font-size: 16px;
	padding: 32px;
	margin: 0;
	text-align: center;
	
}

/* ----- SECTION < SERVICE > ----- */
.top_service_box {
	padding: 0;
}
.top_service_box h2 {
	text-align: left;
	font-size: 20px;
	font-weight: 300;
	padding: 0 0 0 64px;
	margin-bottom: 32px;
}
.top_service_box .top_service_text {
	font-size: 16px;
	padding: 64px;
	margin: 0;
}
.service_box {
	border: 1px solid #efefef;
	padding: 32px;
	margin: 0;
	width: 50%;
    float: left;
    box-sizing: border-box;
}
.service_box_text_title {
	text-align: center;
	font-size: 16px;
}
.service_box_text_bun {
	font-size: 13px;
	margin-bottom: 16px;
}

/* ----- SECTION < SPECIALTY > ----- */
.top_specialty_box {
	padding: 64px;
}
.top_specialty_box h2 {
	text-align: center;
	font-size: 20px;
	font-weight: 300;
	padding: 0;
	margin-bottom: 32px;
}
.special_box {
	width: 23%;
	float: left;
	padding: 16px;
	margin: 0 1%;
	border: 1px solid #efefef;
	text-align: center;
}
.special_box_text_title {
	text-align: center;
	font-size: 16px;
	margin-bottom: 8px;
}
.special_box h3 {
	font-size: 13px;
	font-weight: 300;
	padding: 0;
	margin: 0;
}
/* ----- SECTION < CONTACT > ----- */
.top_contact_box {
	padding: 32px 16px;
}
.top_contact_box h2 {
	text-align: center;
	font-size: 13px;
	font-weight: 300;
	padding: 0;
	margin-bottom: 16px;
}
.contact_box_text {
	font-size: 13px;
	padding: 16px;
	margin: 0;
}
.contact_btn a {
	display: block;
	color: #333;
	font-size: 13px;
	text-decoration: none;
	border: 1px solid #efefef;
	text-align: center;
	/*width: 80%;*/
	padding: 8px 0;
	margin: 32px auto; 
}







#side aside {
	float: right;
	width: 330px;
	padding: 0px;
}
/*IEで要素がズレるのを対応*/
.ie7 aside ul li, .ie8 aside ul li, .ie9 aside ul li {
	display: list-item;
	padding: 0;
}
/*--------------------------------
各フォント設定
---------------------------------*/
p {
	font-size: 16px;
	line-height: 1.8;
	margin-bottom: 20px;
}
/*記事タイトル*/
.entry-title {
	font-size: 24px;
	line-height: 1.8;
	color: #333;
	margin-bottom: 5px;
}
.entry-title a:hover {
	text-decoration: underline;
}
/*中見出し*/
h2 {
	position: relative;
	color: #333;
	font-size: 20px;
	line-height: 1.8;
	margin-bottom: 20px;
	padding: 30px;
}

/*小見出し*/
.post h3 {
	font-size: 18px;
	margin-bottom: 20px;
	margin-top: 10px;
	padding: 30px;
	color: #333;
	line-height: 1.8;
}
/*リスト */
.post ul {
	list-style-type: disc;
	padding: 20px;
	margin-bottom: 10px;
}
.post ul li {
	font-size: 14px;
	line-height: 1.8;
}
.post ol {
	list-style-type: decimal;
	padding: 20px;
	margin-bottom: 10px;
}

.post ol li {
	font-size: 14px;
	line-height: 1.8;
}
/*--------------------------------
ページャー
---------------------------------*/
.pagination {
	clear: both;
	position: relative;
	font-size: 11px;
	line-height: 13px;
	margin-bottom: 20px;
	padding-top: 20px;
	padding-right: 0;
	padding-bottom: 20px;
	padding-left: 0;
}
.pagination span, .pagination a {
	display: block;
	float: left;
	margin: 2px 2px 2px 0;
	padding: 6px 9px 5px 9px;
	text-decoration: none;
	width: auto;
	color: #fff;
	background-color: #999;
}
.pagination a:hover {
	color: #fff;
	background-color: #666;
}
.pagination .current {
	padding: 6px 9px 5px 9px;
	color: #fff;
	background-color: #CCC;
}
/*-- ここまで --*/
}