@charset "utf-8";

:root {
	--color-pink: #EC7AAC;
	--color-green: #6FBB50;
	--color-blue: #007ECA;
	--color-red: #e60b11;
	--color-orange: #f29b00;
	--color-yellow: #FFE600;
	--color-purple: #CE7BCF;
	--color-purple01: #CDAEDA;
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-style:normal;
    font-weight: normal;
	font-size: 100%;
	vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, main {
	display: block;
}

html{
    overflow-y: scroll;
	scroll-padding-top: 72px;
}

body {
	position: relative;
	overflow: hidden;
	line-height: 2em;
	min-width: 320px;
	background: #FFF;
	color: #161616;
	font-size: 100%;
	font-family:"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

input, textarea {
	margin: 0;
	padding: 0;
}

ol, ul{
	padding-left: 1.5em;
}

p {
	margin-bottom: 1em;
}

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

caption, th{
    text-align: left;
}

strong {
	font-weight: bold;
}

a {
	color: #144E97;
	text-decoration: none;
}
a:hover {
	color: #5E8ECA;
	opacity: 0.7;
}

.mq_hide {
	font-weight: inherit;
}

.icon_arrow-circle,
.icon_arrow-circle-yellow {
	position: relative;
	padding-top: .1em;
	padding-left: 1.7em!important;
}
	.icon_arrow-circle::before,
	.icon_arrow-circle-yellow::before {
		content: "";
		display: inline-block;
		position: absolute;
		left: 0;
		top: 0;
		width: 1.16em;
		height: 1.16em;
		background: url("img/icon_arrow-circle.png") left top no-repeat;
		background-size: 100% 100%;
	}
	.icon_arrow-circle-yellow::before {
		background-image: url("img/icon_arrow-circle-yellow.png");
	}
	.icon_arrow-circle small,
	.icon_arrow-circle-yellow small {
		margin-left: 1em;
		font-weight: bold;
	}

a img {
	vertical-align: bottom;
}

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

.link_arrow {
	display: inline-block;
	position: relative;
	padding-left: 16px;
}
	.link_arrow::before {
		content: "";
		position: absolute;
		top: 0.5em; left: 0;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 3.5px 0 3.5px 8px;
		border-color: transparent transparent transparent #f4a940;
		transition: all 0.2s ease-out 0ms;
	}
		.link_arrow:hover::before {
			left: 4px;
		}

.btn_black {
	display: inline-block;
	position: relative;
	overflow: hidden;
	box-sizing: border-box;
	padding: .8em 6.1em;
	border-radius: 1.7em;
	background: #000;
	color: #FFF!important;
	font-size: 125%;
}
	.btn_black span.link_txt {
		position: relative;
		z-index: 5;
		font-weight: bold;
	}
	.btn_black span.circle {
		display: block;
		position: absolute;
		z-index: 1;
		width: 0;
		height: 0;
		border-radius: 50%;
		background-color: #999;
		transition: width 0.4s ease-in-out, height 0.4s ease-in-out;
		transform: translate(-50%, -50%);
	}
.btn_black:hover {
	opacity: 1;
}
	.btn_black:hover span.circle {
		width: 225%;
		height: 562.5px;
	}

.btn_black_2 {
	display: inline-block;
	padding: .1em 1em;
	border: 1px #707070 solid;
	border-radius: 1.5em;
	background: #000;
	color: #FFF;
	font-weight: bold;
	text-align: center;
}

.arrow_right {
	display: inline-block;
	position: relative;
	line-height: 1;
	padding: .1em 1.8em .1em 0;
	color: #161616!important;
	font-weight: bold;
	font-size: 131.2%;
}
	.arrow_right::before {
		content: "";
		display: inline-block;
		position: absolute;
		top: 0; right: .3em;
		width: 1.2em;
		height: 1.2em;
		background: url("img/icon_arrow_right-circle.png") center center no-repeat;
		background-size: cover;
		transition: all .4s;
	}
.arrow_right.black {
	color: #515151!important;
}
	.arrow_right.black::before {
		background-image: url("img/icon_arrow_right-circle_b.png");
	}
.arrow_right:hover {
	opacity: 1;
}
	.arrow_right:hover::before {
		right: 0;
	}

.btn_arrow_right {
	display: inline-block;
	line-height: 1.3;
	border: 1px #707070 solid;
	box-sizing: border-box;
	min-width: 264px;
	padding: 1.53em 1em;
	color: inherit!important;
	font-size: 125%;
	text-align: center;
}
	.btn_arrow_right .link_txt {
		display: inline-block;
		padding: 0 37px;
		background: url("img/icon_arrow_right-circle_b.png") left center no-repeat;
		background-size: 22px auto;
		font-weight: bold;
		transition: all .4s;
	}
.btn_arrow_right:hover {
	opacity: 1;
}
	.btn_arrow_right:hover .link_txt {
		background-position: 8px center;
	}

.arrow_right_black {
	display: inline-block;
	position: relative;
	line-height: 1;
	padding: .1em 1.8em .1em 0;
	color: #161616!important;
	font-weight: bold;
}
	.arrow_right_black::before {
		content: "";
		display: inline-block;
		position: absolute;
		top: 0em; right: .3em;
		width: 1.1em;
		height: 1.1em;
		background: url("img/icon_arrow_right-black.png") center center no-repeat;
		background-size: cover;
		transition: .4s all;
	}
.arrow_right_black:hover {
	opacity: 1;
}
	.arrow_right_black:hover::before {
		right: 0;
	}
	.arrow_right_black.orange::before {
		background-image: url("img/icon_arrow_right-circle_orange.png");
	}
	.arrow_right_black.blue::before {
		background-image: url("img/icon_arrow_right-circle_blue.png");
	}
	.arrow_right_black.green::before {
		background-image: url("img/icon_arrow_right-circle_green.png");
	}
	.arrow_right_black.gray::before {
		background-image: url("img/icon_arrow_right-circle_gray.png");
	}
	.arrow_right_black.pink::before {
		background-image: url("img/icon_arrow_right-circle_pink.png");
	}

#topic_pass {
	font-size: 0.9em;
}
	#topic_pass ul {
		list-style: none;
		box-sizing: border-box;
		max-width: 1280px;
		margin:0 auto;
		padding: 18px 24px 0px;
	}
		#topic_pass li {
			display: inline-block;
			vertical-align: middle;
		}
			#topic_pass li a {
				color: inherit;
			}
		#topic_pass li + li {
			position: relative;
			padding-left: 16px;
		}
			#topic_pass li + li::before {
				content: '';
				position: absolute;
				top: 0; bottom: 0; left: 3px;
				display: inline-block;
				width: 4px;
				height: 4px;
				vertical-align: middle;
				margin: auto;
				border-top: 2px solid #000;
				border-right: 2px solid #000;
				-webkit-transform: rotate(45deg);
				transform: rotate(45deg);
			}

.sub_menu_head {
	max-width: 1280px;
	margin: 24px auto 0px;
}
	.sub_menu_head ul {
		display: flex;
		list-style: none;
		line-height: 1.3;
		padding: 6px 0;
		border: 1px #707070 solid;
		border-right: none;
		border-left: none;
	}
		.sub_menu_head ul li {
			margin: 0 4%;
		}
			.sub_menu_head ul li a {
				line-height: 1.5;
				color: inherit!important;
				font-weight: bold;
				font-size: 125%;
			}

.sub_menu_btn {
	margin: 82px 0 0;
	text-align: center;
}
	.sub_menu_btn ul {
		letter-spacing: -.4em;
	}
		.sub_menu_btn li {
			display: inline-block;
			letter-spacing: normal;
			margin: 16px 33.5px;
		}

.word_wrap {
	display: inline-block;
	font-weight: inherit;
}

small {
	font-size: 0.8em;
}

.l_t {
	font-size: 120%;
}

.left_img {

	float: left;
	margin: 0 16px 16px;
}
.right_img {
	float: right;
	margin: 0 16px 16px;
}
.shadow_img {
	box-shadow: 2px 2px 1px #888;
}
.al_right {
	display: block;
	margin-top: 8px;
	text-align: right;
}
.al_center {
	text-align: center;
}
.mt0 {
	margin-top: 0!important;
}
.mt1 {
	margin-top: 8px!important;
}
.mt2 {
	margin-top: 16px!important;
}
.mt3 {
	margin-top: 24px!important;
}
.mt4 {
	margin-top: 32px!important;
}
.mt5 {
	margin-top: 40px!important;
}
.mt6 {
	margin-top: 48px!important;
}
.mt7 {
	margin-top: 56px!important;
}
.mt8 {
	margin-top: 64px!important;
}
.mt9 {
	margin-top: 72px!important;
}
.mt10 {
	margin-top: 80px!important;
}
.mb0 {
	margin-bottom: 0px!important;
}
.mb1 {
	margin-bottom: 8px!important;
}
.mb2 {
	margin-bottom: 16px!important;
}
.mb3 {
	margin-bottom: 24px!important;
}
.mb4 {
	margin-bottom: 32px!important;
}
.mb5 {
	margin-bottom: 40px!important;
}
.mb6 {
	margin-bottom: 48px!important;
}
.mb7 {
	margin-bottom: 56px!important;
}
.mb8 {
	margin-bottom: 64px!important;
}
.mb9 {
	margin-bottom: 72px!important;
}
.mb10 {
	margin-bottom: 80px!important;
}
.pl0 {
	padding-left: 0!important;
}
.pl1 {
	padding-left: 8px!important;
}
.pl2 {
	padding-left: 16px!important;
}
.pl3 {
	padding-left: 24px!important;
}

.sup,
.sup img {
	vertical-align: top;
}
.hide {
	position: relative;
	width: 1px;
	height: 1px;
	line-height: 1px;
	overflow: hidden;
}
	.hide span {
		position: absolute;
		display: block;
		top: -5px; left: -5px;
		width: 1px;
		height: 1px;
	}
.pagetop {
	right: 8px;
	z-index: 10000;
	display: block;
	width: 110px;
	height: 45px;
}
	.pagetop a {
		display: flex;
		align-items: center;
		justify-content: center;
		height: 45px;
	}

.clearfix::after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.clearfix {
	min-height: 1px;
}
* html .clearfix {
	height: 1px;
	/*\*//*/
	height: auto;
	overflow: hidden;
	/**/
}
.clear {
	clear:both;
}

.youtube {
	position: relative;
	max-width: 560px;
	height: 0;
	padding-top: 56%;
}
	.youtube iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}

h2 {
	margin: 3em 0 2em;
	padding: 0 .2em .3em;
	border-bottom: 14px #FFE600 solid;
	font-weight: bold;
	font-size: 150%;
}
h3 {
	margin: 2em 0 1em;
	font-size: 130%;
}

.large_txt {
	font-weight: bold;
	font-size: 187.5%;
}

.border_ttl {
	line-height: 1;
	padding: 0 0 .35em;
	border-bottom: 1px #707070 solid;
	font-size: 200%;
}
	.border_ttl strong {
		color: #171717;
		font-weight: bold;
	}
	.border_ttl small {
		display: inline-block;
		position: relative;
		line-height: 1;
		vertical-align: top;
		margin-left: 1em;
		padding-bottom: 7px;
		color: #707070;
		font-weight: bold;
		font-size: 75%;
	}
	.border_ttl small::after {
			content: "";
			display: block;
			position: absolute;
			left: 0;
			bottom: 0;
			width: 100%;
			height: 7px;
			background: #FFE600;
	}
	.border_ttl_red {
		line-height: 1;
		padding: 0 0 .35em;
		border-bottom: 1px #707070 solid;
		font-size: 200%;
}
	.border_ttl_red strong {
		color: #171717;
		font-weight: bold;
	}
	.border_ttl_red small {
		display: inline-block;
		position: relative;
		line-height: 1;
		vertical-align: top;
		margin-left: 1em;
		padding-bottom: 7px;
		color: #707070;
		font-weight: bold;
		font-size: 75%;
	}
	.border_ttl_red small::after {
			content: "";
			display: block;
			position: absolute;
			left: 0;
			bottom: 0;
			width: 100%;
			height: 7px;
			background: #EB3442;
		}
.border_ttl_2 {
	margin: 0;
	padding: 0 0 20px;
	border: none;
	font-size: 231%;
	text-align: center;
}
	.border_ttl_2 small.inner {
		font-size: 59%;
	}
	.border_ttl_2 .txt {
		display: inline-block;
		position: relative;
		padding-bottom: 10px;
		line-height: 1.5;
		font-weight: bold;
	}
		.border_ttl_2 .txt::after {
			content: "";
			display: block;
			position: absolute;
			left: 0;
			right: 0;
			bottom: 0;
			width: 100%;
			height: 15px;
			background: #FFE600;
		}
		.border_ttl_2.orange .txt::after {
			background: var(--color-orange);
		}
		.border_ttl_2.pink .txt::after {
			background: var(--color-pink);
		}
		.border_ttl_2.green .txt::after {
			background: var(--color-green);
		}
		.border_ttl_2.blue .txt::after {
			background: var(--color-blue);
		}
		.border_ttl_2.purple .txt::after {
			background: var(--color-purple);
		}
		.border_ttl_2.red .txt::after {
			background:#EB3442;
		}
	.border_ttl_2.wide .txt {
		padding-right: 1.7em;
		padding-left: 1.7em;
	}
.border_ttl_2.gray {
	font-size: 125%;
}
	.border_ttl_2.gray .txt {
		padding: 0 .7em 12px;
	}
		.border_ttl_2.gray .txt::after {
			height: 7px;
			background: #848484;
		}
.border_ttl_2.-ec {
	display: flex;
	justify-content: center;
	text-align: left;
}
.border_ttl_2.-ec .note {
	font-size: 16px;
	text-align: right;
}
.border_ttl_3 {
	position: relative;
	margin: 48px 0 20px;
	padding: 0 0 13px;
	border: none;
	font-weight: bold;
	font-size: 162.5%;
}
	.border_ttl_3::after {
		content: "";
		display: block;
		position: absolute;
		left: 0;
		bottom: 0;
		width: 95px;
		height: 13px;
		background: #FFE600;
	}

.smpl_ttl {
	margin: 0;
	padding: 0;
	border: none;
	font-weight: bold;
	font-size: 137.5%;
	text-align: center;
}
.smpl_border_ttl {
	margin: 82px 0 24px;
	padding: 0 0 8px;
	border-bottom: 4px #707070 solid;
	font-weight: bold;
	font-size: 200%;
}
.smpl_border_ttl_2 {
	margin: 0 0 33px;
	padding: 0 0 .5em;
	border-bottom: 1px #707070 solid;
	font-weight: bold;
	font-size: 200%;
	line-height: 130%;
}

.ttl_with_sub {
	border: none;
	font-weight: bold;
	font-size: 193.7%;
	text-align: center;
}
	.ttl_with_sub .inner {
		display: inline-block;
		font-weight: bold;
	}
		.ttl_with_sub .inner .sub {
			display: inline-block;
			position: relative;
			width: 100%;
			margin-bottom: 24px;
		}
			.ttl_with_sub .inner .sub small {
				display: inline-block;
				padding: 0 .5em;
				background: #FFF;
				font-weight: normal;
				font-size: 74%;
			}
		.ttl_with_sub .inner .sub::before {
			content:"";
			display: block;
			position: absolute;
			top: 50%;
			left: 0;
			z-index: -1;
			width: 100%;
			height: 1px;
			background: #707070;
		}

.ttl_yellow_line {
	position: relative;
	margin: 55.9px 0 62px;
	padding: .9em 0 .8em;
	background: #FFE600;
	font-weight: bold;
	font-size: 143.7%;
	text-align: center;
}
	.ttl_yellow_line::before {
		content: "";
		display: block;
		position: absolute;
		top: 100%;
		left: 0; right: 0;
		width: 0;
		height: 0;
		margin: auto;
		border-style: solid;
		border-width: 18px 8.5px 0 8.5px;
		border-color: #ffe600 transparent transparent transparent;
	}

.bubble_ttl {
	margin: 130px 0 66px;
	padding: 0;
	border: none;
	line-height: 1.5;
	font-size: 231%;
	text-align: center;
}
.bubble_ttl .inner_wrap {
	display: inline-block;
	position: relative;
	padding: 0 127px 0 110px;
}
	.bubble_ttl .inner_wrap::before {
		content: "";
		display: block;
		position: absolute;
		left: 8px;
		top: 15px;
		width: 37px;
		height: 37px;
		border-radius: 50%;
		background: rgb(93,171,55);
		background: linear-gradient(90deg, rgba(93,171,55,1) 0%, rgba(107,177,47,1) 9%, rgba(140,190,30,1) 23%, rgba(166,201,17,1) 41%, rgba(185,208,7,1) 58%, rgba(196,213,1,1) 76%, rgba(200,215,0,1) 100%);
	}
	.bubble_ttl .inner {
		display: inline-block;
		position: relative;
		font-weight: bold;
	}
		.bubble_ttl .inner::before {
			content: "";
			display: block;
			position: absolute;
			right: -49px;
			top: 52px;
			width: 23px;
			height: 23px;
			border-radius: 50%;
			background: rgb(242,143,0);
			background: linear-gradient(90deg, rgba(242,143,0,1) 0%, rgba(230,1,18,1) 100%);
		}
		.bubble_ttl .inner::after {
			content: "";
			display: block;
			position: absolute;
			left: 0;
			bottom: 0;
			z-index: -1;
			width: 100%;
			height: 23px;
			background: #FFE600;
		}
	.bubble_ttl .inner_wrap::after {
		content: "";
		display: block;
		position: absolute;
		top: -16px;
		right: 8px;
		width: 56px;
		height: 56px;
		border-radius: 50%;
		background: rgb(250,222,235);
		background: linear-gradient(90deg, rgba(250,222,235,1) 0%, rgba(229,0,73,1) 100%);
	}

.wrapper {
	box-sizing: border-box;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 66px;
	overflow: hidden;
}
.wrapper.slide_wide {
	max-width: 1312px;
}

#header .wrapper {
	display: flex;
	justify-content: space-between;
	position: fixed;
	top: 32px;
	left: 0;
	right: 0;
	z-index: 100;
	width: calc(100% - 20px);
	max-width: 1280px;
	overflow: hidden;
	margin: auto;
	padding: 16px 38px 24px;
	background: rgba(255, 255, 255, 0.9);
	border-radius: 8px;
}
	#site_name {
		width: 100%;
		max-width: 416px;
		margin: 0;
	}
		#site_name a:hover {
			opacity: 1;
		}
#header .wrapper.hover {
	background: rgba(255, 255, 255, 1);
	padding-bottom: 16px;
	box-shadow: 0px 1px 5px -3px #000000;
}
#header .wrapper.hover .sub_menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	list-style: none;
	gap: 5px 20px;
	padding: 0;
	width: 100%;
}
#header .wrapper.hover .sub_menu a {
	padding-top: 0;
}

#global {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	position: relative;
	width: calc(100% - 416px);
}
	#menu_open {
		display: none;
	}
	#global .main_menu {
		display: flex;
		justify-content: right;
		list-style: none;
		width: calc(100% - 236px);
		margin: 0;
		padding: 0;
	}
		#global .main_menu > li {
			margin: 12px 3% 0;
			text-align: center;
		}
			#global .main_menu > li a {
				display: inline-block;
				vertical-align: middle;
				color: inherit;
				font-weight: bold;
			}
				#global .main_menu > li a .inner {
					font-weight: bold;
				}
				#global .main_menu > li a .eng {
					display: none;
				}
			#global .sub_menu {
				display: none;
			}
	#global .address {
		display: flex;
		justify-content: space-between;
		position: absolute;
		right: 0;
		bottom: 0;
		list-style: none;
		width: 200px;
		height: calc(100% - 14px);
		margin: 0;
		padding: 7px 0 0;
	}
		#global .address li {
			display: flex;
			align-items: flex-end;
			height: 100%;
			width: calc(33.3% - 2px);
			border-right: 1px #3C3C3C solid;
			border-left: 1px #3C3C3C solid;
			text-align: center;
		}
			#global .address .inner {
				display: block;
				width: 100%;
			}
				#global .address .tel img,
				#global .address .mail img,
				#global .address .line img {
					margin-bottom: 0;
					padding: 15px;
				}
		#global .address li + li {
			border-left: none;
			width: calc(33.3% - 1px)
		}
	#global .sns {
		display: none;
	}

#header.page_details {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
	width: 100%;
	max-width: 1148px;
	margin: 0 auto;
}
	#header.page_details .wrapper {
		display: block;
		position: absolute;
		right: auto;
		width: 100%;
		max-width: 500px;
	}
	.page_details #global {
		display: none;
	}

.visual {
	position: relative;
	width: 100%;
	height: 100vh;
	overflow: hidden;
}
	.visual .txt {
		position: absolute;
		top: 50%;
		left: 50%;
		z-index: 5;
		box-sizing: border-box;
		width: 100%;
		max-width: 1216px;
		line-height: 1.5;
		margin: 0;
		padding: 0 32px;
		color: #000;
		font-weight: bold;
		font-size: 406%;
		transform: translate(-50%, -50%);
	}
		.visual .txt .inner {
			position: relative;
			display: inline-block;
			padding: 10px 0 24px;
			line-height: 1.1;
		}
			.visual .txt .inner strong {
				display: inline-block;
				opacity: 0;
				transition: all .6s 2s;
			}
			.visual.loaded .txt .inner strong {
				opacity: 1;
			}
			.visual.loaded .txt .inner::before {
				content: "";
				display: block;
				position: absolute;
				left: 0;
				top: 0;
				width: 0;
				height: 100%;
				background: #000;
				animation: visual_slide 1s forwards 1.7s;
			}
			.visual .txt .inner::after {
				content: "";
				display: block;
				position: absolute;
				left: 0;
				bottom: 0;
				width: 0%;
				height: 14px;
				background: #000;
				transition: all .6s 2s;
			}
			.visual.loaded .txt .inner::after {
				width: 100%;
			}
			.visual .txt .inner span {
				position: relative;
				display: inline-block;
				animation: shadow_anm 1s infinite alternate cubic-bezier(0.86, 0, 0.07, 1);
				font-weight: bold;
			}
			.visual .txt .inner span:nth-last-child(1n) {
				animation-delay: -0.1666666667s;
			}
			.visual .txt .inner span:nth-last-child(2n) {
				animation-delay: -0.3333333333s;
			}
			.visual .txt .inner span:nth-last-child(3n) {
				animation-delay: -0.5s;
			}
@keyframes visual_slide {
	0% {
		left: 0;
		width: 0;
	}
	20% {
		left: 0;
		width: 100%;
	}
	80% {
		left: auto;
		right: 0;
		width: 100%;
	}
	100% {
		left: auto;
		right: 0;
		width: 0%;
	}
}
@keyframes shadow_anm {
	0% {
		transform: translate3d(0, 0, 0);
		text-shadow: 0em 0em 0 #f7dbe9;
		color: black;
	}
	30% {
		transform: translate3d(0, 0, 0);
		text-shadow: 0em 0em 0 #f7dbe9;
		color: black;
	}
	70% {
		transform: translate3d(0.08em, -0.08em, 0);
		text-shadow: -0.08em 0.08em #f7dbe9;
		color: black;
	}
	100% {
		transform: translate3d(0.08em, -0.08em, 0);
		text-shadow: -0.08em 0.08em #f7dbe9;
		color: black;
	}
}
	.visual .visual_bg {
		position: absolute;
		top: 50%;
		left: 0;
		z-index: -1;
		width: 100%;
		height: 50%;
		overflow: hidden;
		background: url("img/top/visual.png") center bottom no-repeat;
		background-size: cover;
	}
		.visual .visual_bg iframe {
			aspect-ratio: 32 / 9;
			width: 100%;
			min-width: 1920px;
			height: auto;
			position: absolute;
			left: 50%;
			top: 50%;
			transform: translate(-50%, -50%);
			transition: opacity ease-out 1s;
		}
		.visual .visual_bg.ended iframe {
			opacity: 0;
		}

#bubbles .bubble {
	position: absolute;
	z-index: -1;
	background: center center no-repeat;
	background-size: 100% 100%;
	opacity: 0;
	transform: translateY(16px);
}
#bubbles img {
	display: none;
}
#bubbles .bubble.l01 {
	top: 4vh; /* 44px;*/
	left: 12.6%;
	width: 29px;
	height: 29px;
	background-image: url("img/bubbles/apple-green_circle.png");
}
#bubbles .bubble.l02 {
	top: 13vh; /* 141px */
	left: 5.3%;
	width: 56px;
	height: 56px;
	background-image: url("img/bubbles/red_circle.png");
}
#bubbles .bubble.l03 {
	top: 26.5vh; /* 287px */
	left: 6.8%;
	width: 45px;
	height: 45px;
	background-image: url("img/bubbles/aqua-green_circle.png");
}
#bubbles .bubble.l04 {
	top: 17.2vh; /* 186px */
	left: 15.4%;
	width: 29px;
	height: 29px;
	background-image: url("img/bubbles/green_circle.png");
}
#bubbles .bubble.l05 {
	top: 14.5vh; /* 157px */
	left: 38.4%;
	width: 29px;
	height: 29px;
	background-image: url("img/bubbles/yellow_circle_2.png");
}
#bubbles .bubble.l06 {
	top: 20.4vh; /* 221px */
	left: 25.3%;
	width: 34px;
	height: 34px;
	background-image: url("img/bubbles/blue_circle.png");
}
#bubbles .bubble.l07 {
	top: 25vh; /* 270px */
	left: 19.3%;
	width: 28px;
	height: 28px;
	background-image: url("img/bubbles/red_circle.png");
}
#bubbles .bubble.l08 {
	top: 33.4vh; /* 361px */
	left: 11.7%;
	width: 41px;
	height: 41px;
	background-image: url("img/bubbles/azalea_circle.png");
}
#bubbles .bubble.l09 {
	top: 37.8vh; /* 409px */
	left: 3.9%;
	width: 29px;
	height: 29px;
	background-image: url("img/bubbles/aqua-green_square.png");
}
#bubbles .bubble.l10 {
	top: 43.4vh; /* 469px */
	left: 13.5%;
	width: 29px;
	height: 29px;
	background-image: url("img/bubbles/yellow_circle_2.png");
}
#bubbles .bubble.l11 {
	top: 49.5vh; /* 535px */
	left: 6.6%;
	width: 26px;
	height: 26px;
	background-image: url("img/bubbles/azalea_circle.png");
}
#bubbles .bubble.l12 {
	top: 57vh; /* 616px */
	left: 12%;
	width: 58px;
	height: 58px;
	background-image: url("img/bubbles/blue_square.png");
}
#bubbles .bubble.l13 {
	top: 62.2vh; /* 672px */
	left: 5.7%;
	width: 98px;
	height: 98px;
	background-image: url("img/bubbles/canary-yellow_square_r.png");
}
#bubbles .bubble.l14 {
	top: 66.5vh; /* 719px */
	left: 16.8%;
	width: 29px;
	height: 29px;
	background-image: url("img/bubbles/azalea_square.png");
}
#bubbles .bubble.l15 {
	top: 80.3vh; /* 868px */
	left: 21.1%;
	width: 50px;
	height: 50px;
	background-image: url("img/bubbles/yellow_square.png");
}
#bubbles .bubble.l16 {
	top: 91.7vh; /* 991px */
	left: 25.8%;
	width: 43px;
	height: 43px;
	background-image: url("img/bubbles/red_square.png");
}
#bubbles .bubble.l17 {
	top: 88.1vh; /* 952px */
	left: 13.5%;
	width: 50px;
	height: 50px;
	background-image: url("img/bubbles/azalea_square.png");
}
#bubbles .bubble.l18 {
	top: 88.9vh; /* 961px */
	left: 3.6%;
	width: 98px;
	height: 98px;
	background-image: url("img/bubbles/canary-yellow_square.png");
}
#bubbles .bubble.l19 {
	top: 104.9vh; /* 1133px */
	left: 13.9%;
	width: 51px;
	height: 51px;
	background-image: url("img/bubbles/azalea_square.png");
}
#bubbles .bubble.l20 {
	top: 110vh; /* 1189px;*/
	left: 4.5%;
	width: 43px;
	height: 43px;
	background-image: url("img/bubbles/red_square.png");
}
#bubbles .bubble.l21 {
	top: 116.2vh; /* 1256px;*/
	left: 8.7%;
	width: 62px;
	height: 62px;
	background-image: url("img/bubbles/canary-yellow_square.png");
}

#bubbles .bubble.r01 {
	top: 2.7vh; /* 30px;*/
	right: 29.4%;
	width: 29px;
	height: 29px;
	background-image: url("img/bubbles/green_circle.png");
}
#bubbles .bubble.r02 {
	top: 4.2vh; /* 46px;*/
	right: 2%;
	width: 29px;
	height: 29px;
	background-image: url("img/bubbles/purple_circle.png");
}
#bubbles .bubble.r03 {
	top: 14.6vh; /* 158px;*/
	right: 29%;
	width: 29px;
	height: 29px;
	background-image: url("img/bubbles/yellow_circle.png");
}
#bubbles .bubble.r04 {
	top: 16vh; /* 173px;*/
	right: 4.5%;
	width: 29px;
	height: 29px;
	background-image: url("img/bubbles/yellow_circle.png");
}
#bubbles .bubble.r05 {
	top: 17.2vh; /* 186px;*/
	right: 10.4%;
	width: 52px;
	height: 52px;
	background-image: url("img/bubbles/blue_circle.png");
}
#bubbles .bubble.r06 {
	top: 19.8vh; /* 214px;*/
	right: 20.9%;
	width: 29px;
	height: 29px;
	background-image: url("img/bubbles/apple-green_circle.png");
}
#bubbles .bubble.r07 {
	top: 29.2vh; /* 316px;*/
	right: 38.8%;
	width: 45px;
	height: 45px;
	background-image: url("img/bubbles/yellow_circle.png");
}
#bubbles .bubble.r08 {
	top: 30.7vh; /* 332px;*/
	right: 5.9%;
	width: 41px;
	height: 41px;
	background-image: url("img/bubbles/azalea_circle.png");
}
#bubbles .bubble.r09 {
	top: 32.3vh; /* 349px;*/
	right: 17.4%;
	width: 29px;
	height: 29px;
	background-image: url("img/bubbles/red_circle.png");
}
#bubbles .bubble.r10 {
	top: 42.5vh; /* 460px;*/
	right: 5.3%;
	width: 29px;
	height: 29px;
	background-image: url("img/bubbles/apple-green_circle.png");
}
#bubbles .bubble.r11 {
	top: 44.7vh; /* 482px;*/
	right: 14.1%;
	width: 17px;
	height: 17px;
	background-image: url("img/bubbles/aqua-green_circle.png");
}
#bubbles .bubble.r12 {
	top: 57.6vh; /* 623px;*/
	right: 4.4%;
	width: 51px;
	height: 51px;
	background-image: url("img/bubbles/azalea_square_r.png");
}
#bubbles .bubble.r13 {
	top: 59.5vh; /* 643px;*/
	right: 12.6%;
	width: 58px;
	height: 58px;
	background-image: url("img/bubbles/canary-yellow_square_r.png");
}
#bubbles .bubble.r14 {
	top: 67.5vh; /* 730px;*/
	right: 8.2%;
	width: 78px;
	height: 78px;
	background-image: url("img/bubbles/blue_square.png");
}
#bubbles .bubble.r15 {
	top: 72.9vh; /* 788px;*/
	right: 2.9%;
	width: 43px;
	height: 43px;
	background-image: url("img/bubbles/red_square.png");
}
#bubbles .bubble.r16 {
	top: 73.5vh; /* 794px;*/
	right: 15%;
	width: 29px;
	height: 29px;
	background-image: url("img/bubbles/apple-green_square.png");
}
#bubbles .bubble.r17 {
	top: 84.3vh; /* 911px;*/
	right: 19.8%;
	width: 58px;
	height: 58px;
	background-image: url("img/bubbles/canary-yellow_square.png");
}
#bubbles .bubble.r18 {
	top: 84.9vh; /* 917px;*/
	right: 11.8%;
	width: 45px;
	height: 45px;
	background-image: url("img/bubbles/aqua-green_square.png");
}
#bubbles .bubble.r19 {
	top: 90.6vh; /* 979px;*/
	right: 6.1%;
	width: 51px;
	height: 51px;
	background-image: url("img/bubbles/azalea_square.png");
}
#bubbles .bubble.r20 {
	top: 106vh; /* 1145px;*/
	right: 13.2%;
	width: 25px;
	height: 25px;
	background-image: url("img/bubbles/azalea_square.png");
}
#bubbles .bubble.r21 {
	top: 103vh; /* 1113px;*/
	right: 1.8%;
	width: 25px;
	height: 25px;
	background-image: url("img/bubbles/aqua-green_square.png");
}
#bubbles .bubble.r22 {
	top: 116.3vh; /* 1257px;*/
	right: 4.5%;
	width: 61px;
	height: 61px;
	background-image: url("img/bubbles/blue_square.png");
}
#bubbles .bubble.loaded {
	opacity: 1;
	transform: translateY(0);
}
#bubbles .bubble.loaded_0 {
	transition: all 0.4s ease-out .1s;
}
#bubbles .bubble.loaded_1 {
	transition: all 0.4s ease-out .2s;
}
#bubbles .bubble.loaded_2 {
	transition: all 0.4s ease-out .3s;
}
#bubbles .bubble.loaded_3 {
	transition: all 0.4s ease-out .4s;
}
#bubbles .bubble.loaded_4 {
	transition: all 0.4s ease-out .5s;
}
#bubbles .bubble.loaded_5 {
	transition: all 0.4s ease-out .6s;
}
#bubbles .bubble.loaded_6 {
	transition: all 0.4s ease-out .7s;
}
#bubbles .bubble.loaded_7 {
	transition: all 0.4s ease-out .8s;
}
#bubbles .bubble.loaded_8 {
	transition: all 0.4s ease-out .9s;
}
#bubbles .bubble.loaded_9 {
	transition: all 0.4s ease-out 1s;
}


.page_ttl {
	position: relative;
	background-size: cover;
	overflow: hidden;
	padding: 230px 16px 160px;
	font-weight: bold;
	text-align: center;
	cursor: default;
}
	.page_ttl .cate {
		margin: 0 0 15px;
		line-height: 1.3;
		font-size: 718%;
	}
		.page_ttl .cate .inner {
			display: inline-block;
			position: relative;
			z-index: 5;
			padding: 0 .3em;
			font-weight: bold;
			line-height: 100%;
			text-align: center !important;
		}
			.page_ttl .cate .inner::after {
				content: "";
				display: block;
				position: absolute;
				left: 0;
				top: 0;
				z-index: -1;
				width: 0;
				height: 100%;
				background: #FFF;
			}
			.page_ttl.in .cate .inner::after {
				animation: slide .5s forwards .2s;
			}
	.page_ttl .ttl {
		line-height: 1.3;
		font-size: 143%;
	}
		.page_ttl .ttl .inner {
			display: inline-block;
			position: relative;
			z-index: 5;
			padding: .5em 1.5em .3em;
			font-weight: bold;
		}
			.page_ttl .ttl .inner::before {
				content: "";
				display: block;
				position: absolute;
				left: 0;
				top: 0;
				z-index: 1;
				width: 0%;
				height: 100%;
				background: #000;
			}
			.page_ttl.in .ttl .inner::before {
				animation: slide_out 1s forwards 1.2s;
			}
				.page_ttl .ttl .inner span {
					font-weight: bold;
					opacity: 0;
				}
				.page_ttl.in .ttl .inner span {
					animation: fade_in .5s forwards 1.7s;
				}
			.page_ttl .ttl .inner::after {
				content: "";
				display: block;
				position: absolute;
				left: 0;
				top: 0;
				z-index: -1;
				width: 0%;
				height: 100%;
				background: #FFF;
			}
			.page_ttl.in .ttl .inner::after {
				animation: slide .5s forwards 1.7s;
			}
	.page_ttl::before {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
		width: 100%;
		height: 100%;
		background: url("img/bg_page_ttl.png") center center no-repeat;
		background-size: cover;
		transform: scale(1.02);
		transition: 2s all .4s;
	}
	.in.page_ttl::before {
		transform: scale(1);
	}
	.page_ttl::after {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 0;
		width: 100%;
		height: 100%;
		background: #D5D5D5;
		mix-blend-mode: multiply;
		transform: translate3d(0,0,0);
	}
.page_ttl.sec_works_index::before {
	background-image: url("img/bg_page_ttl_works_index.jpg");
}
.page_ttl.sec_service_index::before {
	background-image: url("img/bg_page_ttl_service_index.jpg");
}
.page_ttl.sec_online_index::before {
	background-image: url("img/bg_page_ttl_online_index.jpg");
}
.page_ttl.sec_recruit_index::before {
	background-image: url("img/bg_page_ttl_recruit_index.jpg");
}
.page_ttl.sec_homepage::before {
	background-image: url("img/bg_page_ttl_homepage.jpg");
}
.page_ttl.sec_contact_index::before {
	background-image: url("img/bg_page_ttl_contact_index.jpg");
}
	.page_ttl.sec_homepage::after {
		background-color: #FFDDB5;
	}
	.page_ttl.sec_design::after {
		background-color: #FFECEE;
	}
.page_ttl .cate {
	font-size: 531%;
}
.page_ttl.sec_design::before {
	background-image: url("img/bg_page_ttl_design.jpg");
}
.page_ttl.sec_video::before {
	background-image: url("img/bg_page_ttl_video.jpg");
}
	.page_ttl.sec_video::after {
		background-color: #BFFFC4;
	}
.page_ttl.sec_system::before {
	background-image: url("img/bg_page_ttl_system.jpg");
}
	.page_ttl.sec_system::after {
		background-color: #B4E3FF;
	}
.page_ttl.sec_web-consulting::before {
	background-image: url("img/bg_page_ttl_web-consulting.jpg");
}
	.page_ttl.sec_web-consulting::after {
		background-color: #FFEBB4;
	}
.page_ttl.sec_drone::before {
	background-image: url("img/bg_page_ttl_drone.png");
}
.page_ttl.sec_novelty::before {
	background-image: url("img/bg_page_ttl_novelty.jpg");
}
.sec_election {
    display:block;
    background-image: url(img/bg_page_ttl_election.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    padding-top: 58%;
}
.sec_election_sp{
  display:none;
}
@keyframes fade_in {
 0% {
	 opacity: 0;
  }
 100% {
	 opacity: 1;
  }
}
@keyframes slide_out {
 0% {
	 left: 0;
	 width: 0;
  }
 50% {
	 left: 0;
	 width: 100%;
  }
 51% {
	 left: auto;
	 right: 0;
  }
 100% {
	 left: auto;
	 right: 0;
	 width: 0;
  }
}
@keyframes slide {
 0% {
	 width: 0;
  }
 100% {
	 width: 100%;
  }
}


.page_ttl.in span.i {
}
.page_ttl.in span.i:nth-of-type(2) {
  animation-delay: .25s;
}
.page_ttl.in span.i:nth-of-type(3) {
  animation-delay: .3s;
}
.page_ttl.in span.i:nth-of-type(4) {
  animation-delay: .35s;
}
.page_ttl.in span.i:nth-of-type(5) {
  animation-delay: .4s;
}
.page_ttl.in span.i:nth-of-type(6) {
  animation-delay: .45s;
}
.page_ttl.in span.i:nth-of-type(7) {
  animation-delay: .5s;
}
.page_ttl.in span.i:nth-of-type(8) {
  animation-delay: .55s;
}
.page_ttl.in span.i:nth-of-type(9) {
  animation-delay: .6s;
}
.page_ttl.in span.i:nth-of-type(10) {
  animation-delay: .65s;
}
.page_ttl.in span.i:nth-of-type(11) {
  animation-delay: .7s;
}
.page_ttl.in span.i:nth-of-type(12) {
  animation-delay: .75s;
}
.page_ttl.in span.i:nth-of-type(13) {
  animation-delay: .8s;
}
.page_ttl.in span.i:nth-of-type(14) {
  animation-delay: .85s;
}
.page_ttl.in span.i:nth-of-type(15) {
  animation-delay: .9s;
}
.page_ttl.in span.i:nth-of-type(16) {
  animation-delay: .95s;
}
.page_ttl.in span.i:nth-of-type(17) {
  animation-delay: 1s;
}
.page_ttl.in span.i:nth-of-type(18) {
  animation-delay: 1.05s;
}
.page_ttl.in span.i:nth-of-type(19) {
  animation-delay: 1.1s;
}
.page_ttl.in span.i:nth-of-type(20) {
  animation-delay: 1.15s;
}
.page_ttl.in span.i:nth-of-type(21) {
  animation-delay: 1.2s;
}
.page_ttl.in span.i:nth-of-type(22) {
  animation-delay: 1.25s;
}
.page_ttl.in span.i {
	display: inline-block;
	color: #b10e81;
	font-weight: bold;
	opacity: 0;
}
.page_ttl.in span.i {
	transform: translate(-300px, 0) scale(0);
	animation: slide_in .5s forwards .2s;
}

@keyframes slide_in {
  60% {
    transform: translate(20px, 0) scale(1);
    color: #000;
  }

  80% {
    transform: translate(20px, 0) scale(1);
    color: #000;
  }

  99% {
    transform: translate(0) scale(1.2);
    color: #00f0ff;
  }

  100% {
    transform: translate(0) scale(1);
    opacity: 1;
    color: #000;
  }
}

.post_page_ttl {
	position: relative;
	overflow: hidden;
}
	.post_page_ttl .inner_wrap {
		max-width: 1280px;
		margin: 0 auto;
		padding: 250px 10px 85px;
	}
		.post_page_ttl .ttl {
			box-sizing: border-box;
			max-width: 758px;
			padding: 32px 38px 90px 66px;
			background: #FFF;
		}
			.post_page_ttl .ttl .sec_date {
				display: inline-block;
				margin-bottom: 24px;
				font-weight: bold;
				font-size: 150%;
			}
			.post_page_ttl .ttl strong {
				font-weight: bold;
				font-size: 187.5%;
			}
		.post_page_ttl .featured_image {
			position: absolute;
			left: 0;
			top: 0;
			z-index: -1;
			width: 100%;
			height: 100%;
		}
			.post_page_ttl .featured_image img {
				width: 100%;
				height: 100%;
				object-fit: cover;
			}

.page_ttl_details {
	background: url("img/bg_detail_ttl.png") top center no-repeat;
	background-size: auto 100%;
}
	.page_ttl_details .inner_wrapper {
		box-sizing: border-box;
		max-width: 1280px;
		overflow: hidden;
		margin: 0 auto;
		padding: 20px 0 130px 66px;
	}
		.page_ttl_details .inner_wrapper .ttl {
			float: left;
			width: 48%;
			max-width: 600px;
			padding: 170px 0 0;
			font-size: 218%;
		}
			.page_ttl_details .inner_wrapper .ttl small {
				display: inline-block;
				margin-bottom: 20px;
				font-weight: bold;
				font-size: 100%;
			}
		.page_ttl_details .inner_wrapper .img {
			float: right;
			width: 50%;
			text-align: right;
		}
		.page_ttl_details .ttl_balloon {
			float: left;
			width: 48%;
			max-width: 574px;
		}
			.page_ttl_details .ttl_balloon .txt_wrapper {
				position: relative;
			}
				.page_ttl_details .ttl_balloon .txt_wrapper::before {
					content: "";
					display: block;
					width: 100%;
					height: 0;
					padding-top: 11.6%;
					background: url("img/ttl_balloon_head.png") left top no-repeat;
					background-size: 100% auto;
				}
				.page_ttl_details .ttl_balloon .txt_wrapper_inner {
					overflow: hidden;
					padding: 0 16px;
					background: url("img/ttl_balloon_body.png") left top repeat-y;
					background-size: 100% auto;
					font-size: 125%;
					text-align: center;
				}
					.page_ttl_details .ttl_balloon .txt_wrapper_inner p {
						margin: 0;
					}
				.page_ttl_details .ttl_balloon .txt_wrapper::after {
					content: "";
					display: block;
					width: 100%;
					height: 0;
					padding-top: 4.9%;
					background: url("img/ttl_balloon_footer.png") left top no-repeat;
					background-size: 100% auto;
				}


.sec_worries {
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
	margin: 30px 0 0;
	padding: 0;
}
	.sec_worries .inner {
		display: flex;
		justify-content: space-between;
		width: 45%;
		margin: 10px 0;
	}
		.sec_worries .inner .img {
			width: 91px;
		}
			.sec_worries .inner .img img {
				/*border: 1px #C4C4C4 solid;*/
			}
		.sec_worries .inner .txt {
			position: relative;
			width: calc(100% - 125px);
			line-height: 1.3;
			font-weight: bold;
			font-size: 93.7%;
		}
			.sec_worries .inner .txt::before,
			.sec_worries .inner .txt::after {
				content: "";
				display: block;
				position: absolute;
				top: .5em;
				left: -24px;
				width: 15px;
				height: 2px;
				background: #000000;
			}
			.sec_worries .inner .txt::after {
				transform: rotate(90deg);
			}
			.sec_worries.blue .inner .txt::before,
			.sec_worries.blue .inner .txt::after {
				background: var(--color-blue);
			}
			.sec_worries.orange .inner .txt::before,
			.sec_worries.orange .inner .txt::after {
				background: var(--color-orange);
			}
			.sec_worries.purple .inner .txt::before,
			.sec_worries.purple .inner .txt::after {
				background: var(--color-purple);
			}

.bubble_page_ttl {
	padding: 80px 0 100px;
	text-align: center;
}
	.bubble_page_ttl .ttl {
		display: block;
		position: relative;
		box-sizing: border-box;
		max-width: 526px;
		margin: 0 auto;
		padding: 15px 84px 0 53px;
		font-size: 231%;
	}
		.bubble_page_ttl .ttl::before {
			content: "";
			display: block;
			position: absolute;
			left: 8px;
			top: 2px;
			width: 37px;
			height: 37px;
			border-radius: 50%;
			background: #CBD800;
		}
		.bubble_page_ttl .ttl .inner {
			display: inline-block;
			position: relative;
			padding-bottom: 26px;
		}
			.bubble_page_ttl .ttl .inner::before {
				content: "";
				display: block;
				position: absolute;
				right: -95px;
				top: 17px;
				width: 23px;
				height: 23px;
				border-radius: 50%;
				background: #E60112;
			}
			.bubble_page_ttl .ttl .inner::after {
				content: "";
				display: block;
				position: absolute;
				left: 0;
				bottom: 0;
				z-index: -1;
				width: 100%;
				height: 17px;
				background: #FFE600;
			}
		.bubble_page_ttl .ttl::after {
			content: "";
			display: block;
			position: absolute;
			right: 8px;
			top: 0px;
			width: 34px;
			height: 34px;
			border-radius: 50%;
			background: #E50049;
		}
	.bubble_page_ttl .catch {
		position: relative;
		box-sizing: border-box;
		max-width: 954px;
		line-height: 1.4;
		margin: 28px auto 0;
		padding: 0 88px 75px;
		font-weight: bold;
		font-size: 187%;
	}
		.bubble_page_ttl .catch .ttl_bubble {
			display: block;
			position: absolute;
			z-index: -1;
			border-radius: 50%;
		}
		.bubble_page_ttl .catch .ttl_bubble.l_orange {
			top: 33px;
			left: 18px;
			width: 13px;
			height: 13px;
			background: #F4B315;
		}
		.bubble_page_ttl .catch .ttl_bubble.l_red {
			top: 77px;
			left: 6px;
			width: 34px;
			height: 34px;
			background: #E60112;
		}
		.bubble_page_ttl .catch .ttl_bubble.l_blue {
			top: 107px;
			left: 55px;
			width: 30px;
			height: 30px;
			background: #009EDF;
		}
		.bubble_page_ttl .catch .ttl_bubble.l_green {
			top: 143px;
			left: 4px;
			width: 18px;
			height: 18px;
			background: #C8D700;
		}
		.bubble_page_ttl .catch .ttl_bubble.r_blue {
			top: 75px;
			right: 72px;
			width: 50px;
			height: 50px;
			background: #009EDF;
		}
		.bubble_page_ttl .catch .ttl_bubble.r_light_blue {
			top: 78px;
			right: 0px;
			width: 28px;
			height: 28px;
			background: #9AD3CC;
		}
		.bubble_page_ttl .catch .ttl_bubble.r_orange {
			top: 125px;
			right: 26px;
			width: 26px;
			height: 26px;
			background: #F4B315;
		}

.top_mission {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	box-sizing: border-box;
	width: 100%;
	max-width: 1300px;
	margin: 122px auto 0;
	padding: 0 10px;
	background: rgba(255, 255, 255, 0.7);
	font-size: 137%;
}
	.top_mission p {
		margin: 0;
		font-weight: bold;
	}
	.top_mission p.img {
		width: 45%;
	}
		.top_mission p.img .mission_head {
			transform: translateY(15px);
		}
	.top_mission p.txt {
		width: 52.5%;
		line-height: 1.7;
	}
		.top_mission p.txt strong {
			font-size: 136%;
		}

.top_sec.sec_information {
	margin: 174px 0 0;
}
	.top_sec.sec_information .inner_head {
		position: relative;
	}
		.top_sec.sec_information .inner_head .border_ttl {
			margin: 0 0 18.5px;
		}
		.top_sec.sec_information .view_all {
			text-align: right;
		}
	.sec_information .inner_body {
		overflow: hidden;
		margin: 0;
		padding: 0;
		letter-spacing: -.4em;
	}
		.sec_information .inner_body .info_date {
			display: block;
			clear: both;
			float: left;
			margin-bottom: 18px;
			font-weight: bold;
			letter-spacing: normal;
		}
		.sec_information .inner_body .info_cate {
			display: block;
			float: left;
			box-sizing: border-box;
			width: 8em;
			margin: 0 0 0 3.3em;
			margin-bottom: 18px;
		}
			.sec_information .inner_body .info_cate .inner {
				display: inline-block;
				box-sizing: border-box;
				width: 100%;
				line-height: 1;
				padding: .6em 1em .5em;
				background: #262626;
				color: #FFF;
				font-weight: bold;
				font-size: 81.2%;
				text-align: center;
				letter-spacing: normal;
			}
		.sec_information .inner_body .info_ttl {
			display: block;
			float: left;
			margin-left: 2em;
			margin-bottom: 18px;
			letter-spacing: normal;
		}
			.sec_information .inner_body .info_ttl a {
				color: inherit!important;
				font-size: 112.5%;
			}

.top_sec.sec_service {
	margin: 113px 0 0;
}
	.top_sec.sec_service .border_ttl {
		margin: 0 0 43px;
	}
	.top_sec.sec_service .inner_body {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		list-style: none;
		margin: 0;
		padding: 0 66px;
	}
		.top_sec.sec_service .inner_body li {
			width: 31.5%;
			margin-bottom: 59px;
			font-size: 125%;
			text-align: center;
		}
			.top_sec.sec_service .inner_body li a {
				display: block;
			}
				.top_sec.sec_service .inner_body li .icon {
					margin-bottom: 3px;
				}
					.top_sec.sec_service .inner_body li .icon .inner {
						position: relative;
						padding-top: calc(60% + 16px);
					}
						.top_sec.sec_service .inner_body li .icon img {
							position: absolute;
							left: 0;
							top: 0;
							z-index: 1;
							width: calc(100% - 16px);
						}
						.top_sec.sec_service .inner_body li .icon .inner::after {
							content: "";
							display: block;
							position: absolute;
							bottom: 0;
							right: 0;
							width: calc(100% - 3px);
							height: calc(100% - 16px);
							background: url("img/bg_grid_orange.png") left top no-repeat;
							background-size: contain;
						}

.top_sec.sec_topics {
	margin: 113px 0 0;
}
	.top_sec.sec_topics .bnr {
		display: flex;
		flex-wrap: wrap;
		row-gap: 20px;
		justify-content: space-around;
		list-style: none;
		margin: 0 0 50px;
		padding: 0;
	}
		.top_sec.sec_topics .bnr li {
			width: 48%;
		}
			.top_sec.sec_topics .bnr li img {
				width: 100%;
			}

.sec_strong_point {
	margin: 21px 0 0;
}
	.sec_strong_point .inner_head {
		position: relative;
		overflow: hidden;
		margin: 0 0 24px;
		padding: 22px 16px 44px;
		text-align: center;
	}
		.sec_strong_point .inner_head .ttl {
			margin: 0;
			padding: 0;
			border: none;
			font-size: 268%;
		}
			.sec_strong_point .inner_head .ttl small {
				display: block;
				font-weight: bold;
				font-size: 60.4%;
			}
			.sec_strong_point .inner_head .ttl strong {
				position: relative;
				display: inline-block;
				line-height: 1.23;
				margin-top: 9px;
				padding: 14px 48px 9px;
				background-color: #fff; /* Fallback */
				background:
					linear-gradient(-47deg, transparent 0.5em, #fff 0.5em),
					linear-gradient(-227deg, transparent 0.5em, #fff 0.5em);
				background-position: bottom right, top left;
				background-size: 51% 100%;
				background-repeat: no-repeat;
			}
				.sec_strong_point .inner_head .ttl strong::before,
				.sec_strong_point .inner_head .ttl strong::after {
					content: '';
					position: absolute;
					width: 2.5em;
					height: 0px;
					border-bottom: 4px #1A1A1A solid;
				}
				.sec_strong_point .inner_head .ttl strong::before {
					top: .3em;
					left: -.9em;
					transform: rotate(-47deg);
				}
				.sec_strong_point .inner_head .ttl strong::after {
					bottom: .5em;
					right: -1.1em;
					transform: rotate(133deg);
				}
		.sec_strong_point .inner_head::after {
			content: "";
			display: block;
			position: absolute;
			left: 0;
			bottom: 0;
			z-index: -1;
			width: 100%;
			height: 0;
			background: url("img/bg_stripe_01.png") left top repeat;
			background-size: 19.5px 19px;
			transition: all 2s ease-out .0s;
		}
		.sec_strong_point .inner_head[data-flg="true"]::after {
			height: 100%;
		}
	.sec_strong_point .inner_foot {
		display: flex;
		justify-content: center;
		align-items: center;
		margin-top: 4px;
	}
		.sec_strong_point .inner_foot .img {
			width: 105px;
		}
		.sec_strong_point .inner_foot .txt {
			position: relative;
			overflow: hidden;
			padding: 0 0 0 25px;
			font-size: 137%;
		}
			.sec_strong_point .inner_foot .txt p {
				font-weight: bold;
			}
			.sec_strong_point .inner_foot .txt::after {
				content: "";
				display: block;
				position: absolute;
				bottom: 0;
				left: 0;
				width: 100%;
				height: 11px;
				background: #FFE600;
			}

.sec_three-features {
	position: relative;
	margin: 71px 0 0;
	padding: 0 0 48px;
}
	.sec_three-features .border_ttl {
		margin: 0;
	}
	.sec_three-features .inner_body {
		position: relative;
		z-index: 5;
		margin: 54px 0 0;
		padding: 0 0 48px;
	}
		.sec_three-features .three {
			display: flex;
			justify-content: space-between;
			list-style: none;
			position: relative;
			z-index: 10;
			width: 83.6%;
			margin: 0 auto;
			padding: 0;
		}
			.sec_three-features .three .inner {
				box-sizing: border-box;
				width: 31%;
				padding: 16px 16px 24px;
				background: #FFF;
				box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
			}
				.sec_three-features .three .inner .img {
					display: block;
					text-align: center;
				}
					.sec_three-features .three .sec_1 .img img {
						width: 31.6%;
					}
				.sec_three-features .three .sec_2 .img {
					padding-top: 3%;
				}
					.sec_three-features .three .sec_2 .img img {
						width: 30.1%;
					}
				.sec_three-features .three .sec_3 .img {
					padding-top: 2%;
				}
					.sec_three-features .three .sec_3 .img img {
						width: 24.9%;
					}
				.sec_three-features .three .inner .ttl {
					position: relative;
					line-height: 1.2;
					margin: 0;
					padding: 0 0 19px;
					font-weight: bold;
					font-size: 150%;
					letter-spacing: -.1em;
					text-align: center;
				}
					.sec_three-features .three .inner .ttl::after {
						content: "";
						display: block;
						position: absolute;
						left: 0; right: 0;
						bottom: 0;
						width: 117px;
						height: 14px;
						margin: auto;
						background: #FFE600;
					}
					.sec_three-features .three .inner .ttl.scroll.border_w[data-flg="true"]::after {
						width: 117px!important;
					}
				.sec_three-features .three .sec_1 .ttl {
					margin-top: 1.8em;
					padding-bottom: 1.3em;
				}
				.sec_three-features .three .sec_2 .ttl {
					margin: 1.4em 0 0;
					padding-bottom: .8em;
				}
				.sec_three-features .three .sec_3 .ttl {
					margin: 2em 0 0;
					padding-bottom: 1.4em;
				}
				.sec_three-features .three .inner .txt {
					margin: 24px 0 0;
					letter-spacing: -.05em;
				}
		.sec_three-features .inner_body::after {
			content: "";
			display: block;
			position: absolute;
			left: 0;
			bottom: 0;
			width: 100%;
			height: 0;
			background: url("img/bg_grid_orange.png") left top repeat;
			background-size: 320px 195px;
			transition: all 2s ease-out .0s;
		}
		.sec_three-features .inner_body[data-flg="true"]::after {
			height: calc(100% - 48px);
		}
	.sec_three-features::after {
		content: "";
		display: block;
		position: absolute;
		left: 0;
		bottom: 0;
		z-index: 0;
		width: 100%;
		height: 50%;
		background: #F9F9F9;
	}

.sec_three-subsidy {
	position: relative;
	margin: 71px 0 0;
	padding: 0 0 48px;
}
	.sec_three-subsidy .border_ttl {
		margin: 0;
	}
	.sec_three-subsidy .inner_body {
		position: relative;
		z-index: 5;
		padding: 0 0 48px;
	}
		.sec_three-subsidy .three {
			/*display: flex;*/
			justify-content: space-between;
			list-style: none;
			position: relative;
			z-index: 10;
			width: 83.6%;
			margin: 0 auto;
			padding: 0;
		}
	.sec_three-subsidy h3 {
  	  margin: 0 auto;
 	margin-top: 50px;
 	margin-bottom: 50px;
  	  padding: 0 0.2em 0.3em;
  	  border-bottom: 14px #FFE600 solid;
  	  font-weight: bold;
  	  font-size: 150%;
  	  width: 83.6%;
		}
			.sec_three-subsidy .three .inner {
				box-sizing: border-box;
				float: left;
				width: 32%;
				margin-right: 2%;
				background: #FFF;
				margin-top: 30px;
			}
			.sec_three-subsidy .three .inner:nth-child(3n) {
				box-sizing: border-box;
				float: left;
				width: 32%;
				margin-right: 0;
				background: #FFF;
				margin-top: 30px;
			}
				.sec_three-subsidy .three .inner .img {
					/*display: block;*/
					text-align: center;
					padding-top: 100%;
				}
					.sec_three-subsidy .three .sec_1 .img img {
						display: block;
   						 width: 80%;
   						 margin: 0 auto;
					}
				.sec_three-subsidy .three .sec_2 .img {
					padding-top: 100%;
				}
					.sec_three-subsidy .three .sec_2 .img img {
						display: block;
  						  width: 80%;
  						  margin: 0 auto;
					}
				.sec_three-subsidy .three .sec_3 .img {
					padding-top: 100%;
				}
					.sec_three-subsidy .three .sec_3 .img img {
						display: block;
  						  width: 80%;
    						margin: 0 auto;
					}
				.sec_three-subsidy .three .inner .ttl {
					position: relative;
					line-height: 1.2;
					margin: 0;
					padding: 0 0 19px;
					font-weight: bold;
					font-size: 110%;
					letter-spacing: -.1em;
					text-align: center;
				}
					.sec_three-subsidy .three .inner .ttl::after {
						content: "";
						display: block;
						position: absolute;
						left: 0; right: 0;
						top: -20px;
						width: 117px;
						height: 5px;
						margin: auto;
						background: #FFE600;
					}
					.sec_three-subsidy .three .inner .ttl.scroll.border_w[data-flg="true"]::after {
						width: 90%!important;
					}
				.sec_three-subsidy .three .sec_1 .ttl {
					margin-top: 2em;
					padding-bottom: 1.3em;
				}
				.sec_three-subsidy .three .sec_2 .ttl {
					margin: 2em 0 0;
					padding-bottom: 1.4em;
				}
				.sec_three-subsidy .three .sec_3 .ttl {
					margin: 2em 0 0;
					padding-bottom: 1.4em;
				}
				.sec_three-subsidy .three .inner .txt {
					margin: 24px 0 0;
					letter-spacing: -.05em;
				}
		.sec_three-subsidy .inner_body::after {
			content: "";
			display: block;
			position: absolute;
			left: 0;
			bottom: 0;
			width: 100%;
			height: 0;
			background: url("img/bg_grid_orange.png") left top repeat;
			background-size: 320px 195px;
			transition: all 2s ease-out .0s;
		}
		.sec_three-features .inner_body[data-flg="true"]::after {
			height: calc(100% - 48px);
		}
	.sec_three-subsidy::after {
    content: "";
    display: block;
    position: absolute;
    top: 250px;
    left: 0;
    bottom: 200px;
    z-index: 0;
    width: 100%;
    height: 78%;
    background: #f9f9f9;
	}
.subsidy_stc{
		margin-top: 20px;
		font-size:20px;
		text-align: center;
}
@media screen and (max-width: 800px) {
.sec_three-subsidy .three {
    display: block;
    justify-content: space-between;
    list-style: none;
    position: relative;
    z-index: 10;
    width: 95%;
    margin: 0 auto;
    margin-top: -50px;
    padding: 0;
}
.sec_three-subsidy .three .inner {
    box-sizing: border-box;
    float: left;
    width: 49%;
    margin: 0 auto;
    padding: 0;
    background: #FFF;
    margin-top: 30px;
    margin-right: 2%;
}
.sec_three-subsidy .three .inner:nth-child(2n) {
    box-sizing: border-box;
    float: left;
    width: 49%;
    margin: 0 auto;
    padding: 0;
    background: #FFF;
    margin-top: 30px;
    margin-right: 0;
}
.sec_three-subsidy .three .inner:nth-child(3n) {
    box-sizing: border-box;
    float: left;
    width: 49%;
    margin: 0 auto;
    padding: 0;
    background: #FFF;
    margin-top: 30px;
    margin-right: 2%;
}
.sec_three-subsidy .three .inner:nth-child(6n) {
    box-sizing: border-box;
    float: left;
    width: 49%;
    margin: 0 auto;
    padding: 0;
    background: #FFF;
    margin-top: 30px;
    margin-right: 0;
}
.sec_three-subsidy::after {
    content: "";
    display: block;
    position: absolute;
    top: 300px;
    left: 0;
    bottom: 200px;
    z-index: 0;
    width: 100%;
    height: 64%;
    background: none;
}
.sec_three-subsidy h3 {
    margin: 0 auto;
    margin-top: 50px;
    margin-bottom: 50px;
    padding: 0 0.2em 0.3em;
    border-bottom: 14px #FFE600 solid;
    font-weight: bold;
    font-size: 150%;
    width: 95%;
}
.subsidy_stc{
		margin-top: 20px;
		font-size:100%;
}
}

.sec_works {
	margin: 61px 0 0;
}
	.sec_works .border_ttl {
		margin: 0;
	}
	.sec_works .border_ttl_red {
		margin: 0;
	}
	.sec_works .inner_body {
		margin: 28px 0 0;
		font-size: 80%;
	}
		.sec_works .inner_body .inner {
			overflow: hidden;
			margin: 0;
		}
			.sec_works .inner_body .inner .img {
				display: block;
				position: relative;
				padding-top: 71%;
				overflow: hidden;
				background: gray;
			}
				.sec_works .inner_body .inner .img img {
					object-fit: cover;
					position: absolute;
					width: 100%;
					height: 100%;
					top: 50%;
					left: 50%;
					transform: translate(-50%, -50%);
				}
			.sec_works .inner_body .inner .ttl {
				display: block;
				line-height: 1.3;
				margin: 10px;
				font-weight: bold;
				font-size: 125%;
			}
			.sec_works .inner_body .inner .works_cat {
				display: block;
				line-height: 1.3;
				margin: 10px;
				font-size: 125%;
			}
				.sec_works .inner_body .inner .works_cat .cate {
					display: inline-block;
					background: #707070;
					color: #fff;
					padding: .25em .5em;
					margin: 0;
				}
				.sec_works .inner_body .inner .works_cat .cate.cate_1 {
					background: var(--color-pink);
				}
				.sec_works .inner_body .inner .works_cat .cate.cate_2 {
					background: var(--color-green);
				}
				.sec_works .inner_body .inner .works_cat .cate.cate_3 {
					background: var(--color-blue);
				}
				.sec_works .inner_body .inner .works_cat .cate.cate_4 {
					background: var(--color-red);
				}
				.sec_works .inner_body .inner .works_cat .cate.cate_5 {
					background: var(--color-orange);
				}
		.sec_works .slick-track {
			display: flex;
		}
		.sec_works .slick-slide {
			position: relative;
			height: auto !important;
			border: 1px #707070 solid;
			margin: 0 10px 0;
		}
			.sec_works .slick-slide div,
			.sec_works .slick-slide a {
				height: 100%;
			}
	.sec_works .inner_foot {
		padding-right: 16px;
		text-align: right;
	}
		.sec_works .inner_foot .view_all {
			margin: 0;
		}

.four_sec {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 100%;
}
	.four_sec .inner {
		box-sizing: border-box;
		width: 25%;
		overflow: hidden;
		margin: 0;
		padding: 0 24px 24px;
		border-left: 1px #707070 solid;
		text-align: center;
	}
		.four_sec .inner .ttl {
			display: inline-block;
			margin: 1em 0;
			font-weight: bold;
			font-size: 162.5%;
			text-align: left;
		}
		.four_sec .sec_1 .ttl {
			margin: .5em 0 .3em;
		}
		.four_sec .sec_3 .ttl {
			margin-bottom: .7em;
		}
		.four_sec .inner .img {
			display: block;
		}
			.four_sec .sec_1 .img img {
				width: 35%;
			}
			.four_sec .sec_2 .img img {
				width: 79%;
			}
			.four_sec .sec_3 .img img {
				width: 42%;
			}
			.four_sec .sec_4 .img img {
				width: 37%;
			}
		.four_sec .inner .txt {
			display: block;
			text-align: left;
		}
		.four_sec .sec_1 .txt,
		.four_sec .sec_4 .txt {
			margin: .9em 0 0;
		}
		.four_sec .sec_2 .txt,
		.four_sec .sec_3 .txt {
			margin: 1.1em 0 0;
		}

.three_card {
	display: flex;
	justify-content: space-between;
	list-style: none;
	width: 89.1%;
	margin: 82px auto 0;
	padding: 0;
}
	.three_card li {
		width: 30%;
		line-height: 1.5;
		text-align: center;
	}
		.three_card .img {
			position: relative;
			margin: 0 0 5px;
			padding: 0 16px 28px;
		}
			.three_card .img .inner {
				display: block;
				position: relative;
				height: 0;
				overflow: hidden;
				padding: 71% 0 0;
			}
				.three_card .img img {
					position: absolute;
					left: 50%;
					top: 50%;
					box-sizing: border-box;
					width: 100%;
					border: 1px #707070 solid;
					transform: translate(-50%, -50%);
				}
			.three_card .img::after {
				content: "";
				display: block;
				position: absolute;
				left: 0;
				bottom: 0;
				z-index: -1;
				width: 100%;
				height: 68%;
				background: url("img/bg_grid_orange.png") left top repeat;
				background-size: 213px auto;
			}
		.three_card strong {
			display: block;
			font-size: 125%;
		}

.about_i_design {
	position: relative;
	margin: 29px 0 0;
}
	.about_i_design .inner {
		box-sizing: border-box;
		width: 50.8%;
		padding: 0 8px;
	}
		.about_i_design .ttl {
			max-width: 464px;
			margin: 0;
			padding: 0;
			border: none;
		}
	.about_i_design .inner_foot {
		margin: 44px 0 0;
		text-align: center;
	}
		.about_i_design .inner_foot img {
			max-width: 609px;
		}
	.about_i_design .bg {
		position: absolute;
		top: 0;
		right: 0;
		z-index: -1;
		width: 48.6%;
	}
.about_i_desing_wrap {
	padding: 0 18px;
}
.about_i_design.page_vision {
	margin: 0 0 112px;
	overflow: hidden;
}
	.about_i_design.page_vision .inner {
		box-sizing: border-box;
		width: 56%;
		float: left;
		padding: 0;
	}
		.about_i_design.page_vision .inner p {
			font-size: 112.5%;
		}
		.about_i_design.page_vision .inner .catch {
			margin: 8px 0 28px;
			font-size: 187%;
		}
	.about_i_design.page_vision .img {
		position: relative;
		float: right;
		box-sizing: border-box;
		width: 42%;
		padding: 0 44px 46px 0;
	}
		.about_i_design.page_vision .img::after {
			content: "";
			display: block;
			position: absolute;
			right: 0;
			bottom: 0;
			z-index: -1;
			width: calc(100% - 21px);
			height: calc(100% - 19px);
			background: url("img/bg_grid_orange.png") right bottom repeat;
			background-size: 320px auto;
		}

.about_2 .inner_body {
	display: flex;
	justify-content: space-between;
}
	.about_2 .inner_body .inner {
		width: 22.5%;
	}
		.about_2 .inner_body .inner .ttl {
			position: relative;
			margin: 32px 0 0;
			padding: 0 0 35px;
			font-weight: bold;
			font-size: 131%;
			text-align: center;
		}
			.about_2 .inner_body .inner .ttl::after {
				content: "";
				display: block;
				position: absolute;
				left: 0;
				right: 0;
				bottom: 0;
				height: 16px;
				margin: auto;
				background: #FFE600;
			}
			.about_2 .inner_body .inner .ttl[data-flg="true"]::after {
				width: 64px!important;
			}
		.about_2 .inner_body .inner .txt {
			margin: 16px 0 0;
		}
.about_2 .inner_foot {
	margin: 75px 0 0;
}
	.about_2 .inner_foot .btn_sec {
		margin: 0;
		text-align: center;
	}
.about_3 {
	margin: 70px 0 0;
	background: url("img/bg_about_3.png") top center repeat-y;
	background-size: 100% auto;
}
	.about_3 .inner_wrap {
		padding: 113px 66px 107px;
	}
		.about_3 .inner_body {
			display: flex;
			justify-content: space-between;
		}
			.about_3 .inner_body .img {
				width: 45.3%;
			}
			.about_3 .inner_body .inner {
				width: 48.7%;
			}
				.about_3 .inner_body .ttl {
					position: relative;
					margin: 0 0 32px;
					padding: 0 0 27px;
					border: none;
					font-weight: bold;
					font-size: 175%;
				}
					.about_3 .inner_body .ttl::after {
						content: "";
						display: block;
						position: absolute;
						left: 0;
						bottom: 0;
						width: 100%;
						max-width: 360px;
						height: 14px;
						background: #FFE600;
					}
				.about_3 .inner_body .txt {
					padding: 8px;
					background: rgba(251, 251, 251, 0.83);
				}
		.about_3 .inner_body + .inner_body {
			margin: 127px 0 0;
			flex-direction: row-reverse;
		}

.about_sdgs .three_card {
	margin-bottom: 107px;
}
	.about_sdgs .three_card li:nth-child(2) strong {
		margin-top: 1em;
	}

.balloon_ttl_1 {
	box-sizing: border-box;
	max-width: 1055px;
	margin: 0 auto;
	padding: .5em 0 6%;
	border: none;
	background: url("img/bg_balloon_ttl_1.png") center center no-repeat;
	background-size: 100% 100%;;
	font-size: 231%;
	text-align: center;
}
	.balloon_ttl_1 .txt {
		font-weight: bold;
	}

.i_design_info {
	padding: 55px 0 96px;
	border-top: 20px #E6E6E6 solid;
	border-bottom: 20px #E6E6E6 solid;
}
.i_design_info + .i_design_info {
	border-top: none;
}
.i_design_info.sec_1 {
	margin-top: 135px;
}
	.i_design_info.sec_1 .wrapper {
		overflow: visible;
	}
		.i_design_info.sec_1 .ttl_wrap {
			position: relative;
			padding: 30px 32px 0px;
		}
			.i_design_info.sec_1 .ttl_wrap::before {
				content: "";
				display: block;
				position: absolute;
				top: 0;
				left: -24px;
				width: 37px;
				height: 37px;
				border-radius: 50%;
				background: #CBD800;
			}
			.i_design_info.sec_1 .ttl_wrap .balloon_ttl_1 {
				position: relative;
			}
				.i_design_info.sec_1 .ttl_wrap .balloon_ttl_1::before {
					content: "";
					display: block;
					position: absolute;
					top: -15px;
					right: -133px;
					width: 23px;
					height: 23px;
					border-radius: 50%;
					background: #E60112;
				}
				.i_design_info.sec_1 .ttl_wrap .balloon_ttl_1::after {
					content: "";
					display: block;
					position: absolute;
					top: 26px;
					right: -89px;
					width: 34px;
					height: 34px;
					border-radius: 50%;
					background: #E50049;
				}
			.i_design_info.sec_1 .ttl_wrap::after {
				content: "";
				display: block;
				position: absolute;
				top: 35px;
				left: -53px;
				width: 13px;
				height: 13px;
				border-radius: 50%;
				background: #F4B315;
			}
		.i_design_info .four_sec_i_design_info {
			display: flex;
			justify-content: space-between;
			position: relative;
			margin: 26px 0 0;
		}
			.i_design_info .four_sec_i_design_info::before,
			.i_design_info .four_sec_i_design_info::after {
				content: "";
				display: block;
				position: absolute;
				left: -142px;
				bottom: -34px;
				width: 115px;
				height: 100px;
				background: url("img/bg_ball_01.png") left top no-repeat;
				background-size: cover;
			}
			.i_design_info .four_sec_i_design_info::after {
				left: auto;
				right: -156px;
				bottom: -34px;
				width: 90px;
				height: 94px;
				background: url("img/bg_ball_02.png") left top no-repeat;
				background-size: cover;
			}
			.i_design_info .four_sec_i_design_info .inner {
				display: flex;
				flex-direction: column;
				width: 21%;
				text-align: center;
			}
				.i_design_info .four_sec_i_design_info .inner .img {
					width: 100%;
				}
					.i_design_info .four_sec_i_design_info .inner .img img {
						max-width: 110px;
					}
				.i_design_info .four_sec_i_design_info .inner .ttl {
					width: 100%;
					margin: 12px 0 0;
					padding: 0;
					font-weight: bold;
					font-size: 100%;
				}
					.i_design_info .four_sec_i_design_info .inner .ttl .inner_head {
						display: block;
						margin-bottom: 1.8em;
						font-weight: bold;
					}
					.i_design_info .four_sec_i_design_info .inner .ttl.two_lines .inner_head {
						margin-bottom: 5px;
					}
					.i_design_info .four_sec_i_design_info .inner .ttl .txt_wrap {
						display: block;
						margin-top: 5px;
						line-height: 1;
						font-weight: bold;
						font-size: 142.8%;
					}
						.i_design_info .four_sec_i_design_info .inner .ttl .txt_wrap strong {
							font-size: 200%;
						}
						.i_design_info .four_sec_i_design_info .inner .ttl .txt_wrap small {
							font-weight: bold;
							font-size: 66%;
						}
				.i_design_info .four_sec_i_design_info .inner .balloon {
					position: relative;
					flex-grow:1;
					margin-top: 10px;
					padding: 14% 0 6%;
					text-align: left;
				}
					.i_design_info .four_sec_i_design_info .inner .balloon::before {
						content: "";
						display: block;
						position: absolute;
						top: 0;
						left: 0;
						width: 100%;
						padding-top: 14%;
						background: url("img/bg_balloon_head.png") left top no-repeat;
						background-size: 100% auto;
					}
					.i_design_info .four_sec_i_design_info .inner .balloon .inner_body {
						padding: 8px;
						box-sizing: border-box;
						height: 100%;
						background: #FFF url("img/bg_balloon_body.png") left top repeat-y;
						background-size: 100% auto;
					}
					.i_design_info .four_sec_i_design_info .inner .balloon::after {
						content: "";
						display: block;
						position: absolute;
						bottom: 0;
						left: 0;
						width: 100%;
						padding-top: 7.4%;
						background: url("img/bg_balloon_foot.png") left bottom no-repeat;
						background-size: 100% auto;
					}

.i_design_info .profile {
	display: flex;
	justify-content: space-between;
	margin: 30px 0 0;
}
	.i_design_info .profile .img {
		width: 41.6%;
	}
		.i_design_info .profile .img img {
			border: 1px #707070 solid;
		}
	.i_design_info .profile .inner {
		width: 44.9%;
		margin-right: 6%;
		font-size: 112.5%;
	}
		.i_design_info .profile .inner .catch {
			margin-bottom: 18px;
			font-weight: bold;
			font-size: 122.2%;
		}
	.i_design_info .no_border {
		margin-left: 25px;
	}

.sec_service_2 {
	margin: 80px 0 0;
}

.sec_service_3 {
	position: relative;
	width: calc(100% - 20px);
	max-width: 1280px;
	margin: 90px auto 0;
	padding-bottom: 10px;
}
	.sec_service_3 .inner {
		position: relative;
		z-index: 5;
		display: flex;
		justify-content: center;
	}
		.sec_service_3 .inner .img {
			width: 210px;
		}
		.sec_service_3 .inner .sec_right {
			width: 100%;
			max-width: 931px;
			margin-left: 28.5px;
			margin-right: 10px;
		}
			.sec_service_3 .inner .sec_right .ttl {
				position: relative;
				margin: 93px 0 0;
				padding: 0;
				border: none;
				font-size: 156.2%;
				text-align: center;
			}
				.sec_service_3 .inner .sec_right .ttl .inner {
					display: block;
					position: relative;
					z-index: 3;
					padding: .5em 1em;
					font-weight: bold;
					color: #FFF;
					border: 1px #26201F solid;
					border-radius: 16px;
					background: var(--color-orange);
					box-shadow: 5.5px 8.2px 0 #A2A2A2;
				}
				.sec_service_3 .inner .sec_right .ttl::before {
					content: "";
					display: block;
					position: absolute;
					top: 0;
					bottom: 0;
					z-index: 5;
					width: 23.5px;
					height: 13px;
					left: -22.5px;
					margin: auto;
					background: url("img/icon_balloon.png");
					background-size: cover;
				}
				.sec_service_3 .inner .sec_right .ttl::after {
					content: "";
					display: block;
					position: absolute;
					left: -17px;
					top: calc(50% + 1.7px);
					z-index: -1;
					width: 0;
					height: 0;
					border-style: solid;
					border-width: 6.5px 23.5px 6.5px 0;
					border-color: transparent #a2a2a2 transparent transparent;
				}
				.sec_service_3.pink .inner .sec_right .ttl .inner {
					background: var(--color-pink);
				}
				.sec_service_3.pink .inner .sec_right .ttl::before {
					background-image: url("img/icon_balloon_pink.png");
				}
				.sec_service_3.blue .inner .sec_right .ttl .inner {
					background: var(--color-blue);
				}
				.sec_service_3.blue .inner .sec_right .ttl::before {
					background-image: url("img/icon_balloon_blue.png");
				}
				.sec_service_3.yellow .inner .sec_right .ttl .inner {
					background: #FFE600;
					color: #272323;
				}
				.sec_service_3.yellow .inner .sec_right .ttl::before {
					background-image: url("img/icon_balloon_yellow.png");
				}
				.sec_service_3.purple .inner .sec_right .ttl .inner {
					background: var(--color-purple);
				}
				.sec_service_3.purple .inner .sec_right .ttl::before {
					background-image: url("img/icon_balloon_purple.png");
				}
			.sec_service_3 .inner .sec_right .txt {
				margin: 26px 0 0;
				font-size: 125%;
				text-align: center;
			}
				.sec_service_3 .inner .sec_right .txt p {
					display: inline-block;
					max-width: 640px;
					font-weight: bold;
					text-align: left;
				}
	.sec_service_3 .btn_contact {
		position: relative;
		z-index: 5;
		margin: 16px 0 0;
	}
	.sec_service_3::before {
		content: "";
		display: block;
		position: absolute;
		left: 0;
		bottom: 0;
		z-index: 0;
		width: 100%;
		height: calc(100% - 59px);
		left: 30px;
		bottom: -26px;
		background: url("img/bg_stripe_01.png") left top repeat;
		background-size: 19.5px auto;
	}
		.sec_service_3.purple::before {
			background-image: url("img/bg_stripe_purple.png");
		}
	.sec_service_3::after {
		content: "";
		display: block;
		position: absolute;
		left: 0;
		bottom: 0;
		z-index: 1;
		width: 100%;
		height: calc(100% - 59px);
		border: 2px #AEAEAE solid;
		background: #FFF;
	}
	.sec_service_3 .icon_triangle {
		position: absolute;
		top: -13px;
		left: 0;
		right: 0;
		width: 87px;
		margin: auto;
	}

.sec_service_4 {
	margin-top: 50px;
}
	.sec_service_4 .catch {
		max-width: 840px;
		margin: 0 auto;
		font-weight: bold;
		font-size: 131.2%;
		text-align: center;
	}
.sec_service_4.sec_system {
	margin-top: 108px;
}

.service_card {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	list-style: none;
	margin: 31px 0 15px;
	padding: 0;
}
	.service_card .inner {
		display: flex;
		flex-direction: column;
		box-sizing: border-box;
		width: 23.5%;
		margin: 0 0 49px;
		padding: 17px 17px 22px;
		border: 1px #707070 solid;
		text-align: center;
	}
		.service_card .inner .img {
			width: 100%;
		}
			.service_card .inner .img img {
				width: 100%;
				max-width: 171px;
			}
		.service_card .inner .ttl {
			flex-grow:1;
			width: 100%;
			margin: 20px 0 0;
			font-weight: bold;
			font-size: 131%;
		}
		.service_card .inner .txt_wrap {
			width: 100%;
			min-height: 7em;
			margin: 16px 0 0;
			line-height: 1.4;
			text-align: left;
		}
.service_card.img_full {
	width: 89%;
	margin-right: auto;
	margin-left: auto;
}
	.service_card.img_full .inner {
		width: 31.3%;
		padding: 0 0 24px;
	}
		.service_card.img_full .inner .img img {
			max-width: 100%;
		}
		.service_card.img_full .inner .ttl {
			max-width: calc(100% - 88px);
			margin: 20px auto 0;
		}
			.service_card.img_full .inner .ttl strong {
				display: block;
				position: relative;
				padding-bottom: 12px;
			}
				.service_card.img_full .inner .ttl strong::after {
					content: "";
					display: block;
					position: absolute;
					bottom: 0;
					left: 0;
					width: 100%;
					height: 1px;
					background: #707070;
				}
		.service_card .inner .txt_wrap {
			width: auto;
			margin-right: 18px;
			margin-left: 18px;
		}

.our_services .inner_wrap {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
	.our_services .inner_wrap .scene {
		width: 100%;
		margin-bottom: 8px;
	}
		.our_services .inner_wrap .scene strong {
			display: inline-block;
			box-sizing: border-box;
			width: 264px;
			padding: .12em .4em;
			border: 1px #707070 solid;
			border-radius: 8px;
			background: #373737;
			color: #FFF;
			font-weight: bold;
			font-size: 131.2%;
		}
	.our_services .inner_wrap .inner {
		box-sizing: border-box;
		width: 23.1%;
		margin-bottom: 20px;
		/*padding: 2.1em 0;
		border: 1px #707070 solid;*/
		font-size: 131%;
		text-align: center;
	}
	.our_services .inner_wrap .inner + .scene {
		margin-top: 19px;
	}

.card_with_ttl {
	display: flex;
	justify-content: space-between;
	list-style: none;
	margin-top: 36px;
	padding: 0;
}
	.card_with_ttl .inner {
		width: 22.6%;
		border: 1px #707070 solid;
	}
		.card_with_ttl .inner a {
			display: block;
			display: flex;
			flex-direction: column;
			position: relative;
			box-sizing: border-box;
			height: 100%;
			line-height: 1.37;
			padding: 0 0 3em;
			color: inherit!important;
		}
			.card_with_ttl .ttl {
				width: 100%;
				line-height: 1.37;
				padding: .62em 0;
				background: #303030;
				color: #FFF;
				font-weight: bold;
				font-size: 125%;
				text-align: center;
			}
			.card_with_ttl .ttl.one_line {
				padding: 1.3em 0;
			}
			.card_with_ttl .icon {
				width: 100%;
				text-align: center;
			}
				.card_with_ttl .icon img {
					width: 86px;
				}
			.card_with_ttl .inner_body {
				box-sizing: border-box;
				width: 100%;
				margin-top: 13px;
				padding: 0 17px;
				flex-grow: 1;
				font-size: 87.5%;
			}
				.card_with_ttl .inner_body [attr^="card_"]{
					margin-top: 29px;
				}
				.card_with_ttl .inner_body .list {
					list-style: none;
					padding-left: 1.2em;
				}
					.card_with_ttl .inner_body .list li {
						font-weight: bold;
						text-indent: -1.2em;
					}
						.card_with_ttl .inner_body .list li::before {
							content: "●";
						}
			.card_with_ttl .price {
				width: 100%;
				margin: 30px 0 0;
				text-align: center;
			}
				.card_with_ttl .price small {
					font-size: 81%;
				}
				.card_with_ttl .price strong {
					font-weight: normal;
					font-size: 137.5%;
				}
			.card_with_ttl .inner_foot {
				position: absolute;
				right: 30px;
				bottom: 19px;
				font-size: 81%;
				font-weight: normal;
			}
		.card_with_ttl .inner a:hover {
			opacity: 1;
		}
			.card_with_ttl .inner a:hover .inner_foot::before {
				right: 0;
			}

.sec_service_6 {
	margin: 70px 0 0;
	padding: 56px 0 86px;
	border-top: 20px #E6E6E6 solid;
	border-bottom: 20px #E6E6E6 solid;
}
	.sec_service_6 .border_ttl_2 {
		margin-top: 38px;
	}
	.img_bubble_card {
		margin: 89px 0 80px;
	}
		.img_bubble_card .inner_sec {
			display: flex;
			position: relative;
			margin: 0 0 66px;
		}
			.img_bubble_card .inner_sec::before,
			.img_bubble_card .inner_sec::after {
				content: "";
				display: block;
				position: absolute;
				z-index: 10;
				border-radius: 50%;
			}
			.img_bubble_card .inner_sec::before {
				right: 42px;
				top: -11px;
				width: 30px;
				height: 30px;
				background: #009EDF;
			}
			.img_bubble_card .inner_sec::after {
				right: 0px;
				top: -37px;
				width: 30px;
				height: 30px;
				background: #9AD3CC;
			}
			.img_bubble_card .inner_sec .img {
				width: 33.5%;
				margin-right: 1px;
			}
				.img_bubble_card .inner_sec .img .img_wrap {
					position: relative;
					z-index: 5;
				}
					.img_bubble_card .inner_sec .img .img_wrap::before,
					.img_bubble_card .inner_sec .img .img_wrap::after {
						content: "";
						display: block;
						position: absolute;
						z-index: 10;
						border-radius: 50%;
					}
					.img_bubble_card .inner_sec .img .img_wrap::before {
						top: 4px;
						left: -19px;
						width: 37px;
						height: 37px;
						background: #CBD800;
					}
					.img_bubble_card .inner_sec .img .img_wrap::after {
						top: -9px;
						left: 26px;
						width: 13px;
						height: 13px;
						background: #F4B315;
					}
					.img_bubble_card .inner_sec .img img {
						border: 1px #707070 solid;
					}
			.img_bubble_card .inner_sec .inner {
				position: relative;
				box-sizing: border-box;
				width: calc(66.5% - 36px);
				line-height: 1.62;
				margin: 35px 0 0;
				padding: 38px 13px 44px 52px;
				background: #FBFBFB;
			}
				.img_bubble_card .inner_sec .inner .ttl {
					margin: 0 0 10px;
					font-weight: bold;
					font-size: 156.2%;
				}
				.img_bubble_card .inner_sec .inner::after {
					content: "";
					display: block;
					position: absolute;
					right: -35px;
					bottom: -30px;
					z-index: -1;
					width: 100%;
					height: calc(100% - 16px);
					background: url("img/bg_grid_orange_02.png");
					background-size: 6px auto;
				}
		.img_bubble_card .inner_sec.sec_2 {
			flex-direction: row-reverse;
		}
			.img_bubble_card .inner_sec.sec_2::before,
			.img_bubble_card .inner_sec.sec_2::after,
			.img_bubble_card .inner_sec.sec_3::before {
				display: none;
			}
				.img_bubble_card .inner_sec.sec_2 .img .img_wrap::before {
					top: -4px;
					left: auto;
					right: 0;
					width: 34px;
					height: 34px;
					background: #E50049;
					opacity: .8;
				}
				.img_bubble_card .inner_sec.sec_2 .img .img_wrap::after {
					top: 31px;
					left: auto;
					right: -23px;
					width: 23px;
					height: 23px;
					background: #E60112;
					opacity: .8;
				}
				.img_bubble_card .inner_sec.sec_2 .inner::after {
					right: auto;
					left: -35px;
				}
				.img_bubble_card .inner_sec.sec_3 .img .img_wrap::before {
					top: auto;
					left: -28px;
					bottom: -13px;
					width: 86px;
					height: 76px;
					border-radius: 0;
					background: url("img/bg_ball_03.png") left top no-repeat;
					background-size: cover;
				}
				.img_bubble_card .inner_sec.sec_3 .img .img_wrap::after {
					display: none;
				}
			.img_bubble_card .inner_sec.sec_3::after {
				right: -24px;
				top: auto;
				bottom: -78px;
				width: 34px;
				height: 34px;
				background: #E60112;
				opacity: .8;
			}

.sec_voices .voices_wrap {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	list-style: none;
	margin: 90px 0 100px;
	padding: 0;
}
	.sec_voices .voices_wrap .inner_wrap {
		box-sizing: border-box;
		width: 28.5%;
		line-height: 1.6;
		padding: 36px 22px 22px;
		border: 1px #707070 solid;
	}
		.sec_voices .voices_wrap .inner_wrap .img {
			text-align: center;
		}
			.sec_voices .voices_wrap .inner_wrap .img img {
				width: 100%;
				max-width: 195px;
			}
			.sec_voices .voices_wrap .inner_wrap .img.wide img {
				max-width: none;
			}
		.sec_voices .voices_wrap .inner_wrap .ttl {
			margin: 29px 0px 0;
			padding: 0 13px 19px;
			border-bottom: 2px #707070 solid;
			font-weight: bold;
			font-size: 125%;
			text-align: center;
		}
		.sec_voices .voices_wrap .inner_wrap .inner {
			margin: 12px 13px 0
		}
			.sec_voices .voices_wrap .inner_wrap .inner .cate {
				display: inline-block;
				margin-bottom: 17px;
				padding: .1em 1.8em;
				border: 1px #707070 solid;
				background: #2B2B2B;
				color: #FFF;
				font-weight: bold;
			}
.sec_service_6 + .sec_service_6 {
	margin-top: 0;
	border-top: 0;
}
.sec_service_6.no_bottom {
	padding-bottom: 70px;
	border-bottom: none;
}
.sec_service_6.no_border {
	margin-top: 0;
	border: none;
}
	.sec_voices .voices_wrap.type_2 .inner_wrap {
		padding: 10px 10px 20px;
	}
		.sec_voices .voices_wrap.type_2 .inner_wrap .type {
			margin: 0 0 4px;
			font-weight: bold;
		}
		.sec_voices .voices_wrap .inner_wrap .inner {
			padding: 0 10px;
		}
			.sec_voices .voices_wrap .inner_wrap .inner .cate {
				padding: .1em .5em;
			}
		.sec_voices .voices_wrap.type_2 .inner_wrap .inner + .inner {
			margin-top: 30px;
			padding-top: 15px;
			border-top: 2px #707070 solid;
		}
.sec_service_6.sec_system,
.sec_service_6.sec_web-consulting {
	padding-top: 0;
}
	.sec_system .sec_voices .voices_wrap,
	.sec_web-consulting .sec_voices .voices_wrap {
		margin-top: 30px;
	}





.steps_list {
	display: flex;
	justify-content: space-between;
	list-style: none;
	padding: 0;
}
	.steps_list li {
		position: relative;
		box-sizing: border-box;
		width: 18.2%;
		padding: 1.2em 8px 20px;
		border: 2px #707070 solid;
		text-align: center;
	}
		.steps_list li .step {
			display: inline-block;
			position: absolute;
			top: -1.5em;
			left: 0;
			right: 0;
			line-height: 1.3;
			box-sizing: border-box;
			width: 4em;
			height: 4em;
			margin: auto;
			padding-top: .7em;
			border-radius: 50%;
			background: #FFE81D;
			font-weight: bold;
			font-size: 93%;
			text-align: center;
			animation: pop 1.5s infinite;
		}
			.steps_list.purple li .step {
				background: var(--color-purple);
				color: #fff;
			}
		.steps_list li .step_red {
			display: inline-block;
			position: absolute;
			top: -1.5em;
			left: 0;
			right: 0;
			line-height: 1.3;
			color:#ffffff;
			box-sizing: border-box;
			width: 4em;
			height: 4em;
			margin: auto;
			padding-top: .7em;
			border-radius: 50%;
			background: #EB3442;
			font-weight: bold;
			font-size: 93%;
			text-align: center;
			animation: pop 1.5s infinite;
		}
		.steps_list li .ttl {
			display: inline-block;
			line-height: 1.1;
			margin-bottom: 17px;
			font-size: 112.5%;
		}
		.steps_list li .ttl.one_line {
			padding: .6em 0 .5em;
		}
		.steps_list li .img {
			display: block;
		}
			.steps_list li .img img {
				width: 100%;
				max-width: 42.5px;
			}
		.steps_list li .txt {
			display: block;
			line-height: 1.3;
			margin: 15px 0;
			font-size: 93%;
		}
@keyframes pop {
  0%, 64% {
    transform: skew(0deg, 0deg);
  }
  8% {
    transform: skew(5deg, 5deg);
  }
  16% {
    transform: skew(-4deg, -4deg);
  }
  24% {
    transform: skew(3deg, 3deg);
  }
  32% {
    transform: skew(-2deg, -2deg);
  }
  40% {
    transform: skew(1deg, 1deg);
  }
  48% {
    transform: skew(-0.6deg, -0.6deg);
  }
  56% {
    transform: skew(0.3deg, 0.3deg);
  }
}

.contact_image {
	margin: 80px 0 0;
	background: #E1E1E1;
}
	.contact_image .img {
		float: left;
		width: 18.2%;
		padding: 30px 0 0;
	}
		.contact_image .ttl {
			width: 80%;
			position: relative;
			margin: 68px 0 0 18.2%;;
			padding: 0;
			border: none;
			font-size: 150%;
			text-align: center;
		}
			.contact_image .ttl .inner {
				display: block;
				position: relative;
				z-index: 3;
				padding: .5em 1em;
				font-weight: bold;
				border: 1px #26201F solid;
				border-radius: 16px;
				background: #FFF;
				box-shadow: 5.5px 8.2px 0 #A2A2A2;
			}
			.contact_image .ttl::before {
				content: "";
				display: block;
				position: absolute;
				top: 0;
				bottom: 0;
				z-index: 5;
				width: 23.5px;
				height: 13px;
				left: -22.5px;
				margin: auto;
				background: url("img/icon_balloon_white.png");
				background-size: cover;
			}
			.contact_image .ttl::after {
				content: "";
				display: block;
				position: absolute;
				left: -17px;
				top: calc(50% + 1.7px);
				z-index: -1;
				width: 0;
				height: 0;
				border-style: solid;
				border-width: 6.5px 23.5px 6.5px 0;
				border-color: transparent #a2a2a2 transparent transparent;
			}
	.contact_image .btn_contact {
		margin: 58px 0 0;
	}

.sec_faq .smpl_border_ttl_2 {
	padding: .5em .8em;
}
.faq_wrap {
	max-width: 942px;
	margin: 0 0 40px 2%;
	line-height: 1.5;
	font-size: 93%;
}
	.faq_wrap dt {
		margin: 10px 0 0;
		padding: .57em .6em .57em 2.4em;
		background: #F5F5F5;
		font-weight: bold;
		text-indent: -1.8em;
	}
		.faq_wrap .q_a {
			margin-right: 8px;
			font-weight: bold;
			font-size: 113%;
		}
	.faq_wrap dd .inner {
		display: block;
		padding: .57em .6em .57em 2.4em;
		font-weight: bold;
		text-indent: -1.8em;
	}

.img_card {
	display: flex;
	justify-content: space-between;
}
	.img_card .img {
		width: 190px;
	}
		.img_card .img img {
			object-fit: cover;
			width: 100%;
			border: 1px #C4C4C4 solid;
		}
	.img_card .inner {
		width: calc(100% - 240px);
		font-size: 112.5%;
	}
		.img_card .inner .ttl {
			margin: 0 0 12px;
			padding: 0;
			font-weight: bold;
			font-size: 166%;
		}
.img_card + .img_card {
	margin-top: 82px;
}

.img_card_3 {
	display: flex;
	justify-content: space-between;
	list-style: none;
	width: 91.2%;
	margin: 52px auto 0;
	padding: 0;
}
	.img_card_3 .inner {
		box-sizing: border-box;
		width: 31.3%;
		padding: 36px 30px 30px;
		border: 1px #707070 solid;
		text-align: center;
	}
		.img_card_3 .inner .img {
			width: 100%;
		}
			.img_card_3 .inner .img img {
				width: 100%;
				max-width: 195px;
			}
		.img_card_3 .inner .txt {
			margin: 30px 0 0;
			font-size: 125%;
		}
			.img_card_3 .inner .txt p {
				font-weight: bold;
			}


.left_img_sec {
	display: flex;
	justify-content: space-between;
	margin: 44.5px 0 0;
}
	.left_img_sec .img {
		width: 48.7%;
	}
		.left_img_sec .img img {
			box-sizing: border-box;
			border: 1px #707070 solid;
		}
	.left_img_sec .inner {
		width: 48%;
	}
		.left_img_sec .inner .ttl {
			line-height: 1.3;
			margin: 0 0 34px;
			padding: 0;
			border: none;
			font-size: 231.2%;
		}
			.left_img_sec .inner .ttl .inner_txt {
				display: inline-block;
				position: relative;
				padding-bottom: 22px;
			}
				.left_img_sec .inner .ttl .inner_txt::after {
					content: "";
					display: block;
					position: absolute;
					left: 0;
					bottom: 0;
					width: 100%;
					height: 14px;
					background: var(--color-orange);
				}
			.left_img_sec .inner .ttl .inner_txt01 {
				display: inline-block;
				position: relative;
				padding-bottom: 22px;
			}
				.left_img_sec .inner .ttl .inner_txt01::after {
					content: "";
					display: block;
					position: absolute;
					left: 0;
					bottom: 0;
					width: 100%;
					height: 14px;
					background: var(--color-purple01);
				}
				.left_img_sec .inner .ttl .inner_txt.pink::after {
					background: var(--color-pink);
				}
				.left_img_sec .inner .ttl .inner_txt.green::after {
					background: var(--color-green);
				}
				.left_img_sec .inner .ttl .inner_txt.blue::after {
					background: var(--color-blue);
				}
				.left_img_sec .inner .ttl .inner_txt.yellow::after {
					background: var(--color-yellow);
				}
				.left_img_sec .inner .ttl .inner_txt.purple::after {
					background: var(--color-purple);
				}
				.left_img_sec .inner .ttl .inner_txt.red::after {
					background:#EB3442;
				}
		.left_img_sec .inner .txt {
			font-size: 125%;
		}
		.left_img_sec.sec_design .inner .ttl {
			font-size: 175%;
		}
		.left_img_sec.sec_system .inner .ttl,
		.left_img_sec.sec_web-consulting .inner .ttl,
		.left_img_sec.sec_page_details .inner .ttl {
			font-size: 162.5%;
			letter-spacing: -.05em;
		}

.right_img_sec {
	display: flex;
	justify-content: space-between;
	margin: 80px 0 106px;
}
	.right_img_sec .inner {
		width: 48%;
		font-size: 112.5%;
	}
		.right_img_sec .inner .img_txt {
			margin: 0;
			max-width: 475px;
		}
		.right_img_sec .inner .catch {
			margin: 0 0 24px;
			font-weight: bold;
			font-size: 205%;
		}
	.right_img_sec .img {
		width: 45%;
		margin: 20px 0 0;
	}

.col_2_card {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	list-style: none;
	margin: 22px 0 0;
	padding: 0;
}
	.col_2_card .inner_wrap {
		width: 49%;
		margin: 15px 0;
		border: 1px #707070 solid;
	}
		.col_2_card .inner_wrap a {
			display: block;
			box-sizing: border-box;
			height: 100%;
			padding: 26px 22px;
			color: inherit!important;
		}
			.col_2_card .inner_wrap .ttl {
				font-weight: bold;
				font-size: 125%;
			}
				.col_2_card .inner_wrap .ttl::before {
					content: "■";
				}
			.col_2_card .inner_wrap .inner {
				list-style: none;
				padding-left: 1.2em;
			}
				.col_2_card .inner_wrap .inner li {
					text-indent: -1em;
				}
					.col_2_card .inner_wrap .inner li::before {
						content: "〇";
					}
		.col_2_card .inner_wrap a:hover {
			opacity: 1;
		}
			.col_2_card .inner_wrap a:hover .arrow_right_black::before {
				right: 0;
			}

.img_box {
	display: flex;
	justify-content: space-between;
	margin: 48px 0;
}
	.img_box .txt {
		width: 48%;
	}
	.img_box .img {
		width: 48%;
		text-align: center;
	}

.img_three {
	display: flex;
}
	.img_three > div {
		width: 100%;
		margin: 0 6px;
	}

.three_col {
	display: flex;
	justify-content: space-between;
	list-style: none;
	padding: 0;
}
	.three_col > .inner {
		list-style: none;
		width: 31%;
		overflow: hidden;
		margin: 0 1%;
		text-align: center;
	}
		.three_col > .inner .img {
			width: 100%;
			max-width: 320px;
		}
		.three_col > .inner .ttl {
			display: block;
			margin: 16px 8px;
			font-weight: bold;
			font-size: 120%;
		}


.index_menu {
	max-width: 1148px;
	margin: 64px auto 0;
	padding: 45px 0 62px;
	background: #F9F9F9;
}
	.index_menu .wrapper {
		padding: 0;
	}
	.index_menu .category_menu {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		list-style: none;
		padding: 0;
	}
		.index_menu .category_menu li {
			width: 155px;
			margin: 10px;
			line-height: 1.5;
			letter-spacing: normal;
		}
			.index_menu .category_menu li a {
				display: block;
				padding: .6em 1em;
				border: 2px #707070 solid;
				border-radius: 2em;
				background: #FFF;
				color: inherit!important;
				font-weight: bold;
				font-size: 93%;
				text-align: center;
				transition: all ease-out .5s;
			}
			.index_menu .category_menu li.cate_1 a {
				border-color: var(--color-pink);
			}
			.index_menu .category_menu li.cate_2 a {
				border-color: var(--color-green);
			}
			.index_menu .category_menu li.cate_3 a {
				border-color: var(--color-blue);
			}
			.index_menu .category_menu li.cate_4 a {
				border-color: var(--color-red);
			}
			.index_menu .category_menu li.cate_5 a {
				border-color: var(--color-orange);
			}
	.index_menu .menu_wrap {
		position: relative;
		z-index: 1;
		line-height: 1.5;
		margin: 40px 0 0;
		padding: 0 6% 22px;
	}
		.index_menu .menu_wrap .sec_menu {
			display: flex;
			justify-content: space-between;
			flex-wrap: wrap;
			list-style: none;
			padding: 0;
		}
			.index_menu .menu_wrap .sec_menu .inner {
				width: 47%;
				margin: 10px 0;
				background: #FFF;
			}
				.index_menu .menu_wrap .sec_menu .inner a {
					display: flex;
					justify-content: space-between;
					height: 100%;
					color: inherit!important;
				}
					.index_menu .menu_wrap .sec_menu .img {
						width: 50%;
						overflow: hidden;
					}
						.index_menu .menu_wrap .sec_menu .img img {
							object-fit:cover;
							width: 100%;
							height: 100%;
						}
					.index_menu .menu_wrap .sec_menu .txt {
						position: relative;
						width: 50%;
						padding-bottom: 3em;
					}
						.index_menu .menu_wrap .sec_menu .cate {
							float: right;
							min-width: 99px;
							margin: 0;
							padding: .15em;
							background: #707070;
							color: #FFF;
							font-weight: bold;
							font-size: 87.5%;
							text-align: center;
						}
						.index_menu .menu_wrap .sec_menu .cate_1 {
							background: var(--color-pink);
						}
						.index_menu .menu_wrap .sec_menu .cate_2 {
							background: var(--color-green);
						}
						.index_menu .menu_wrap .sec_menu .cate_3 {
							background: var(--color-blue);
						}
						.index_menu .menu_wrap .sec_menu .cate_4 {
							background: var(--color-red);
						}
						.index_menu .menu_wrap .sec_menu .cate_5 {
							background: var(--color-orange);
						}
						.index_menu .menu_wrap .sec_menu .ttl {
							clear: right;
							margin: 0 8px;
							padding-top: 18px;
							font-weight: bold;
							font-size: 112.5%;
						}
						.index_menu .menu_wrap .sec_menu .inner_foot {
							display: flex;
							justify-content: space-between;
							list-style: none;
							position: absolute;
							left: 0px;
							bottom: 10px;
							box-sizing: border-box;
							width: 100%;
							margin: 0;
							padding: 0 8px;
							font-size: 75%;
						}
							.index_menu .menu_wrap .sec_menu .inner_foot .date {
								color: #212121;
							}
							.index_menu .menu_wrap .sec_menu .inner_foot .link {
								color: #545454;
								font-weight: bold;
							}
								.index_menu .menu_wrap .sec_menu .inner_foot .link::after {
									content: "";
									display: inline-block;
									width: 0;
									height: 0;
									margin-left: 4px;
									border-style: solid;
									border-width: .5em 0 .5em 1em;
									border-color: transparent transparent transparent #545454;
								}
		.index_menu .menu_wrap::after {
			content: "";
			display: block;
			position: absolute;
			left: 0; bottom: 0;
			z-index: -1;
			width: 100%;
			height: 95%;
			background: url("img/bg_grid_orange.png") left top repeat;
			background-size: 320px auto;
		}
.index_menu.sec_information {
	padding: 31px 0 154px;
}
	.index_menu.sec_information .menu_wrap {
		margin: 0;
		padding: 0 20px 20px;
	}
		.index_menu.sec_information .inner_wrap {
			padding: 17px 27px;
			background: #FFF;
		}
			.index_menu.sec_information .information_menu {
				display: flex;
				flex-wrap: wrap;
				align-items: center;
				margin-top: 20px;
			}
				.index_menu.sec_information .information_menu .sec_date {
					font-weight: bold;
					margin-bottom: 57px;
				}
				.index_menu.sec_information .information_menu .sec_cate {
					width: 128px;
					margin-left: 51px;
					margin-bottom: 57px;
					padding: .25em 0;
					border: #191919;
					background: #262626;
					color: #FFF;
					font-weight: bold;
					font-size: 81.25%;
					text-align: center;
				}
				.index_menu.sec_information .information_menu .ttl {
					width: calc(100% - 27px - 4.6em);
					margin-left: 30px;
					margin-bottom: 57px;
					font-size: 112.5%;
				}
					.index_menu.sec_information .information_menu .ttl a {
						color: inherit!important;
					}


.sec_page_nav ul {
	list-style: none;
	display: flex;
	justify-content: center;
	margin: 52px 0 0;
}
	.sec_page_nav ul li {
		line-height: 1;
		margin: 10px;
	}
		.sec_page_nav ul li .inner_block {
			display: block;
			position: relative;
			overflow: hidden;
			margin: 0;
			padding: .6em .82em;
			border: 2px #1E1E1E solid;
			background: #000;
			color: #FFF!important;
			font-weight: bold;
			font-size: 93%;
			text-decoration: none;
		}
		.sec_page_nav ul li .inner_block.sec_prev,
		.sec_page_nav ul li .inner_block.sec_next {
			padding: .6em .59em;
		}
			.sec_page_nav ul li .inner_block.sec_next::after {
				content: "＞";
				font-weight: bold;
			}
			.sec_page_nav ul li .inner_block.sec_prev::after {
				content: "＜";
				font-weight: bold;
			}
			.sec_page_nav ul li .inner_block.sec_prev .inner_txt,
			.sec_page_nav ul li .inner_block.sec_next .inner_txt {
				overflow: hidden;
				position: absolute;
				left: -1px;
				top: -1px;
				display: block;
				width: 1px;
				height: 1px;
			}
		.sec_page_nav ul li .inner_block.active {
			background: #FFF;
			color: inherit!important;
		}
.sec_page_nav_article {
	margin: 50px 0;
}
	.sec_page_nav_article ul {
		display: flex;
		justify-content: center;
		list-style: none;
		line-height: 1;
		padding: 0;
		font-size: 112.5%;
	}
		.sec_page_nav_article ul li {
			margin: 0 16px;
		}
			.sec_page_nav_article ul a {
				color: inherit!important;
				font-weight: bold;
			}
			.sec_page_nav_article ul .sec_prev,
			.sec_page_nav_article ul .sec_next {
				position: relative;
				padding-left: 1em;
			}
				.sec_page_nav_article ul .sec_prev::after,
				.sec_page_nav_article ul .sec_next::after {
					content: "";
					display: inline-block;
					position: absolute;
					left: 0;
					top: .25em;
					width: .5em;
					height: .5em;
					border-left: 3px #000 solid;
					border-bottom: 3px #000 solid;
					transform: rotate(45deg);
				}
			.sec_page_nav_article ul .sec_next {
				padding-left: 0;
				padding-right: 1em;
			}
				.sec_page_nav_article ul .sec_next::after {
					left: auto;
					right: 0;
					top: .25em;
					transform: rotate(-135deg);
				}

.rednotes {
	color: #F33;
}
.form .form_wrapper {
	max-width: 600px;
	margin: 32px auto;
	padding: 24px;
	background: #EEE;
	overflow: hidden;
}
	.form .form_wrapper .inner_wrap {
		list-style: none;
	}
	.form .inner label {
		display: inline-block;
		width: 10em;
		vertical-align: top;
	}
		.form input[type="text"],
		.form input[type="email"],
		.form input[type="tel"] {
			box-sizing: border-box;
			width: calc(100% - 11em);
			padding: 8px;
			vertical-align: top;
			border: 1px #CCC solid;
			border-radius: 8px;
			font: inherit;
		}
		.form input[type="text"].half,
		.form input[type="email"].half,
		.form input[type="tel"].half {
			width: 20em;
		}
		.form textarea {
			box-sizing: border-box;
			width: calc(100% - 11em);
			height: 10em;
			padding: 8px;
			font: inherit;
		}
	.form .inner + .inner {
		margin-top: 40px;
	}
	.form dd.checkbox {
		line-height: 2.5em;
	}
	.btn {
		overflow: hidden;
		margin: 32px auto 0;
	}
		.form .send,
		.form .back {
			display: inline-block;
			float: right;
			line-height: 1.3em;
			padding: 0.5em 1.5em;
			border: none;
			border-radius: 3px;
			background: #6089DB;
			color: #FFF;
			font-weight: bold;
			font-size: 120%;
			text-align: center;
			cursor: pointer;
		}
		.form .send[disabled] {
			background: #BBB;
			cursor: default;
		}
		.form .send[disabled]:hover {
			opacity: 1;
		}
		.btn input:hover {
			opacity: 0.7;
		}
		.form .back {
			float: left;
			background: #888;
		}

.privacy_policy_check {
	margin-top: 16px;
	text-align: right;
}
#cover {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 20000;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.8);
	cursor: pointer;
}
.modal_inner {
	height: 1px;
	overflow: hidden;
}
.modal_inner.active {
	position: fixed;
	top: 50%;
	left: 50%;
	z-index: 30000;
	box-sizing: border-box;
	width: calc(100% - 32px);
	max-width: 900px;
	height: auto;
	max-height: 90%;
	padding: 8px 0 0;
	background: #FFF;
	transform: translate(-50%, -50%);
	border: 2px #CCC solid;
	border-radius: 16px;
}
	.modal_inner.active .modal_ttl {
		padding: 0 16px;
		font-size: 110%;
	}
	.modal_inner.active .close {
		position: absolute;
		right: 0;
		top: 0;
		width: 40px;
		height: 40px;
		overflow: hidden;
		border: none;
		border-radius: 2px;
		background: #888;
	}
		.modal_inner.active .close::before,
		.modal_inner.active .close::after {
			content: "";
			display: block;
			position: absolute;
			top: 50%;
			left: 50%;
			width: 80%;
			height: 4px;
			background: #FFF;
			transform:
				translate(-50%, -50%)
				rotate(45deg);
			;
		}
		.modal_inner.active .close span {
			position: absolute;
			display: block;
			top: -1px;
			left: -1px;
			overflow: hidden;
			height: 1px;
			width: 1px;
		}
		.modal_inner.active .close::after {
			transform:
				translate(-50%, -50%)
				rotate(-45deg);
			;
		}
	.modal_inner.active .modal_body {
		box-sizing: border-box;
		height: calc(100% - 1.2em);
		padding: 16px;
		overflow-y: auto;
	}


.tel_mail {
	margin: 32px 0;
	text-align: center;
}
	.tel_mail .inner {
		display: inline-block;
		vertical-align: middle;
		padding: 0 8px;
		border: 1px #888 solid;
	}
		.tel_mail .inner small {
			margin-right: 8px;
			vertical-align: middle;
			font-weight: bold;
		}
		.tel_mail .inner a {
			color: inherit;
			font-weight: bold;
			text-decoration: none;
		}
		.tel_mail .inner strong {
			font-size: 1.5em;
		}
	.tel_mail .inner + .inner {
		margin-left: 32px;
	}
	.tel_mail .line.inner {
		border: none;
	}

.sec_menu_index {
	width: 73.5%;
	margin: 50px auto;
}
	.sec_menu_index .inner {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
		.sec_menu_index .inner .ttl {
			width: calc(100% - 3.5em);
			margin-bottom: 20px;
			font-weight: bold;
			font-size: 212.5%;
		}
		.sec_menu_index .link_more {
			width: 6.8em;
			text-align: right;
		}
		.sec_menu_index .inner_link {
			width: 45.2%;
			margin: 10px 0;
			border: 1px #707070 solid;
		}
			.sec_menu_index .inner_link a {
				display: flex;
				align-items: center;
				box-sizing: border-box;
				width: 100%;
				padding: 16px 4px 16px 16px;
				color: inherit!important;
				font-size: 125%;
			}
				.sec_menu_index .inner_link .img {
					width: 66px;
					margin-right: 16px;
				}
				.sec_menu_index .inner_link .txt {
					font-weight: bold;
				}
		.sec_menu_index .inner_link + .ttl {
			margin-top: 50px;
		}
		.sec_menu_index .inner_link + .ttl + .link_more {
			margin-top: 50px;
		}

.service_detail_content_wrapper {
	box-sizing: border-box;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 66px;
}
.service_detail_content {
	position: relative;
	margin: 152px 0 80px 48px;
	padding: 27px 31px 31px 47px;
	background: #F9F9F9;
}
	.service_detail_content .ttl {
		position: relative;
		margin: 0 0 21px;
		padding: 0 0 13px;
		border: none;
		font-weight: bold;
		font-size: 162.5%;
	}
		.service_detail_content .ttl::after {
			content: "";
			display: block;
			width: 95px;
			height: 13px;
			background: #FFE600;
		}
			.service_detail_content.purple .ttl::after {
				background: var(--color-purple);
			}
	.service_detail_content .service_name {
		position: absolute;
		left: -1.2em; top: 0;
		line-height: 1;
		margin: 0;
		color: #FFD154;
		font-weight: bold;
		font-size: 131.2%;
		writing-mode: vertical-rl;
		letter-spacing: .1em;
		transform: rotate(180deg);
	}
		.service_detail_content.purple .service_name {
			color: var(--color-purple);
		}
	.service_detail_content .inner {
		display: flex;
		justify-content: space-between;
		margin-bottom: 48px;
	}
		.service_detail_content .inner .txt {
			box-sizing: border-box;
			width: 53.8%;
			padding-right: 16px;
		}
			.service_detail_content .inner .sub_ttl {
				margin: 0 0 10px;
				line-height: 1.3;
				font-weight: bold;
				font-size: 131.2%;
			}
				.service_detail_content .inner .sub_ttl .icon {
					width: 108px;
					margin-right: 13px;
					vertical-align: middle;
				}
		.service_detail_content .inner.no_img .txt {
			width: 100%;
		}
		.service_detail_content .inner .img {
			display: flex;
			width: 46.2%;
		}
			.service_detail_content .inner .img div {
				box-sizing: border-box;
				width: 100%;
				margin: 0 6px;
			}
.fp_link{
	text-align: center;
	margin-bottom: 50px;
}
.fp_catch{
    margin-top: 10px;
    font-size: 120%;
}
.election_catch{
   text-align:center;
   font-size: 130%;
   margin-top: 30px;
}
.election_box{
    width: 100%;
    margin-top: 50px;
    margin-bottom: 50px;
    overflow: hidden;
}
.election_box_child{
   float:left;
   width:32%;
   margin-right:2%;
   border:2px solid #555555;
   box-sizing: border-box;
  margin-bottom:20px;
  padding: 5px;
background-size: auto auto;
background-color: rgba(255, 255, 255, 1);
background-image: repeating-linear-gradient(135deg, transparent, transparent 7px, rgba(236, 236, 236, 0) 7px, rgba(236, 236, 236, 1) 9px );
}
.election_box_child:nth-child(3n){
   float:left;
   width:32%;
   margin-right:0;
   border:2px solid #555555;
}
.election_service01{
    background-image: url(img/img_election_ser01.png);
    background-repeat: no-repeat;
    background-size: contain;
    padding: 25px;
}
.election_service02{
    background-image: url(img/img_election_ser02.png);
    background-repeat: no-repeat;
    background-size: contain;
    padding: 25px;
}
.election_service03{
    background-image: url(img/img_election_ser03.png);
    background-repeat: no-repeat;
    background-size: contain;
    padding: 25px;
}
.election_service04{
    background-image: url(img/img_election_ser04.png);
    background-repeat: no-repeat;
    background-size: contain;
    padding: 25px;
}
.election_service05{
    background-image: url(img/img_election_ser05.png);
    background-repeat: no-repeat;
    background-size: contain;
    padding: 25px;
}
.election_service06{
    background-image: url(img/img_election_ser06.png);
    background-repeat: no-repeat;
    background-size: contain;
    padding: 25px;
}
.election_service07{
    background-image: url(img/img_election_ser07.png);
    background-repeat: no-repeat;
    background-size: contain;
    padding: 25px;
}
.election_service08{
    background-image: url(img/img_election_ser08.png);
    background-repeat: no-repeat;
    background-size: contain;
    padding: 25px;
}
.election_service09{
    background-image: url(img/img_election_ser09.png);
    background-repeat: no-repeat;
    background-size: contain;
    padding: 25px;
}
.election_service10{
    background-image: url(img/img_election_ser10.png);
    background-repeat: no-repeat;
    background-size: contain;
    padding: 25px;
}
.election_service11{
    background-image: url(img/img_election_ser11.png);
    background-repeat: no-repeat;
    background-size: contain;
    padding: 25px;
}
.election_service12{
    background-image: url(img/img_election_ser12.png);
    background-repeat: no-repeat;
    background-size: contain;
    padding: 25px;
}
.election_service13{
    background-image: url(img/img_election_ser13.png);
    background-repeat: no-repeat;
    background-size: contain;
    padding: 25px;
}
.election_service14{
    background-image: url(img/img_election_ser14.png);
    background-repeat: no-repeat;
    background-size: contain;
    padding: 25px;
}
.election_service_stc{
    display: initial;
    margin-left: 70px;
    font-weight: bold;
}
.election_box01{
    overflow: hidden;
    margin: 50px 0;
}
.election_box01_l{
    float: left;
    width: 45%;
    margin-right: 5%;
}
.election_box01_r{
    float: left;
    width: 50%;
}
.ele_po_tit{
    font-size: 28px;
    margin: 10px 0 20px 0;
    font-weight: bold;
}
.ele_po_stc{
    font-size: 20px;
}
@media screen and (max-width: 1200px) {
.election_box_child {
    float: left;
    width: 49%;
    margin-right: 2%;
    border: 2px solid #555555;
    box-sizing: border-box;
    margin-bottom: 20px;
    padding: 5px;
    background-size: auto auto;
    background-color: rgba(255, 255, 255, 1);
    background-image: repeating-linear-gradient(135deg, transparent, transparent 7px, rgba(236, 236, 236, 0) 7px, rgba(236, 236, 236, 1) 9px );
}
.election_box_child:nth-child(2n) {
    float: left;
    width: 49%;
    margin-right: 0;
}
.election_box_child:nth-child(3n) {
    float: left;
    width: 49%;
    margin-right: 2%;
}
.election_box_child:nth-child(6n) {
    float: left;
    width: 49%;
    margin-right: 0;
}
}
@media screen and (max-width: 800px) {
.election_box_child {
    float: inherit;
    width: 100%;
    margin-right: 0;
    border: 2px solid #555555;
    box-sizing: border-box;
    margin-bottom: 20px;
    padding: 5px;
    background-size: auto auto;
    background-color: rgba(255, 255, 255, 1);
    background-image: repeating-linear-gradient(135deg, transparent, transparent 7px, rgba(236, 236, 236, 0) 7px, rgba(236, 236, 236, 1) 9px );
}
.election_box_child:nth-child(2n) {
    float: inherit;
    width: 100%;
    margin-right: 0;
}
.election_box_child:nth-child(3n) {
    float: inherit;
    width: 100%;
    margin-right: 0;
}
.election_box_child:nth-child(6n) {
    float: inherit;
    width: 100%;
    margin-right: 0;
}
.election_box01_l {
    float: inherit;
    width: 100%;
    margin-right: 0
}
.election_box01_r {
    float: inherit;
    width: 100%;
    margin-right: 0;
    margin-top: 30px;
}
.ele_po_tit {
    font-size: 22px;
    margin: 10px 0 10px 0;
    font-weight: bold;
}
.ele_po_stc {
    font-size: 18px;
}
.sec_election {
    display:none;
    background-image: url(img/bg_page_ttl_election.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    padding-top: 58%;
}
.sec_election_sp{
  display:block;
    background-image: url(img/bg_page_ttl_election_sp.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    padding-top: 80%;
}
}
@media screen and (max-width: 800px) {
.fp_catch {
    margin-top: 10px;
    font-size: 80%;
}
}
.img_card_4 {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	list-style: none;
	margin: 16px 0 100px;
	padding: 0;
}
	.img_card_4 .inner_wrap {
		box-sizing: border-box;
		width: 28.5%;
		line-height: 1.6;
		margin: 0 6px;
		padding: 8px 22px 22px;
		border: 1px #707070 solid;
	}
		.img_card_4 .inner_wrap .type {
			margin: 0 0 8px;
		}
		.img_card_4 .inner_wrap .img {
			text-align: center;
		}
		.img_card_4 .inner_wrap .ttl {
			margin: 29px 0px 0;
			padding: 0 13px 19px;
			border-bottom: 2px #707070 solid;
			font-weight: bold;
			font-size: 125%;
			text-align: center;
		}
		.img_card_4 .inner_wrap .inner {
			margin: 12px 4px 0
		}
			.img_card_4 .inner_wrap .inner .cate {
				display: inline-block;
				margin-bottom: 17px;
				padding: .1em 1.8em;
				border: 1px #707070 solid;
				background: #2B2B2B;
				color: #FFF;
				font-weight: bold;
			}


.contact_steps {
	width: 80%;
	margin: 0 auto 24px;
}
	.contact_steps li {
		float: left;
		width: 30%;
		padding: 1em 0;
		background: #EEE;
		text-align: center;
	}
		.contact_steps li strong {
			font-size: 1.2em;
		}
	.contact_steps li + li {
		position: relative;
		margin-left: 5%;
	}
		.contact_steps li + li::before {
			content: "";
			position: absolute;
			left: -8%; top: 0; bottom: 0;
			width: 0;
			height: 0;
			margin: auto;
			border-style: solid;
			border-width: 8px 0 8px 8px;
			border-color: transparent transparent transparent #888888;
		}
	.contact_steps li.active {
		background: #888;
		color: #FFF;
	}

.map_wrap {
	box-sizing: border-box;
	max-width: 544px;
	margin: 0 auto;
	padding: 5px;
	border: 1px #E5E5E5 solid;
	background: #FFF;
}
	.map_wrap .inner {
		position: relative;
		height: 0;
		padding-top: 62.5%;
	}
		.map_wrap .inner iframe {
			position: absolute;
			left: 0;
			top: 0;
			width: 100%;
			height: 100%;
		}


.disc .list {
	position: relative;
	margin-left: 2em;
}
	.disc .list::before {
		content: "・";
		position: absolute;
		left: -1em; top: 0;
	}

table {
	border-collapse: collapse;
	width:100%;
}
table th,
table td {
	padding: 0 .5em;
	border: 1px #c0c0c0 solid;
}
table.no_border th,
table.no_border td {
	border: none;
}

.mq_table {
	min-width: 80%;
	margin: 24px auto 40px;
	border-collapse: collapse;
}
	.mq_table th {
		width: 160px;
		vertical-align: middle;
		padding: 8px 16px;
		border: 1px #999 solid;
		background: #E3EBFB;
	}
	.mq_table thead th {
		text-align: center;
	}
	.mq_table tbody th {
		background: #E3EBFB;
	}
	.mq_table td {
		vertical-align: middle;
		padding: 8px 16px;
		border: 1px #999 solid;
	}
	.mq_table tbody td {
		background: #FFF;
		text-align: left;
	}
	.mq_table .center_middle {
		vertical-align: middle;
		text-align: center;
	}



.scroll.slide_up {
	opacity: 0;
	transform: translate(0, 24px);
	transition: all 0.4s ease-out .0s;
}
.scroll.slide_up.slide2 {
	transition: all 0.4s ease-out .3s;
}
.scroll.slide_up.slide3 {
	transition: all 0.4s ease-out .6s;
}
.scroll.slide_up.slide4 {
	transition: all 0.4s ease-out .9s;
}
.scroll.slide_up.slide5 {
	transition: all 0.4s ease-out 1.2s;
}
.scroll.slide_up[data-flg="true"] {
	opacity: 1;
	transform: translate(0, 0);
}

.scroll.border_w::after {
	width: 0!important;
	transition: all 0.4s ease-out .2s;
}
.scroll.border_w[data-flg="true"]::after {
	width: 100%!important;
}
.scroll.border_w.border_ttl_3[data-flg="true"]::after {
	width: 95px!important;
}
.scroll.border_w.timing2::after {
	transition: all 0.4s ease-out .6s;
}
.scroll.border_w.timing3::after {
	transition: all 0.4s ease-out 1s;
}
.scroll.border_w.timing4::after {
	transition: all 0.4s ease-out 1.4s;
}

.scroll.flip {
	opacity: 0;
}
.scroll.flip[data-flg="true"] {
	animation: flipAnimation 1s forwards .0s;
}
.scroll.flip.timing2[data-flg="true"] {
	animation: flipAnimation 1s forwards .4s;
}
.scroll.flip.timing3[data-flg="true"] {
	animation: flipAnimation 0.5s forwards .8s;
}
.scroll.flip.timing4[data-flg="true"] {
	animation: flipAnimation 0.5s forwards 1.2s;
}


@keyframes flipAnimation{
  from {
   transform: perspective(600px) translate3d(0, 0, 0) rotateY(80deg);
  }

  to {
  transform: perspective(600px) translate3d(0, 0, 0) rotateY(0deg);
  opacity: 1;
  }
}

.scroll.msk-bg {
	overflow: hidden;
	position: relative;
}
	.scroll.msk-bg img {
		opacity: 0;
		transition: .1s all .6s;
	}
	.scroll.msk-bg::after {
		content: "";
		display: block;
		position: absolute;
		top: 100%;
		left: 0;
		z-index: 1;
		width: 100%;
		height: 100%;
		background: var(--color-orange);
	}
	.scroll.msk-bg.pink::after {
		background: var(--color-pink);
	}
	.scroll.msk-bg.green::after {
		background: var(--color-green);
	}
	.scroll.msk-bg.blue::after {
		background: var(--color-blue);
	}
	.scroll.msk-bg.yellow::after {
		background: var(--color-yellow);
	}
	.scroll.msk-bg.purple::after {
		background: var(--color-purple);
	}
	.scroll.msk-bg[data-flg="true"] img {
		opacity: 1;
	}
	.scroll.msk-bg[data-flg="true"]::after {
		animation: msk-bg 1.2s forwards ease-out;
	}
@keyframes msk-bg {
  0% {
	top: 100%;
  }
  10% {
	top: 10%;
  }
  40%, 50% {
	  top: 0;
  }
  60% {
	  top: -90%;
  }
  100% {
	  top: -100%;
  }
}

.scroll.slide_right {
	transform: translate(-110%, 0);
	transition: all 1s ease-out .0s;
}
.scroll.slide_right[data-flg="true"] {
	transform: translate(0, 0);
}
.scroll.slide_left {
	transform: translate(110%, 0);
	transition: all 1s ease-out .0s;
}
.scroll.slide_left[data-flg="true"] {
	transform: translate(0, 0);
}


.post_area.page {
	font-size: 112.5%;
}
.post_area.page h2 {
	margin-bottom: 20px;
	font-size: 166.6%;
	border: none;
}
	.post_area.page h2 strong {
		display: inline-block;
		border-bottom: 14px #FFE600 solid;
	}
.post_area.page h3 {
	margin: 18px 0 0;
	font-weight: bold;
}
.post_area.post {
	box-sizing: border-box;
	max-width: 902px;
	margin: 0 auto;
	padding: 26px;
}
.post_area.post h2 {
	position: relative;
	line-height: 1.5;
	margin: 60px 0 50px;
	padding: 0;
	border: none;
	font-weight: bold;
	font-size: 162.5%;
}
	.post_area.post h2::before {
		content: "";
		position: absolute;
		left: -36px;
		top: 0;
		width: 16px;
		height: 100%;
		background: #FFE600;
	}
	.post_area .img_block, .post_area .wp-block-image {
		display: inline-block;
		position: relative;
		margin: 20px 0;
		padding: 0 40px 34px;
	}
		.post_area .img_block::after, .post_area .wp-block-image::after {
			content: "";
			display: block;
			position: absolute;
			left: 0;
			bottom: 0;
			z-index: -1;
			width: 100%;
			height: calc(100% - 30px);
			background: url("img/bg_grid_orange.png") left top repeat;
			background-size: 320px 195px;
		}
		.post_area .wp-block-image img {
			height: auto;
		}
		.post_area .wp-block-image figcaption {
			background: rgba(255, 255, 255, 0.8);
			padding: 5px;
		}


#footer {
	margin-top: 120px;
}
#footer .wrapper{
	max-width:1400px;
}
	#footer .contact_area {
		position: relative;
		max-width: 1280px;
		margin: 0 auto;
		padding: 72px 0 52px;
		background: #F1F3F5;
		text-align: center;
	}
		#footer .contact_area::before {
			content: "";
			display: block;
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
			width: 0;
			height: 0;
			margin: auto;
			border-style: solid;
			border-width: 40px 40px 0 40px;
			border-color: #ffffff transparent transparent transparent;
		}
		#footer .contact_area .catch {
			margin: 0;
			font-weight: bold;
			font-size: 143%;
		}
		#footer .contact_area address.tel {
			margin: 32px 0 0;
		}
			#footer .contact_area address.tel .inner {
				display: inline-block;
				line-height: 1;
				padding: 0 16px 6px;
				border-bottom: 3px #000000 solid;
				font-size: 237%;
			}
				#footer .contact_area address.tel .icon {
					width: 28px;
					vertical-align: bottom;
					margin-bottom: .2em;
				}
				#footer .contact_area address.tel .tel {
					display: inline-block;
					font-weight: bold;
					vertical-align: bottom;
				}
				#footer .contact_area address.tel .reception_hours {
					display: inline-block;
					margin-bottom: .5em;
					font-weight: bold;
					font-size: 39.4%;
					vertical-align: bottom;
				}
		.btn_contact.body_middle,
		#footer .contact_area .btn_contact {
			display: flex;
			justify-content: center;
			flex-wrap: wrap;
			list-style: none;
			padding: 0;
		}
			.btn_contact.body_middle li,
			#footer .contact_area .btn_contact li {
				margin: 0 12px 12px;
			}
				.btn_contact.body_middle li a,
				#footer .contact_area .btn_contact li a {
					display: inline-block;
					box-sizing: border-box;
					min-width: 275px;
					padding: 1.1em 1.5em 1.1em 73px;
					border: 1px #707070 solid;
					color: inherit!important;
					font-weight: bold;
					font-size: 100%;
				}
				.btn_contact.body_middle li.btn_form a,
				#footer .contact_area .btn_contact li.btn_form a {
					background: #FFF url("img/header/icon_mail.svg") 23px center no-repeat;
					background-size: 35px auto;
				}
				.btn_contact.body_middle li.btn_line a,
				#footer .contact_area .btn_contact li.btn_line a {
					background: #FFF url("img/header/icon_line.svg") 14px center no-repeat;
					background-size: 37px auto;
				}
				.btn_contact.body_middle li.btn_download a,
				#footer .contact_area .btn_contact li.btn_download a {
					background: #FFF url("img/icon_download.png") 20px center no-repeat;
					background-size: 29px auto;
				}
				.btn_contact.body_middle li.btn_meeting a,
				#footer .contact_area .btn_contact li.btn_meeting a {
					max-width: 275px;
					line-height: 1.4;
					padding-top: .59em;
					padding-bottom: .59em;
					background: #FFF url("img/icon_meeting.svg") 20px center no-repeat;
					background-size: 36px auto;
				}
			.btn_contact.body_middle li {
				margin: 0 8px 12px;
			}
	.footer_site_name {
		display: flex;
		justify-content: space-between;
		align-items: end;
		line-height: 1.43;
		margin: 60px 0 0;
		padding: 0 17px 0 24px;
	}
		.footer_site_name .inner_left {
			display: flex;
		}
			.footer_site_name .inner_left p {
				margin: 0;
			}
			.footer_site_name .inner_left .logo {
				max-width: 228px;
				margin: 0 40px 0 0;
			}
		.footer_site_name .sns ul {
			list-style: none;
			padding: 0 0 .5em;
			letter-spacing: -.4em;
		}
			.footer_site_name .sns ul li {
				display: inline-block;
				width: 24px;
				letter-spacing: normal;
			}
			.footer_site_name .sns ul li + li {
				margin-left: 8px;
			}
	#footer_nav {
		margin: 47px 0 20px;
	}
		#footer_nav .main_menu {
			display: flex;
			justify-content: space-between;
			list-style: none;
			line-height: 1.3;
			padding: 0;
		}
			#footer_nav .main_menu > li {
				width: 19%;
				margin: 0 0.5%;
			}
					#footer_nav .main_menu li a .inner {
						font-weight: bold;
						font-size: 92%;
						letter-spacing: -1px;
					}
					#footer_nav p.inner0{
						margin-bottom: .5em;
						margin-top: .5em;
					}
					#footer_nav  .inner0 a{
						font-weight: bold;
						font-size: 90%;
						margin-left: -5px;
					}
					#footer_nav .btn_show_hide {
						display: none;
					}
				#footer_nav .main_menu li .sub_menu {
					list-style: disc;
					padding-left: 1.2em;
					font-size: 90%;
					letter-spacing: -.1em;
				}
			#footer_nav .main_menu li {
				margin-top: .5em;
			}
#footer_nav .main_menu li:last-child {
    margin-top: 0.5em;
    margin-bottom:1.0em;
}
#footer_nav .inner_head{
}
#footer .copy{
    text-align: center;
}
/*.splash {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10000;
	width: 100%;
	height: 100%;
}
	.splash::before,
	.splash::after {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		width: 50%;
		height: 100%;
		background: #FFE600;
		transition: all .2s ease-out 0ms;
	}
	.splash::before {
		left: 0;
	}
	.splash::after {
		right: 0;
	}

body.appear .splash {
	width:100%;
	z-index: -1;
	transition: all .0s ease-out .2s;
}
	body.appear .splash::before,
	body.appear .splash::after {
		width: 0;
	}
body.fadeout .splash {
	z-index: 10000;
	transition: none;
}
	body.fadeout .splash::before,
	body.fadeout .splash::after {
		width: 50%;
	}*/
/*--ドローンページ--*/
.drone_tit{
    font-weight: bold;
    font-size: 20px;
    border-left: 5px solid #91ccff;
    background-color: #ebf9ff;
    padding: 0 10px;
}
.drone_p{
    font-weight: bold;
    font-size: 131.2%;
    text-align: left;
    margin-bottom: 10px;
}
.drone_stc{
}
.drone_img{
    margin: 0 auto;
    text-align: center;
    margin-bottom: 30px;
}

#flashing {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	height: 100vh;
	padding-top: 80px;
	margin: 0 -10%;
	overflow: hidden;
	transition: opacity ease-out .6s;
	z-index: -1;
}
	#flashing > div {
		background: url(img/top/flashing.png) 0 0 no-repeat;
		background-size: cover;
		width: 100%;
		height: 0;
		padding-top: 56.25%;
	}

/*--ドローンページ--*/
.drone_tit{
    font-weight: bold;
    font-size: 20px;
    border-left: 5px solid #91ccff;
    background-color: #ebf9ff;
    padding: 0 10px;
}
.drone_p{
    font-weight: bold;
    font-size: 131.2%;
    text-align: left;
    margin-bottom: 10px;
}
.drone_stc{
}
.drone_img{
    margin: 0 auto;
    text-align: center;
    margin-bottom: 30px;
}

#flashing {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	height: 100vh;
	padding-top: 80px;
	margin: 0 -10%;
	overflow: hidden;
	transition: opacity ease-out .6s;
	z-index: -1;
}
	#flashing > div {
		background: url(img/top/flashing.png) 0 0 no-repeat;
		background-size: cover;
		width: 100%;
		height: 0;
		padding-top: 56.25%;
	}
.drone_3cm{
  margin-top:50px;
  overflow:hidden;

}
.drone_3cm_child{
  position:relative;
  float:left;
  width:32%;
  padding-top:23%;
  margin-right:2%;
  margin-bottom: 20px;
}
.drone_3cm_child:nth-child(3n){
  position:relative;
  float:left;
  width:32%;
  padding-top:23%;
  margin-right:0;
 margin-bottom: 20px;
}
.drone_3cm_child iframe{
	position:absolute;
	top:0;
	right:0;
	width:100%;
	height:100%;
}
.drone_box{
   max-width:100%;
    overflow: hidden;
    margin-top: 50px;
}
.drone_box_l{
   float:left;
   width:55%;
   margin-right:5%;
}
.drone_box_r{
   float:left;
   width:40%;
}
@media screen and (max-width: 800px) {
.drone_3cm_child{
  position:relative;
  float:inherit;
  width:100%;
  padding-top:56%;
  margin-right:0;
  margin-bottom: 20px;
}
.drone_3cm_child:nth-child(3n){
  position:relative;
  float:inherit;
  width:100%;
  padding-top:56%;
  margin-right:0;
 margin-bottom: 20px;
}
.drone_box_l{
  float:inherit;
  width:100%;
   margin-right:0;
  margin-bottom:20px;
}
.drone_box_r{
  float:inherit;
  width:100%;
}
#footer_nav  .inner0 a{
font-weight: bold;
font-size: 112.5%;
margin-top: 20px;
}
#footer_nav .main_menu li:last-child {
    margin-top: 1.5em;
    margin-bottom:1.0em;
}
}
.con_link a{
    background-color: #17c2c9;
    color: #ffffff;
    padding: 5px;
    width: 100%;
    display: block;
    text-align: center;
}
/*--ドローン料金表--*/
.tbl-r02 th {
  background: #7b7b7b;
  border: solid 1px #ccc;
  color: #fff;
  padding: 10px;
}
.tbl-r02 td {
  border: solid 1px #ccc;
  padding: 10px;
}

@media screen and (max-width: 800px) {
  .last td:last-child {
    border-bottom: solid 1px #ccc;
    width: 100%;
  }
  .tbl-r02 {
    font-size: 93%;
    max-width: 95%;
  }
  .tbl-r02 th,
  .tbl-r02 td {
    border-bottom: none;
    display: block;
    width: 100%;
  }
}

/*--マンガ制作--*/
.manga_center{
 text-align:center;
}
.manga_page_ttl_details {
	background: url("img/bg_manga_detail_ttl.png") top center no-repeat;
    background-size: cover;
    background-position: top;
    height: 50em;
}
.manga_h1 {
    margin-bottom: 10px;
    font-weight: bold;
    font-size: 160%;
}
.manga_sec00{
}
.manga_sec01{
}
.manga_li{
   margin-top:40px;
}
.manga_li li{
    list-style: none;
    text-align: left;
    width: 700px;
    margin: 0 auto;
    margin-top: 30px;
    padding-left: 50px;
    background-image: url(img/manga_check.png);
    background-repeat: no-repeat;
    font-size: 150%;
    font-weight: bold;
}
.manga_sec00{
    width: 100%;
    background-image: url(img/manga_bg.jpg);
    padding: 50px 0;
    margin-bottom: 80px;
    text-align: center;
}
.manga_sec00_block{
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}
.manga_sec00_box{
    overflow: hidden;
}
.manga_point00{
    padding: 25px 0 30px 10px;
    width: 600px;
    margin: 0 auto;
    margin-top: 50px;
    font-size: 200%;
    font-weight: bold;
}
.manga_point01{
background-image: url(img/manga_p01.png);
    background-repeat: no-repeat;
    padding: 25px 0 30px 110px;
    margin-top: 50px;
    font-size: 200%;
    font-weight: bold;
   text-align:left;
}
.manga_point01 span{
    background: linear-gradient(transparent 90%, #ff9c29 90%);
    font-weight: bold;
}
.manga_point02{
    background-image: url(img/manga_p02.png);
    background-repeat: no-repeat;
    padding: 0 0 0 120px;
    margin: 0 auto;
    margin-top: 50px;
    font-size: 200%;
    font-weight: bold;
    text-align: left;
    line-height: 140%;
}
.manga_point02 span{
    background: linear-gradient(transparent 90%, #ff9c29 90%);
    font-weight: bold;
}
.manga_point03{
background-image: url(img/manga_p03.png);
    background-repeat: no-repeat;
    padding: 0 0 0 120px;
    margin-top: 50px;
    font-size: 200%;
    font-weight: bold;
   text-align:left;
    line-height: 140%;
}
.manga_point03 span{
    background: linear-gradient(transparent 90%, #ff9c29 90%);
    font-weight: bold;
}
.manga_point04{
    font-size: 350%;
    font-weight: bold;
    text-align: left;
    margin: 50px 0 10px 0;
}
.manga_point04 span{
    position: relative;
    top: -7px;
    font-size: 60%;
    font-weight: bold;
    margin-left: 10px;
}
.manga_sec00_box_l{
    float: left;
    width: 50%;
    margin-top: 30px;
}
.manga_sec00_box_r{
    float: left;

    width: 50%;
    margin-top: 30px;
}
.manga_stc{
    text-align: left;
    margin-top: 20px;
}
.manga_img{
  margin:20px 0;
}
.manga_flow{
    overflow: hidden;
    width: 100%;
    margin-top: 50px;
}
.manga_flow_l{
    float: left;
    width: 30%;
    margin-right: 2%;
    background-image: url(img/manga_flow.png);
    background-repeat: no-repeat;
    background-size: contain;
    height: 45px;
    padding: 13px 0 0 0;
    text-align: center;
    font-size: 120%;
    font-weight: bold;
}
.manga_flow_r{
    float: left;
    width: 68%;
    text-align: left;
    font-size: 90%;
    line-height: 130%;
}
.price tr td{
    padding: 10px;
}
@media screen and (max-width: 800px) {
.manga_center{
 text-align:center;
}
.manga_page_ttl_details {
    background: url(img/bg_manga_detail_ttl_sp.png) top center no-repeat;
    background-size: contain;
    background-position: top;
    height: inherit;
    padding-top: 130%;
}
.manga_h1 {
    margin-bottom: 10px;
    font-weight: bold;
    font-size: 160%;
}
.manga_sec00{
}
.manga_sec01{
}
.manga_li{
    margin-top: 20px;
    margin-left: -1.5em;
}
.manga_li li{
    list-style: none;
    text-align: left;
    width: 90%;
    margin: 0 auto;
    margin-top: 10px;
    padding-left: 30px;
    background-image: url(img/manga_check.png);
    background-repeat: no-repeat;
    background-size: 20px;
    background-position-y: 5px;
    font-size: 100%;
    font-weight: bold;
    line-height: 150%;
}
.manga_sec00{
    width: 100%;
    background-image: url(img/manga_bg.jpg);
    padding: 50px 0;
    margin-bottom: 80px;
}
.manga_sec00_block{
    max-width: 90%;
    margin: 0 auto;
}
.manga_sec00_box{
    overflow: hidden;
}
.manga_point00{
    padding: 0;
    width: 95%;
    margin: 0 auto;
    margin-top: 50px;
    font-size: 130%;
    font-weight: bold;
}
.manga_point01{
    background-image: url(img/manga_p01.png);
    background-repeat: no-repeat;
    padding: 10px 0 0 110px;
    margin-top: 50px;
    font-size: 120%;
    font-weight: bold;
    text-align: left;
}
.manga_point01 span{
    background: linear-gradient(transparent 90%, #ff9c29 90%);
    font-weight: bold;
}
.manga_point02{
background-image: url(img/manga_p02.png);
    background-repeat: no-repeat;
    padding: 10px 0 0 110px;
    margin-top: 50px;
    font-size: 120%;
    font-weight: bold;
    text-align: left;
}
.manga_point02 span{
    background: linear-gradient(transparent 90%, #ff9c29 90%);
    font-weight: bold;
}
.manga_point03{
background-image: url(img/manga_p03.png);
    background-repeat: no-repeat;
    padding: 10px 0 0 110px;
    margin-top: 50px;
    font-size: 120%;
    font-weight: bold;
    text-align: left;
}
.manga_point03 span{
    background: linear-gradient(transparent 90%, #ff9c29 90%);
    font-weight: bold;
}
.manga_point04{
    font-size: 350%;
    font-weight: bold;
    text-align: left;
    margin: 50px 0 10px 0;
}
.manga_point04 span{
    position: relative;
    top: 10px;
    font-size: 50%;
    font-weight: bold;
    margin-left: 0;
    display: block;
}
.manga_sec00_box_l{
    float: inherit;
    width: 100%;
    margin-top: 0;
}
.manga_sec00_box_r{
    float: inherit;
    width: 100%;
    margin-top: 0;
}
.manga_stc{
    text-align: left;
    margin-top: 20px;
}
.manga_img{
  margin:20px 0;
}
.manga_flow{
    overflow: hidden;
    width: 100%;
    margin-top: 50px;
}
.manga_flow_l{
    float: inherit;
    width: 100%;
    margin-right: inherit;
    background-image: url(img/manga_flow.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top;
    padding: inherit;
    padding-top: 6%;
    text-align: center;
    font-size: 120%;
    font-weight: bold;
}
.manga_flow_r{
    float: inherit;
    width: 100%;
    text-align: left;
    font-size: 100%;
    line-height: 130%;
    margin-top: 20px;
}
.price tr td{
    padding: 10px;
    font-size:90%;
}
}
.img_meo{
   text-align: center;
    margin: 20px 0 100px 0;
}
/*--オンライン配信--*/
.haishin_page_ttl_details {
    background: url(img/bg_haishin_detail_ttl.png) top center no-repeat;
    background-size: cover;
    background-position: top;
    height: 65em;
    margin-bottom: 50px;
}
.haishin_box{
    background-image: url(img/haishin_po01.png);
    background-size: contain;
    background-repeat: no-repeat;
    padding-left: 180px;
    margin: 0 auto;
    text-align: center;
    width: 500px;
    margin-top: 80px;
}
.haishin_h2{
    margin: 100px 0 20px 0;
}
.haishin_h2_r{
    text-align: left;
    margin-top: 15px;
}
.haishin_h2_r img{
    width: 300px;
    padding: 5px 0;
}
.haishin_h2 img{
    margin: 0 auto;
    display: block;
    width: 300px;
    margin-bottom: 10px;
}
.haishin_box_01{
    overflow: hidden;
    margin: 0 auto;
    margin-top: 80px;
    max-width: 1000px;
}
.haishin_box_01_l{
   float:left;
   width:40%;
   margin-right:2%;
}
.haishin_box_01_l img{
  width:100%;
}
.haishin_box_01_r{
   float:left;
   width:58%
}
.haishin_stc{
    font-size: 70%;
    margin-left: 5px;
}
.haishin_stc01 {
    font-size: 110%;
    margin-left: 5px;
    line-height: 130%;
}
.haishin_culumn2{
    max-width: 1000px;
    margin: 0 auto;
}
.haishin_culumn2_child{
    float: left;
    width: 45%;
    margin-right:10%;
    margin-bottom: 50px;
}
.haishin_culumn2_child:nth-child(2n){
    float: left;
    width: 45%;
    margin-right: 0;
}
.haishin_culumn2_child img{
   width:100%;
}
.haishin_culumn3{
    max-width: 1000px;
    margin: 0 auto;
}
.haishin_culumn3_child{
    float: left;
    width: 32%;
    margin-right: 2%;
    margin-bottom: 2%;
    border: 2px solid #b9b9b9;
    box-sizing: border-box;
}
.haishin_culumn3_child:nth-child(3){
    float: left;
    width: 32%;
    margin-right: 0;
    border: 2px solid #b9b9b9;
    box-sizing: border-box;
}
.haishin_culumn3_child img{
   width:100%;
}
.haishin_tit{
    font-size: 230%;
    font-weight: bold;
    margin: 15px 0 10px 0;
    line-height: 120%;
}
.haishin_tit02{
    font-size: 100%;
    font-weight: bold;
    margin-bottom: 0;
    padding: 5px 10px;
}
.haishin_p05{
    padding: 5px;
    height: 12em;
}
.haishin_flow{
    border-bottom: 5px solid #007eca;
    margin-bottom: 30px;
}
.haishin_flow_num{
    font-size: 250%;
    font-weight: bold;
    margin-right: 15px;
}
.haishin_flow_tit{
    font-size: 150%;
    font-weight: bold;
}
.haishin_flow_stc{
    display: block;
    margin-left: 10px;
}
@media screen and (max-width: 800px) {
.haishin_page_ttl_details {
    background: url(img/bg_haishin_detail_ttl_sp.png) top center no-repeat;
    background-size: contain;
    background-position: top;
    height: inherit;
    padding-top: 110%;
    margin-bottom: 0;
}
.haishin_h2 img {
    margin: 0 auto;
    display: block;
    width: 250px;
    margin-bottom: 10px;
}
.haishin_box{
    background-image: none;
    background-size: contain;
    background-repeat: no-repeat;
    padding-left: 0;
    margin: 0 auto;
    text-align: center;
    width: 100%;
    margin-top: 80px;
}
.haishin_h2{
    margin: 100px 0 20px 0;
}
.haishin_h2_r{
    margin-top: 15px;
    text-align: center;
}
.haishin_h2_r img{
    width: 300px;
    padding: 5px 0;
}
.haishin_h2 img{
    margin: 0 auto;
    display: block;
    width: 300px;
    margin-bottom: 10px;
}
.haishin_box_01{
    overflow: hidden;
    margin: 0 auto;
    margin-top: 80px;
    max-width: 1000px;
}
.haishin_box_01_l{
float: inherit;
    width: 100%;
    margin: 0 auto;
    margin-right: 0;
}
.haishin_box_01_l img{
  width:100%;
}
.haishin_box_01_r{
float: inherit;
    width: 100%;
    margin: 0 auto;
    margin-right: 0;
}
.haishin_box_01_r img{
margin: 0 auto;
    display: block;
    margin-top: 15px;
    width: 80%;
}
.haishin_stc{
    font-size: 70%;
    margin-left: 5px;
}
.haishin_stc01 {
    font-size: 110%;
    margin-left: 5px;
    line-height: 130%;
}
.haishin_culumn2{
    max-width: 1000px;
    margin: 0 auto;
}
.haishin_culumn2_child{
float: inherit;
    width: 100%;
    margin-right: 10%;
    margin-bottom: 50px;
}
.haishin_culumn2_child:nth-child(2n){
float: inherit;
    width: 100%;
    margin-right: 10%;
    margin-bottom: 50px;
}
.haishin_culumn2_child img{
   width:100%;
}
.haishin_culumn3{
    max-width: 1000px;
    margin: 0 auto;
}
.haishin_culumn3_child{
float: inherit;
    width: 100%;
    margin-right: 0;
    margin-bottom: 30px;
    border: 2px solid #b9b9b9;
    box-sizing: border-box;
}
.haishin_culumn3_child:nth-child(3){
float: inherit;
    width: 100%;
    margin-right: 0;
    border: 2px solid #b9b9b9;
    box-sizing: border-box;
}
.haishin_culumn3_child img{
   width:100%;
}
.haishin_tit{
    font-size: 150%;
    font-weight: bold;
    margin: 15px 0 10px 0;
    line-height: 120%;
}
.haishin_tit02{
    font-size: 100%;
    font-weight: bold;
    margin-bottom: 0;
    padding: 5px 10px;
}
.haishin_p05{
    padding: 5px;
    height: inherit;
}
.haishin_flow{
    border-bottom: 5px solid #007eca;
    margin-bottom: 30px;
}
.haishin_flow_num{
    font-size: 250%;
    font-weight: bold;
    margin-right: 15px;
}
.haishin_flow_tit{
    font-size: 150%;
    font-weight: bold;
}
.haishin_flow_stc{
display: block;
}
}
/*--ECサイト--*/
.haishin_page_ttl_details.-ec {
	background-image: url(img/bg_ec-site_detail_ttl.png);
}
.haishin_box.-ec {
	width: 550px;
}
.haishin_box_01_r.-ec img {
	margin-bottom: 30px;
}
.ec_table {
	text-align: center;
}
.service_card.-ec {
	justify-content: flex-start;
	gap: 2%;
}
.service_card.-ec .inner {
	border: 0;
}
.service_card.-ec .img {
	position: relative;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background: #fdf6d0;
}
.service_card.-ec .img > div {
	position: absolute;
	top: 10%;
	left: 10%;
	width: 80%;
	height: 80%;
}
.service_card.-ec .img img {
	display: block;
	object-fit: contain;
	max-width: none;
	width: 100%;
	height: 100%;
}
.service_card.-ec .inner .ttl {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-grow: 0;
	height: 3em;
}
@media screen and (max-width: 800px) {
	.haishin_page_ttl_details.-ec {
		background-image: url(img/bg_ec-site_detail_ttl_sp.png);
	}
	.haishin_box.-ec {
		width: 100%;
	}
	.haishin_box_01_r.-ec img {
		width: 100%;
	}
	.service_card.-ec .inner .ttl {
		justify-content: flex-start;
		margin-top: 0;
	}
}
/*--SEO対策--*/
.page_ttl_details.-seo {
	background-image: url(img/bg_seo_detail_ttl.jpg);
}

/*--採用情報--*/
.rec_box{
    width:90%;
    margin:0 auto;
}
.rec_tit{
    font-size: 22px;
    font-weight: bold;
    border-left: 5px solid #ffe600;
    padding-left: 10px;
    margin-bottom: 10px;
}
.rec_stc{
   margin-bottom:20px;
}
.stc_r{
    text-align: right;
    margin-top: -20px;
    font-size: 20px;
    font-weight: bold;
}
table{
  border-collapse: collapse;
  width: 100%;
  margin: 20px 0;
}
.tb01 th,
.tb01 td{
  padding: 10px;
  border: solid 1px #ccc;
  text-align:left;
  box-sizing:border-box;
}
.tb01 th {
  background: #848484;
  color: #fff;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  .tb01 {
    width: 100%;
  }
  table.tb01 th,
  table.tb01 td {
    display: block;
    width: 100%;
    border-bottom:none;
  }
  .tb01 tr:last-child{
    border-bottom: solid 1px #ccc;
  }
.rec_tit {
    font-size: 120%;
}
}
/*PCでは無効（改行しない）*/
.br_sp{
    display: none;
}

/*スマートフォンでは有効（改行する）*/
@media screen and (max-width:1200px) {
    .br_sp{
        display: block;
    }
}


/*--カレンダー--*/

.page_ttl_details. -calendar{
    background: url(img/bg_detail_ttl.png) top center no-repeat;
    background-size: auto 100%;
}
.calendar_ttl {
	flex-grow:1;
	width: 100%;
	margin: 20px 0 0;
	font-weight: bold;
	font-size: 100%;
	line-height: 130%;
}
.calendar_txt_wrap {
	width: auto;
	line-height: 130%;
	text-align: center;
	margin-top: 20px;
}
.sec_service_4 {
	margin-top: 50px;
}
	.sec_service_4 .catch {
		max-width: 840px;
		margin: 0 auto;
		font-weight: bold;
		font-size: 131.2%;
		text-align: center;
	}
.sec_service_4.sec_system {
	margin-top: 108px;
}

.calendar_card {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	list-style: none;
	margin: 31px 0 15px;
	padding: 0;
}
	.calendar_card .inner {
		display: flex;
		flex-direction: column;
		box-sizing: border-box;
		width: 23.5%;
		margin: 0 0 49px;
		padding: 17px 17px 22px;
		border: 1px #707070 solid;
		text-align: center;
	}
		.calendar_card .inner .img {
			width: 100%;
		}
			.calendar_card .inner .img img {
				width: 100%;
				max-width: 171px;
			}
		.calendar_card .inner .ttl {
			flex-grow:1;
			width: 100%;
			margin: 20px 0 0;
			font-weight: bold;
			font-size: 131%;
		}
		.calendar_card .inner .txt_wrap {
			width: 100%;
			min-height: 7em;
			margin: 16px 0 0;
			line-height: 1.4;
			text-align: left;
		}
.calendar_card .inner_non {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    width: 23.5%;
    margin: 0 0 49px;
    padding: 17px 17px 22px;
    text-align: center;
}
.ma_b50{
   margin-bottom:50px;
}
.calendar_link a{
    background-color: #ffe600;
    display: block;
    width: 300px;
    text-align: center;
    color: #000000;
    margin: 0 auto;
    font-size: 22px;
    font-weight: bold;
    padding: 15px;
    border-radius: 50px;
    margin-bottom: 50px;
}
.img_center{
    display: block;
    text-align: center;
    margin: 50px 0;
}
@media screen and (max-width:850px) {
.calendar_card .inner {
    display: block;
    box-sizing: border-box;
    width: 100%;
    margin: 10px;
    padding: 17px 17px 22px;
    border: 1px #707070 solid;
    text-align: center;
}
.calendar_card .inner .img img {
    width: 100%;
    max-width: 300px;
}
}

/*--タオル--*/
.page_ttl_details_towel {
	background: url("img/bg_detail_ttl_towel.png") top center no-repeat;
	background-size: auto 100%;
}
	.page_ttl_details_towel .inner_wrapper {
		box-sizing: border-box;
		max-width: 1280px;
		overflow: hidden;
		margin: 0 auto;
		padding: 20px 0 130px 66px;
	}
		.page_ttl_details_towel .inner_wrapper .ttl {
			float: left;
			width: 48%;
			max-width: 600px;
			padding: 170px 0 0;
			font-size: 218%;
		}
			.page_ttl_details_towel .inner_wrapper .ttl small {
				display: inline-block;
				margin-bottom: 20px;
				font-weight: bold;
				font-size: 100%;
			}
		.page_ttl_details_towel .inner_wrapper .img {
			float: right;
			width: 50%;
			text-align: right;
		}
		.page_ttl_details_towel .ttl_balloon {
			float: left;
			width: 48%;
			max-width: 574px;
		}
			.page_ttl_details_towel .ttl_balloon .txt_wrapper {
				position: relative;
			}
				.page_ttl_details_towel .ttl_balloon .txt_wrapper::before {
					content: "";
					display: block;
					width: 100%;
					height: 0;
					padding-top: 11.6%;
					background: url("img/ttl_balloon_head.png") left top no-repeat;
					background-size: 100% auto;
				}
				.page_ttl_details_towel .ttl_balloon .txt_wrapper_inner {
					overflow: hidden;
					padding: 0 16px;
					background: url("img/ttl_balloon_body.png") left top repeat-y;
					background-size: 100% auto;
					font-size: 125%;
					text-align: center;
				}
					.page_ttl_details_towel .ttl_balloon .txt_wrapper_inner p {
						margin: 0;
					}
				.page_ttl_details_towel .ttl_balloon .txt_wrapper::after {
					content: "";
					display: block;
					width: 100%;
					height: 0;
					padding-top: 4.9%;
					background: url("img/ttl_balloon_footer.png") left top no-repeat;
					background-size: 100% auto;
				}
.towel_card {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    list-style: none;
    margin: 31px 0 15px;
    padding: 0;
}
.towel_card .inner {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    width: 48%;
    margin: 0 0 49px;
    padding: 17px 17px 22px;
    border: 1px #707070 solid;
    text-align: center;
}
.towel_card .inner .img img {
    width: 100%;
    max-width: 350px;
}
.towel_detail{
    margin: 0;
    font-size: 15px;
}
.towel_detail tr{
    display: flow;
    border-bottom: 1px solid #979797;
    padding: 2px 0;
}
.towel_detail tr:last-child{
    border-bottom: none;
}
.towel_detail td{
    border: 5px solid #ffffff;
}
.towel_detail_tit{
    background-color: #289ebb;
    color: #ffffff;
    padding: 5px;
}
.towel_detail_border{
    border-bottom: 1px solid #979797 !important;
    margin-bottom: 7px;
}
.towel_detail_tit01{
    background-color: #21b9c0;
    color: #ffffff;
    padding: 5px;
}
.towel_made{
    border: 1px solid #000000;
    margin-left: 10px;
    padding: 5px;
    font-size: 14px;
    font-weight: bold;
}
@media screen and (max-width: 980px) {
.page_ttl_details_towel .inner_wrapper .img {
        float: none;
        box-sizing: border-box;
        width: 100%;
    }
.page_ttl_details_towel .inner_wrapper .ttl {
        padding-top: 100px;
        font-size: 150%;
        width: 100%;
        float: inherit;
    }
.page_ttl_details .inner_wrapper .ttl {
        float: none;
        box-sizing: border-box;
        width: 100%;
        max-width: 800px;
        margin: 0 auto;
        padding-right: 16px;
        padding-left: 16px;
    }
.page_ttl_details_towel .inner_wrapper {
    box-sizing: border-box;
    max-width: 98%;
    overflow: hidden;
    margin: 0 auto;
    padding: 20px;
}
.page_ttl_details_towel .ttl_balloon {
        float: none;
        width: 100%;
        max-width: 800px;
        margin: 0 auto;
        transform: translateY(-100%);
    }
}
@media screen and (max-width:850px) {
.towel_card .inner {
    width: 100%;
}
}
@charset "utf-8";
@media screen and (max-width: 1280px){
	.page_ttl_details .inner_wrapper {
		max-width: 1148px;
		padding-left: 0px;
	}
}
@media screen and (max-width: 1200px){
	#header .wrapper {
		padding-right: 16px;
		padding-left: 16px;
	}
		#site_name {
			width: 33%;
		}
		#global {
			width: calc(100% - 33%);
		}
			#global .main_menu > li {
				margin: 12px 3% 0;
			}
		#header.page_details {
			left: 16px;
			right: auto;
		}
			.page_details #site_name {
				width: 100%;
			}
	.page_ttl_details .inner_wrapper {
		margin-right: 16px;
		margin-left: 16px;
	}

	.wrapper {
		padding-right: 10px;
		padding-left: 10px;
	}
}
@media screen and (max-width: 980px){
	#site_name {
		width: 28%;
	}
	#global {
		width: calc(100% - 28%);
	}
		#global .main_menu {
			width: calc(100% - 180px);
		}
			#global .main_menu > li {
				margin: 12px 2% 0;
			}
		#global .address {
			width: 180px;
		}

	.page_ttl_details .inner_wrapper {
		padding-bottom: 0;
	}
		.page_ttl_details .inner_wrapper .ttl {
			float: none;
			box-sizing: border-box;
			width: 100%;
			max-width: 800px;
			margin: 0 auto;
			padding-right: 16px;
			padding-left: 16px;
		}
		.page_ttl_details .inner_wrapper .img {
			float: none;
			box-sizing: border-box;
			width: 100%;
		}
			.page_ttl_details .inner_wrapper .img img {
				width: 90%;
				max-width: 800px;
			}
		.page_ttl_details .ttl_balloon {
			float: none;
			width: 100%;
			max-width: 800px;
			margin: 0 auto;
			transform: translateY(-100%);
		}


	.page_ttl.sec_homepage .cate {
		font-size: 281%;
	}
		.page_ttl.sec_homepage .cate .inner {
			padding: .2em .5em;
		}

	.top_mission {
		display: block;
		margin-top: 44px;
	}
		.top_mission p.img {
			width: auto;
			margin-bottom: 24px;
			text-align: center;
		}
			.top_mission p.img .mission_head {
				margin-bottom: 10px;
				transform: initial;
			}
			.top_mission p.img img {
				width: 100%;
				max-width: 576px;
			}
		.top_mission p.txt {
			width: auto;
		}
	.bubble_ttl {
		font-size: 165%;
	}
	.sec_voices .voices_wrap .inner_wrap {
		width: 30.5%;
	}
}
@media screen and (min-width: 800px){
	.mq_show {
		display: none;
	}
	#menu_open {
		display: none;
	}
	.faq_wrap dd {
		display: block!important;
	}
	#footer_nav .main_menu li .sub_menu {
		display: block!important;
	}
}


@media screen and (max-width: 800px){

body {
	min-width: 320px;
}

#header .wrapper.hover {
	display: none;
}

/*.mq_hide {
	display: none!important;
}*/
.mq_show {
	display: block;
	position: static;
	width: auto;
	height: auto;
}
span.mq_show {
	display: inline;
}

.pagetop {
	right: 0;
	width: 45px;
	height: 45px;
}

.large_txt {
	font-size: 130%;
}

#topic_pass ul {
	padding-right: 10px;
	padding-left: 10px;
}

.scroll.slide_up.slide2,
.scroll.slide_up.slide3,
.scroll.slide_up.slide4,
.scroll.slide_up.slide5 {
	transition: all 0.4s ease-out .0s;
}

.btn_arrow_right {
	min-width: 200px;
	font-size: 81%;
}
	.btn_arrow_right .link_txt {
		min-height: 15px;
		padding: 0 16px 0 32px;
		background-size: 15px auto;
	}

.sub_menu_head ul {
	flex-wrap: wrap;
}
	.sub_menu_head ul li {
		width: 42%;
		text-align: center;
	}

.sub_menu_btn {
	margin-bottom: 67px;
}
	.sub_menu_btn li {
		margin: 16px 8px;
	}

.border_ttl {
	padding-bottom: .8em;
	font-size: 150%;
	text-align: center;
}
	.border_ttl strong {
		display: block;
		font-size: 75%;
	}
	.border_ttl small {
		margin: 0;
		font-size: 100%;
	}

.border_ttl_2 {
	font-size: 162.5%;
}
	.border_ttl_2 small.inner {
		font-size: 84%;
	}
		.border_ttl_2 small.inner .txt::after {
			height: 11px;
		}
.border_ttl_2.orange {
	font-size: 137%;
}
	.border_ttl_2.orange .txt {
		padding-right: .8em;
		padding-left: .8em;
	}
	.border_ttl_2.orange .txt::after {
		height: 10px;
	}

.smpl_border_ttl {
	margin-right: 16px;
	margin-left: 16px;
	text-align: center;
}
.smpl_border_ttl_2 {
	padding-bottom: .9em;
	text-align: center;
}

.ttl_with_sub {
	font-size: 162.5%;
}
	.ttl_with_sub .inner .sub {
		margin-bottom: 19px;
	}

.ttl_yellow_line {
	margin-bottom: 40px;
	padding: .2em 0 .2em;
}

.bubble_ttl {
	margin-top: 100px;
	margin-bottom: 0;
	font-size: 140%;
}
	.bubble_ttl .inner_wrap {
		padding: 30px 30px 39px;
	}
		.bubble_ttl .inner_wrap::before {
			left: 0px;
			top: 0px;
			width: 31px;
			height: 31px;
		}
			.bubble_ttl .inner {
				padding-bottom: 4px;
			}
				.bubble_ttl .inner::before {
					right: 8px;
					top: -10px;
					width: 14px;
					height: 14px;
				}
				.bubble_ttl .inner::after {
					height: 12px;
				}
		.bubble_ttl .inner_wrap::after {
			top: -16px;
			right: 0px;
			width: 27px;
			height: 27px;
		}

#header .wrapper {
	top: 12px;
	overflow: visible;
	padding: 16px;
	padding-left: 21px;
	background: none;
}
	#header .wrapper::after {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: -1;
		border-radius: 8px;
		background: rgba(255, 255, 255, 0.8);
		box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
	}
	#site_name {
		width: 100%;
		max-width: 238px;
		margin-right: 16px;
	}
	#header .tel {
		display: none;
	}

	#global {
		width: 48px;
	}
	#header #menu_open {
		display: block;
		position: absolute;
		top: 8px;
		right: 0;
		z-index: 110;
		width: 48px;
		height: 56px;
		line-height: 1.7;
		margin-top: 0px;
		padding: 0;
		border: none;
		background: none;
		font: inherit;
		color: #000;
		cursor: pointer;
	}
		#header #menu_open::before {
			content: "";
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
			display: block;
			width: 31px;
			height: 4px;
			margin: auto;
			background: #000;
			transition: all 1s ease 0s;
		}
		#header #menu_open span {
			display: block;
			position: absolute;
			top: 20px;
			right: 0;
			width: 100%;
			line-height: 2;
			padding-top: 8px;
			text-align: right;
			transition: all 1s ease 0s;
			text-align: center;
			font-size: 68.7%;
		}
			#header #menu_open span::before {
				content: "";
				display: block;
				position: absolute;
				top: 0;
				right: 0;
				left: 0;
				width: 31px;
				height: 4px;
				margin: auto;
				background: #000;
				transition: all 1s ease 0s;
			}
		#header #menu_open::after {
			content: "";
			position: absolute;
			top: 10px;
			right: 0;
			left: 0;
			display: block;
			width: 31px;
			height: 4px;
			margin: auto;
			background: #000;
			transition: all 1s ease 0s;
		}
	#header #global ul.main_menu {
		display: block;
		margin-top: 0;
		opacity: 0;
		position: fixed;
		left: 100%;
		text-align: left;
	}
		#header #global .main_menu > li {
			display: block!important;
			margin: 0 2.5% 0 7%!important;
			transition: all 1s ease 0s;
			opacity: 0;
			transform: translateX(60%);
			text-align: left;
		}
			#header #global li a {
				line-height: 1;
				padding-left: 8px;
				color: #232323;
			}
				#header #global li a:hover {
					padding-left: 8px;
				}
			#header .main_menu > li > a {
				display: inline-block;
				margin-bottom: 20px;
			}
				#global .main_menu > li > a .inner {
					position: relative;
					font-weight: bold;
					font-size: 112.5%;
				}
					#global .main_menu > li > a .inner::after {
						content: "";
						position: absolute;
						top: 100%;
						left: 0;
						width: 51px;
						height: 10px;
						background: #FFE600;
					}
				#global .main_menu > li a .eng {
					display: inline-block;
					margin-left: 1.5em;
					font-weight: bold;
					font-size: 75%;
				}
			#header #global .main_menu > li + li {
				margin-top: 22px!important;
				padding-top: 22px;
				border-top: 1px #707070 solid;
			}
		#header #global ul.main_menu .sub_menu {
			display: block;
			list-style: none;
			margin: 0;
			padding: 0;
			font-size: 87.5%;
		}
			#header #global ul.main_menu .sub_menu li {
				margin-left: 20px;
			}
				#header #global ul.main_menu .sub_menu li a {
					color: #434343;
				}
			#header #global ul.main_menu .sub_menu li + li {
				margin-top: 10px;
			}
	#header #global ul.address {
		display: none;
	}
html.menu_open_body,
html.menu_open_body body {
	overflow: hidden;
}
html.menu_open_body #header {
	height: 100%;
}
	html.menu_open_body #header .tel {
		display: block;
		position: fixed;
		bottom: 8px;
		right: 8px;
		z-index: 110;
		color: #CCC;
	}
	html.menu_open_body #header #global ul.main_menu {
		opacity: 1;
		top: 0;
		left: 0;
		z-index: -1;
		box-sizing: border-box;
		width: 100%;
		height: 100%;
		overflow: auto;
		padding-top: 120px;
		background: #F5F4F4;
	}
		html.menu_open_body #header #global ul li {
			opacity: 1;
			transform: translateX(0);
		}
		html.menu_open_body #header #global ul li img{
			width:30px;
		}
			html.menu_open_body #header #global ul li a {
				display: inline-block;
			}
			html.menu_open_body #header #menu_open::before {
				transform: rotate(225deg);
				top: 20%;
			}
			html.menu_open_body #header #menu_open::after {
				transform: rotate(-225deg);
				top: 20%;
			}
				html.menu_open_body #header #menu_open span::before {
					top: -20%;
					opacity: 0;
					transform: rotate(-225deg);
				}
			html.menu_open_body #global .sns ul {
				margin: 0;
				padding: 0px 0 22px 2px;
				letter-spacing: -.4em;
			}
				html.menu_open_body #global .sns ul li {
					display: inline-block;
					width: 24px;
					letter-spacing: normal;
				}
					html.menu_open_body #header #global .sns ul li a {
						padding: 0;
					}
				html.menu_open_body #global .sns ul li + li {
					margin-left: 18px;
				}

#header.page_details {
	position: static;
	width: auto;
	max-width: none;
	margin: auto;
}
	#header.page_details .wrapper {
		display: flex;
		position: absolute;
		right: 0;
		width: calc(100% - 20px);
		max-width: none;
	}
	.page_details #global {
		display: flex;
	}

.visual .txt {
	top: 45%;
	padding: 0;
	font-size: 243.7%;
	text-align: center;
}
	.visual .txt .inner {
		text-align: left;
	}
.visual .visual_bg {
	top: 0;
	height: 100%;
}
	.visual .visual_bg iframe {
		display: none;
		/* width: auto;
		height: 100%; */
	}

#bubbles .bubble.l06,
#bubbles .bubble.l17,
#bubbles .bubble.l18,
#bubbles .bubble.l19,
#bubbles .bubble.l20,
#bubbles .bubble.l21,
#bubbles .bubble.l07,
#bubbles .bubble.r13,
#bubbles .bubble.r16,
#bubbles .bubble.r17,
#bubbles .bubble.r20,
#bubbles .bubble.r22,
#bubbles .bubble.r07 {
	opacity: 0;
}
#bubbles .bubble.l01 {
	top: 10.9vh; /* 102px;*/
	left: 8.4%;
}
#bubbles .bubble.l02 {
	top: 15.7vh; /* 147px;*/
	left: 19.6%;
	width: 16px;
	height: 16px;
}
#bubbles .bubble.l03 {
	top: 16.7vh; /* 155px */
	left: 41.1%;
	width: 31px;
	height: 31px;
}
#bubbles .bubble.l04 {
	top: 20.1vh; /* 187px;*/
	left: 5.3%;
}
#bubbles .bubble.l05 {
	top: 50.6vh; /* 470px */
	left: 8.6%;
}
#bubbles .bubble.l08 {
	top: 34vh; /* 316px */
	left: 3.5%;
}
#bubbles .bubble.l09 {
	top: 32.6vh; /* 303px */
	left: 26.8%;
	background-image: url("img/bubbles/apple-green_circle.png");
}
#bubbles .bubble.l10 {
	top: 24.2vh; /* 225px */
	left: 15.8%;
	width: 11px;
	height: 11px;
}
#bubbles .bubble.l11 {
	top: 66.2vh; /* 615px */
	left: 18.2%;
}
#bubbles .bubble.l12 {
	top: 70.7vh; /* 657px */
	left: 5.3%;
	width: 29px;
	height: 29px;
}
#bubbles .bubble.l13 {
	top: 90.9vh; /* 844px */
	left: 5.6%;
	width: 54px;
	height: 54px;
}
#bubbles .bubble.l14 {
	top: 77.1vh; /* 716px */
	left: 23.5%;
}
#bubbles .bubble.l15 {
	top: 86.6vh; /* 804px */
	left: 35.2%;
}
#bubbles .bubble.l16 {
	top: 81.3vh; /* 755px */
	left: 7.4%;
	width: 18px;
	height: 18px;
	background-image: url("img/bubbles/aqua-green_circle.png");
}

#bubbles .bubble.r01 {
	top: 15.6vh; /* 145px;*/
	right: 6%;
	width: 12px;
	height: 12px;
}
#bubbles .bubble.r02 {
	top: 0vh; /* 0px */
	right: 1.4%;
}
#bubbles .bubble.r03 {
	top: 27.3vh; /* 254px;*/
	right: 18.6%;
}
#bubbles .bubble.r04 {
	top: 32.4vh; /* 301px;*/
	right: 6.7%;
}
#bubbles .bubble.r05 {
	top: 12vh; /* 112px;*/
	right: 2.5%;
	width: 25px;
	height: 25px;
}
#bubbles .bubble.r06 {
	top: 24.1vh; /* 224px;*/
	right: 8.8%;
	width: 29px;
	height: 29px;
	background-image: url("img/bubbles/blue_circle.png");
}
#bubbles .bubble.r08 {
	top: 12.9vh; /* 120px;*/
	right: 16.5%;
	width: 17px;
	height: 17px;
}
#bubbles .bubble.r09 {
	top: 27.2vh; /* 253px;*/
	right: 31.7%;
	width: 16px;
	height: 16px;
}
#bubbles .bubble.r10 {
	top: 83.4vh; /* 774px;*/
	right: 5.6%;
}
#bubbles .bubble.r11 {
	top: 41vh; /* 381px;*/
	right: 7.2%;
}
#bubbles .bubble.r12 {
	top: 54.8vh; /* 509px;*/
	right: 6%;
}
#bubbles .bubble.r14 {
	top: 60.6vh; /* 563px;*/
	right: 18.2%;
	width: 36px;
	height: 36px;
}
#bubbles .bubble.r15 {
	top: 77.6vh; /* 721px;*/
	right: 25.7%;
}
#bubbles .bubble.r18 {
	top: 72.5vh; /* 673px;*/
	right: 8.1%;
}
#bubbles .bubble.r19 {
	top: 88.3vh; /* 820px;*/
	right: 6.7%;
	width: 18px;
	height: 18px;
	background-image: url("img/bubbles/red_square.png");
}
#bubbles .bubble.r21 {
	top: 90.8vh; /* 843px;*/
	right: 16.5%;
	width: 45px;
	height: 45px;
}

.page_ttl {
	padding: 168px 8px 166px;
}
	.page_ttl .cate {
		margin-bottom: 25px;
		font-size: 280%;
	}
	.page_ttl.sec_video .cate,
	.page_ttl.sec_design .cate,
	.page_ttl.sec_system .cate,
	.page_ttl.sec_service_index .cate,
	.page_ttl.sec_information .cate,
	.page_ttl.sec_web-consulting .cate {
		font-size: 250%;
	}
		.page_ttl.sec_design .cate .inner {
			padding: 0 0;
		}
	.page_ttl.sec_video .cate .inner,
	.page_ttl.sec_system .cate .inner,
	.page_ttl.sec_web-consulting .cate .inner {
		text-align: left;
	}

.post_page_ttl .inner_wrap {
	padding: 250px 20px 0px;
}
	.post_page_ttl .ttl {
		padding: 20px 0px 50px 30px;
	}
	.post_page_ttl .featured_image {
		height: 330px;
	}

.page_ttl_details .inner_wrapper {
	padding-bottom: 8%;
}
	.page_ttl_details .inner_wrapper .ttl {
		padding-top: 100px;
		font-size: 150%;
	}
	.page_ttl_details .ttl_balloon {
		margin-top: -17%;
		transform: none;
	}
		.page_ttl_details .ttl_balloon .txt_wrapper_inner {
			font-size: 100%;
		}

.sec_worries {
	margin: 0;
	padding-left: 10px;
}
	.sec_worries .inner {
		width: 100%;
	}
		.sec_worries .inner .img {
			width: 62px;
		}
		.sec_worries .inner .txt {
			width: calc(100% - 73px);
			padding-top: 8px;
		}
			.sec_worries .inner .txt::before,
			.sec_worries .inner .txt::after {
				display: none;
			}

.bubble_page_ttl {
	padding: 30px 0 10px;
}
	.bubble_page_ttl .ttl {
		display: inline-block;
		padding: 0;
		font-size: 168%;
	}
		.bubble_page_ttl .ttl::before {
			left: -74px;
			top: -2px;
		}
		.bubble_page_ttl .ttl::after {
			right: -106px;
			top: -17px;
		}
		.bubble_page_ttl .ttl .inner {
			padding-bottom: 15px;
		}
			.bubble_page_ttl .ttl .inner::before {
				right: -62px;
			}
			.bubble_page_ttl .ttl .inner::after {
				height: 13px;
			}
	.bubble_page_ttl .catch {
		padding: 0 21.5% 110px;
		font-size: 156%;
		text-align: left;
	}
		.bubble_page_ttl .catch .ttl_bubble.l_blue {
			top: auto;
			bottom: 42px;
			left: 51px;
		}
		.bubble_page_ttl .catch .ttl_bubble.l_red {
			top: auto;
			bottom: 68px;
			left: 2px;
		}
		.bubble_page_ttl .catch .ttl_bubble.l_orange {
			top: auto;
			bottom: 132px;
			left: 14px;
		}
		.bubble_page_ttl .catch .ttl_bubble.l_green {
			top: auto;
			bottom: 17px;
			left: 0px;
		}
		.bubble_page_ttl .catch .ttl_bubble.r_blue {
			top: auto;
			bottom: 37px;
		}
		.bubble_page_ttl .catch .ttl_bubble.r_orange {
			top: auto;
			bottom: 10px;
		}
		.bubble_page_ttl .catch .ttl_bubble.r_light_blue {
			top: auto;
			bottom: 57px;
		}


.top_mission {
	font-size: 100%;
}
.top_sec.sec_information {
	margin-top: 48px;
}
	.sec_information .inner_body {
		padding: 0 16px;
	}
		.sec_information .inner_body .info_date {
			margin-bottom: 8px;
		}
		.sec_information .inner_body .info_cate {
			margin-bottom: 8px;
			margin-left: 1em;
		}
		.sec_information .inner_body .info_ttl {
			clear: both;
			float: none;
			margin-bottom: 8px;
			margin-left: 0;
			width: auto;
			font-size: 81.2%;
		}
.top_sec.sec_service {
	margin-top: 72px;
}
	.top_sec.sec_service .border_ttl {
		margin-bottom: 20px;
	}
	.top_sec.sec_service .inner_body {
		display: block;
		padding: 0 10px;
	}
		.top_sec.sec_service .inner_body li {
			width: auto;
			margin-bottom: 16px;
		}
			.top_sec.sec_service .inner_body li a {
				display: flex;
				align-items: center;
			}
				.top_sec.sec_service .inner_body li .icon {
					width: 129px;
					margin-right: 15px;
					margin-bottom: 0;
				}
					.top_sec.sec_service .inner_body li .icon .inner {
						padding-top: calc(60% + 6.4px);
					}
						.top_sec.sec_service .inner_body li .icon img {
							width: calc(100% - 8px);
						}
						.top_sec.sec_service .inner_body li .icon .inner::after {
							width: calc(100% - 1px);
							height: calc(100% - 6.4px);
						}
				.top_sec.sec_service .inner_body li .arrow_right_black {
					display: block;
					width: calc(100% - 149px);
					box-sizing: border-box;
					text-align: left;
				}

.top_sec.sec_topics {
	margin-top: 72px;
}
	.top_sec.sec_topics .bnr {
		margin-bottom: 40px;
	}
		.top_sec.sec_topics .bnr li {
			width: 100%;
		}

.sec_strong_point {
	margin-top: 24px;
}
	.sec_strong_point .inner_head {
		margin-bottom: 17px;
		padding: 36px 10px 29px;
	}
		.sec_strong_point .inner_head .ttl strong {
			margin-top: 17px;
			padding-right: 24px;
			padding-left: 24px;
		}
			.sec_strong_point .inner_head .ttl strong::before,
			.sec_strong_point .inner_head .ttl strong::after {
				width: 1.9em;
			}
			.sec_strong_point .inner_head .ttl strong::before {
				top: .4em;
				left: -.7em;
			}
			.sec_strong_point .inner_head .ttl strong::after {
				bottom: .4em;
				right: -.6em;
			}
.four_sec {
	position: relative;
}
	.four_sec .inner {
		position: relative;
		width: 50%;
		border: none;
	}
		.four_sec .inner .ttl {
			font-size: 112.5%;
		}
		.four_sec .inner::before {
			content: "";
			display: block;
			position: absolute;
			bottom: 0;
			left: 0;
			width: 200%;
			height: 1px;
			background: #707070;
		}
		.four_sec .inner + .inner + .inner::before,
		.four_sec .inner + .inner + .inner + .inner::after {
			display: none;
		}
		.four_sec .inner + .inner::after {
			content: "";
			display: block;
			position: absolute;
			top: 0;
			bottom: 0;
			left: 0;
			width: 1px;
			height: calc(100% - 18px);
			margin: auto;
			background: #707070;
		}
		.four_sec .inner + .inner + .inner::after {
			display: none;
		}
		.four_sec .inner + .inner + .inner + .inner::after {
			display: block;
		}
.sec_strong_point .inner_foot {
	display: block;
	margin-top: 10px;
}
	.sec_strong_point .inner_foot .img {
		margin: 0 auto;
	}
	.sec_strong_point .inner_foot .txt {
		margin-top: 23px;
		padding-left: 0;
	}
.sec_three-features {
	margin-top: 46px;
}
	.sec_three-features .inner_body {
		margin-top: 0;
	}
		.sec_three-features .three {
			display: block;
			width: calc(100% - 52px);
		}
			.sec_three-features .three .inner {
				width: 100%;
				max-width: 480px;
				margin: 30px auto 0;
			}
				.sec_three-features .three .img img {
					max-width: 42px;
				}
				.sec_three-features .wrapper .three .inner .ttl {
					font-size: 140%;
					margin-top: 18px;
					padding-bottom: 32px;
					letter-spacing: normal;
				}
				.sec_three-features .three .inner .txt {
					margin-top: 18px;
				}
		.sec_three-features .inner_body::after {
			width: calc(100% - 18px);
			right: 0;
			margin: auto;
		}
	.sec_three-features::after {
		height: 75%;
	}
.sec_works {
	margin-top: 31px;
}
	.sec_works .border_ttl {
		border: none;
	}
	.sec_works .slick-dots {
		text-align: center;
	}

.about_i_design {
	overflow: hidden;
	padding-bottom: 132px;
}
	.about_i_design .inner {
		width: auto;
	}
		.about_i_design .ttl {
			max-width: 64%;
			min-width: 278px;
		}
	.about_i_design .inner_foot {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		text-align: center;
	}
		.about_i_design .inner_foot img {
			width: calc(100% - 80px);
		}
	.about_i_design .bg {
		position: static;
		width: 60.6%;
		float: right;
	}
.about_i_design.page_vision {
	margin-bottom: 40px;
	padding-bottom: 0;
}
	.about_i_design.page_vision .inner {
		float: none;
		width: 100%;
	}
		.about_i_design.page_vision .ttl {
			width: 80%;
			max-width: none;
			min-width: 278px;
		}
		.about_i_design.page_vision .inner .catch {
			margin-bottom: 15px;
			font-size: 137.5%;
		}
	.about_i_design.page_vision .img {
		float: none;
		width: 100%;
		padding: 0 33px 30px 0;
	}
		.about_i_design.page_vision .img::after {
			width: calc(100% - 14px);
			height: calc(100% - 14px);
			background-size: 200px auto;
		}

.about_2 .inner_body {
	flex-wrap: wrap;
	padding: 0 30px;
}
	.about_2 .inner_body .inner {
		width: 100%;
	}
		.about_2 .inner_body .inner .img {
			float: left;
			width: 32%;
		}
		.about_2 .inner_body .inner .ttl {
			margin: 0 0 0 calc(32% + 18px);
		}
		.about_2 .inner_body .inner .txt {
			clear: left;
			margin-top: 0;
			padding-top: 21px;
		}
	.about_2 .inner_body .inner + .inner {
		margin-top: 23px;
	}

.about_3 {
	background: url("img/bg_about_3_mq.png") left top repeat-y;
	background-size: 328px auto;
}
.about_3 .inner_wrap {
	padding: 24px 34px 57px;
}
	.about_3 .inner_body {
		flex-wrap: wrap;
	}
		.about_3 .inner_body .img {
			width: 100%;
			text-align: center;
		}
			.about_3 .inner_body .img img {
				width: 100%;
				max-width: 297px;
			}
		.about_3 .inner_body .inner {
			width: 100%;
			margin-top: 33px;
		}
			.about_3 .inner_body .ttl {
				text-align: center;
			}
				.about_3 .inner_body .ttl::after {
					max-width: none;
				}
	.about_3 .inner_body + .inner_body {
		margin-top: 33px
	}

.about_sdgs .three_card {
	display: block;
	width: 80.1%;
	margin-top: 35px;
	margin-bottom: 80px;
}
	.three_card li {
		width: 100%;
	}
		.about_sdgs .three_card li:nth-child(2) strong {
			margin-top: 0;
		}
	.three_card li + li {
		margin-top: 45px;
	}
	.about_sdgs .img_card {
		padding: 0 10px;
	}
		.about_sdgs .img_card .img {
			float: left;
			width: 99px;
			margin-right: 10px;
		}
		.about_sdgs .img_card .inner .ttl {
			text-align: left;
		}
		.about_sdgs .img_card .inner p {
			clear: both;
		}

.i_design_info.sec_1 {
	margin-top: 86px;
	padding-bottom: 24px;
}
	.i_design_info.sec_1 .ttl_wrap {
		padding: 30px 5px 0px;
	}
	.i_design_info.sec_1 .ttl_wrap::before {
		top: -37px;
		left: 4px;
	}
	.i_design_info.sec_1 .ttl_wrap::after {
		top: 3px;
		left: -5px;
	}
	.i_design_info.sec_1 .ttl_wrap .balloon_ttl_1 {
		padding: 3% 0 10%;
		background-image: url("img/bg_balloon_ttl_1_mq.png");
		font-size: 156.2%;
	}
		.i_design_info.sec_1 .ttl_wrap .balloon_ttl_1::before {
			top: -58px;
			right: 4px;
		}
		.i_design_info.sec_1 .ttl_wrap .balloon_ttl_1::after {
			top: -45px;
			right: 33px;
		}

.i_design_info .four_sec_i_design_info {
	display: block;
	padding-bottom: 105px;
}
	.i_design_info .four_sec_i_design_info .inner {
		display: block;
		width: 100%;
		max-width: 366px;
		text-align: left;
	}
		.i_design_info .four_sec_i_design_info .inner .img {
			float: left;
			width: 84px;
			margin-top: 10px;
		}
			.i_design_info .four_sec_i_design_info .inner .img img {
				max-width: 100%;
			}
		.i_design_info .four_sec_i_design_info .inner .ttl {
			width: auto;
			display: inline-block;
			margin: 0 0 0 10px;
			text-align: center;
		}
			.i_design_info .four_sec_i_design_info .inner .ttl .inner_head {
				margin-bottom: 0;
			}
				.i_design_info .four_sec_i_design_info .inner .ttl.two_lines .inner_head br {
					display: none;
				}
		.i_design_info .four_sec_i_design_info .inner .balloon_wrap {
			max-width: 366px;
		}
			.i_design_info .four_sec_i_design_info .inner .balloon .inner_body {
				overflow: hidden;
				padding-top: 0;
				padding-bottom: 0;
			}
	.i_design_info .four_sec_i_design_info .inner + .inner {
		margin-top: 40px;
	}
	.i_design_info .four_sec_i_design_info::before,
	.i_design_info .four_sec_i_design_info::after {
		left: 0px;
		bottom: 0px;
	}
	.i_design_info .four_sec_i_design_info::after {
		left: auto;
		right: 0;
	}

.i_design_info.sec_2 {
	padding: 24px 0;
}
	.i_design_info .profile {
		display: block;
		margin-top: 0;
		padding: 0 10px;
	}
		.i_design_info .profile .img {
			width: 100%;
			text-align: center;
		}
			.i_design_info .profile .img img {
				width: 100%;
				max-width: 230px;
			}
		.i_design_info .profile .inner {
			width: 100%;
		}
			.i_design_info .profile .inner .catch {
				margin: 23px 0 10px;
				font-size: 100%;
			}
	.i_design_info.sec_2 .sub_menu_btn {
		margin: 40px 0;
	}

.sec_service_3 {
	width: auto;
	margin-top: 105px;
	box-sizing: border-box;
	padding: 0 10px 40px;
}
	.sec_service_3 .inner {
		display: block;
		padding: 0 10px;
	}
		.sec_service_3 .inner .img {
			float: left;
			padding-top: 30px;
			width: 32%;
		}
		.sec_service_3 .inner .sec_right {
			line-height: 1.3;
			margin-left: 0;
			margin-right: 0;
			padding-top: 1px;
		}
			.sec_service_3 .inner .sec_right .ttl {
				margin-left: 33%;
				margin-top: 38px;
				font-size: 112.5%;
				text-align: left;
			}
				.sec_service_3 .inner .sec_right .ttl .inner {
					padding: 29.1px 10px;
					box-shadow: 3px 3px 0 #A2A2A2;
				}
				.sec_service_3 .inner .sec_right .ttl::before {
					top: 30px;
					bottom: auto;
					width: 16px;
					height: 12px;
					left: -15px;
				}
				.sec_service_3 .inner .sec_right .ttl::after {
					top: 33px;
					left: -14px;
				}
			.sec_service_3 .inner .sec_right .txt {
				clear: both;
				padding-top: 20px;
			}
	.sec_service_3 .icon_triangle {
		top: -80px;
	}
	.sec_service_3::before {
		left: 0;
		bottom: -16px;
		height: 100%;
	}
	.sec_service_3::after {
		right: 0;
		width: calc(100% - 20px);
		height: 100%;
		margin: auto;
		border: 2px #707070 solid;
	}

.sec_service_4 {
	padding: 0 10px;
}
	.sec_service_4 .catch {
		line-height: 1.3;
		font-size: 100%;
		font-weight: normal;
		text-align: left;
	}
.sec_service_4.sec_system {
	margin-top: 64px;
}

.service_card {
	display: block;
	margin-bottom: 45px;
}
	.service_card .inner {
		display: block;
		width: 100%;
		overflow: hidden;
		margin-bottom: 20px;
		padding: 10px 17px 0;
	}
		.service_card .inner .img {
			float: left;
			width: 62px;
		}
		.service_card .inner .ttl {
			width: auto;
			margin-left: 80px;
			text-align: left;
		}
		.service_card .inner .txt_wrap {
			clear: both;
			padding-top: 10px;
		}
.service_card.img_full {
	width: 100%;
}
	.service_card.img_full .inner {
		width: 100%;
	}
		.service_card.img_full .inner .img {
			float: none;
			width: 100%;
		}
		.service_card.img_full .inner .ttl {
			text-align: center;
		}
			.service_card.img_full .inner .ttl br {
				display: none;
			}
	.our_services .inner_wrap .inner {
		width: 47.8%;
		padding: .35em 0;
		font-size: 100%;
	}

.card_with_ttl {
	display: block;
}
	.card_with_ttl .inner {
		width: 100%;
	}
		.card_with_ttl .inner a {
			display: block;
		}
			.card_with_ttl .ttl.one_line {
				padding: .62em 0;
			}
	.card_with_ttl .inner + .inner {
		margin-top: 33px;
	}

.sec_service_6 {
	margin: 25px 0 46px;
	padding: 40px 0px 20px;
}
	.img_bubble_card {
		margin-top: 0;
		margin-bottom: 130px;
	}
		.img_bubble_card .inner_sec {
			display: block;
			margin-bottom: 50px;
		}
			.img_bubble_card .inner_sec::before,
			.img_bubble_card .inner_sec::after {
				display: none;
			}
			.img_bubble_card .inner_sec .img {
				position: relative;
				box-sizing: border-box;
				width: 100%;
				padding: 0 16px;
			}
				.img_bubble_card .inner_sec .img::before,
				.img_bubble_card .inner_sec .img::after {
					content: "";
					display: block;
					position: absolute;
					z-index: 10;
					border-radius: 50%;
				}
				.img_bubble_card .inner_sec .img::before {
					right: 0;
					bottom: -7px;
					width: 28px;
					height: 28px;
					background: #9AD3CC;
					opacity: .8;
				}
				.img_bubble_card .inner_sec .img::after {
					right: 43px;
					bottom: -35px;
					width: 30px;
					height: 30px;
					background: #009EDF;
					opacity: .8;
				}
				.img_bubble_card .inner_sec.sec_2 .img::before,
				.img_bubble_card .inner_sec.sec_2 .img::after,
				.img_bubble_card .inner_sec.sec_3 .img::before,
				.img_bubble_card .inner_sec.sec_3 .img::after {
					display: none;
				}
				.img_bubble_card .inner_sec .img .img_wrap::before {
					top: 12px;
					left: -15px;
				}
				.img_bubble_card .inner_sec .img .img_wrap::after {
					top: -5px;
					left: 19px;
				}
				.img_bubble_card .inner_sec.sec_2 .img .img_wrap::before {
					top: -25px;
					right: 8px;
				}
				.img_bubble_card .inner_sec.sec_2 .img .img_wrap::after {
					top: 10px;
					right: -15px;
				}
				.img_bubble_card .inner_sec.sec_3 .img .img_wrap::before {
					display: none;
				}
				.img_bubble_card .inner_sec.sec_3 .img .img_wrap::after {
					display: block;
					left: auto;
					right: -15px;
					top: auto;
					bottom: -47px;
					width: 34px;
					height: 34px;
					background: #E60112;
					opacity: .8;
				}
			.img_bubble_card .inner_sec .inner {
				width: 100%;
				margin-top: 8px;
				padding: 20px 14px 30px;
			}
				.img_bubble_card .inner_sec .inner .ttl {
					text-align: center;
				}
				.img_bubble_card .inner_sec .inner::after {
					width: calc(100% + 20px);
					left: -10px;
					right: auto;
					bottom: -15px;
					height: calc(100% - 78px);
				}
			.img_bubble_card .inner_sec.sec_3::before {
				content: "";
				display: block;
				top: auto;
				left: 0px;
				bottom: -100px;
				width: 86px;
				height: 76px;
				border-radius: 0;
				background: url("img/bg_ball_03.png") left top no-repeat;
				background-size: auto;
				background-size: cover;
			}

.sec_voices .voices_wrap {
	display: block;
	margin-top: 0;
}
	.sec_voices .voices_wrap .inner_wrap {
		width: 100%;
		padding: 16px;
	}
		.sec_voices .voices_wrap .inner_wrap .img {
			float: left;
			width: 59px;
		}
		.sec_voices .voices_wrap .inner_wrap .ttl {
			margin: 0 0 0 77px;
			padding: 0;
			border: none;
			text-align: left;
		}
		.sec_voices .voices_wrap .inner_wrap .inner {
			clear: both;
			margin-right: 0;
			margin-left: 0;
			padding-top: 12px;
			border-top: 2px #707070 solid;
		}
	.sec_voices .voices_wrap .inner_wrap + .inner_wrap {
		margin-top: 26px;
	}
	.sec_voices .voices_wrap.type_2 .inner_wrap .type {
		float: left;
		padding: 0 5px;
	}
	.sec_voices .voices_wrap.type_2 .inner_wrap .img {
		float: right;
	}
	.sec_voices .voices_wrap.type_2 .inner_wrap .inner {
		clear: left;
		border: none;
		padding: 0 5px;
		font-size: 125%;
	}
		.sec_voices .voices_wrap.type_2 .inner_wrap .inner .cate {
			font-size: 80%;
		}
	.sec_voices .voices_wrap.type_2 .inner_wrap .inner + .inner {
		clear: both;
		margin-top: 10px;
		font-size: 100%;
	}
		.sec_voices .voices_wrap.type_2 .inner_wrap .inner + .inner .cate {
			font-size: 100%;
		}

.steps_list {
	display: block;
}
	.steps_list li {
		width: 100%;
		margin-bottom: 26px;
		padding: 10px;
		text-align: left;
	}
		.steps_list li .step {
			position: static;
			float: left;
			margin-right: 16px;
		}
		.steps_list li .step + br,
		.steps_list li .ttl + br {
			display: none;
		}
		.steps_list li .ttl.one_line {
			padding: 1em 0 0;
		}
		.steps_list li .img {
			float: right;
		}

.contact_image .img {
	width: 124px;
}
.contact_image .ttl {
	width: auto;
	line-height: 1.5;
	margin-top: 50px;
	margin-left: 140px;
	font-size: 112.5%;
	text-align: left;
}
	.contact_image .ttl .inner {
		padding: 8px;
		border-radius: 8px;
		box-shadow: 4px 4px 0 #A2A2A2;
	}
	.contact_image .ttl::before {
		top: 24px;
		bottom: auto;
	}
	.contact_image .ttl::after {
		top: 28px;
		bottom: auto;
	}
.contact_image .btn_contact {
	clear: both;
	margin: 0;
	padding: 24px 0 0;
}
.contact_image.mq_show {
	margin: 0 0 50px;
}

.faq_wrap {
	overflow: hidden;
	margin: 0 0 10px;
	padding: 0 10px 10px;
	font-size: 87.5%;
}
	.faq_wrap dt {
		position: relative;
		padding-right: 30px;
		cursor: pointer;
		box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
	}
		.faq_wrap dt::after {
			content: "";
			display: block;
			position: absolute;
			top: 0;
			bottom: 0;
			right: 10px;
			width: 8px;
			height: 8px;
			margin: auto;
			border-bottom: 2px #9B9B9B solid;
			border-left: 2px #9B9B9B solid;
			transform: rotate(-45deg);
		}
	.faq_wrap dd {
		display: none;
	}
	.faq_wrap dd + dt {
		margin-top: 25px;
	}



.left_img_sec {
	margin-top: 32px;
	flex-wrap: wrap;
	flex-direction: column-reverse;
}
	.left_img_sec .img {
		width: 100%;
	}
	.left_img_sec .inner {
		width: 100%;
	}
		.left_img_sec .inner .ttl {
			margin: 0 0 13px;
			font-size: 137%;
			text-align: center;
		}
			.left_img_sec .inner .ttl .inner_txt {
				padding-right: 25px;
				padding-bottom: 10px;
				padding-left: 25px;
			}
				.left_img_sec .inner .ttl .inner_txt::after {
					height: 10px;
				}
		.left_img_sec .inner .txt {
			font-size: 100%;
		}

.right_img_sec {
	display: block;
	margin: 40px 0 60px;
}
	.right_img_sec .inner {
		width: 100%;
		font-size: 100%;
	}
		.right_img_sec .inner .catch {
			font-size: 150%;
		}
	.right_img_sec .img {
		width: 100%;
	}

.col_2_card {
	display: block;
	margin: 0;
}
	.col_2_card .inner_wrap {
		width: 100%;
	}

.img_card {
	display: block;
}
	.img_card .img {
		width: 100%;
		margin-bottom: 12px;
		text-align: center;
	}
		.img_card .img img {
			width: 100%;
			max-width: 190px;
		}
	.img_card .inner {
		width: 100%;
		font-size: 100%;
	}
		.img_card .inner .ttl {
			font-size: 112.5%;
			text-align: center;
		}
.img_card + .img_card {
	margin-top: 40px;
}

.img_card_3 {
	display: block;
	width: auto;
	padding: 0 10px;
}
	.img_card_3 .inner {
		display: flex;
		align-items: center;
		width: 100%;
		padding: 10px;
	}
		.img_card_3 .inner .img {
			width: 67px;
		}
		.img_card_3 .inner .txt {
			width: calc(100% - 75px);
			line-height: 1.5;
			margin: 0;
		}
	.img_card_3 .inner + .inner {
		margin-top: 24px;
	}

.img_card_4 {
	display: block;
	width: auto;
	padding: 0 10px;
}
	.img_card_4 .inner_wrap {
		width: 100%;
		margin: 0;
	}
		.img_card_4 .inner_wrap .inner {
			margin: 12px 16px 0;
		}
	.img_card_4 .inner_wrap + .inner_wrap {
		margin-top: 30px;
	}

.sec_menu_index {
	width: auto;
	padding: 0 10px;
}
	.sec_menu_index .inner .ttl {
		width: 100%;
	}
	.sec_menu_index .link_more {
		width: 100%;
		margin-top: 0!important;
		text-align: right;
	}

.index_menu {
	margin-top: 32px;
	padding: 20px 0;
}
	.index_menu .wrapper {
		padding: 0;
	}
		.index_menu .category_menu {
			padding: 0 10px;
		}
			.index_menu .category_menu li {
				width: 100px;
				margin: 5px 7px;
			}
				.index_menu .category_menu li a {
					font-size: 68.7%;
				}
			.index_menu .menu_wrap {
				margin: 10px 0 0;
				padding: 0 10px 30px;
			}
				.index_menu .menu_wrap .sec_menu .inner {
					width: 100%;
				}
					.index_menu .menu_wrap .sec_menu .cate {
						font-size: 75%;
					}
					.index_menu .menu_wrap .sec_menu .ttl {
						font-size: 100%;
					}
			.index_menu.sec_information .inner_wrap {
				padding: 8px 10px;
			}
				.index_menu.sec_information .information_menu .sec_date {
					margin-bottom: 10px;
				}
				.index_menu.sec_information .information_menu .sec_cate {
					margin-bottom: 10px;
					margin-left: 20px;
				}
				.index_menu.sec_information .information_menu .ttl {
					width: 100%;
					margin-bottom: 48px;
					margin-left: 0;
					font-size: 81.25%;
				}

.service_detail_content_wrapper {
	padding: 0;
}
	.service_detail_content {
		overflow: hidden;
		margin: 88px 0 80px;
		padding: 27px 20px 0;
	}
		.service_detail_content .service_name {
			left: auto;
			right: 10px;
			top: -1.1em;
			writing-mode: inherit;
			transform: none;
		}
		.service_detail_content .inner {
			display: block;
		}
			.service_detail_content .inner .txt {
				width: 100%;
				padding: 0;
			}
				.service_detail_content .inner .sub_ttl .icon {
					display: block;
				}
			.service_detail_content .inner .img {
				width: 100%;
			}

.contact_steps {
	width: auto;
	padding: 0;
}
	.contact_steps li {
		padding: 0.5em 0;
		font-size: 0.9em;
	}
		.contact_steps li strong {
			font-size: 1.1em;
		}

.form .form_wrapper {
	width: auto;
	padding: 16px 8px;
}
	.form input.half[type="text"],
	.form input.half[type="email"],
	.form input.half[type="tel"],
	.form input[type="text"],
	.form input[type="email"],
	.form input[type="tel"],
	.form textarea{
		width: 95%;
	}

.btn {
	width: auto;
}



.mq_table,
.mq_table thead,
.mq_table tbody,
.mq_table tr,
.mq_table th,
.mq_table td {
	display: block;
	width: auto;
}
.mq_table {
	margin-right: 8px;
	margin-left: 8px;
}

.post_area.page {
	font-size: 100%;
}

.post_area.post {
	padding-left: 10px;
	padding-right: 10px;
}
	.post_area.post h2 {
		font-size: 125%;
		padding: .2em 0 .2em 36px;
	}
		.post_area.post h2::before {
			left: 0;
		}
	.post_area .img_block {
		padding: 0 20px 20px;
	}
		.post_area .img_block::after {
			height: calc(100% - 20px);
		}

#footer .contact_area {
	padding-top: 52px;
	padding-bottom: 40px;
}
	#footer .contact_area .catch {
		font-size: 106.2%;
	}
	#footer .contact_area address.tel {
		margin-top: 16px;
	}
		#footer .contact_area address.tel .inner {
			font-size: 168.7%;
		}
		#footer .contact_area address.tel .icon {
			width: 24px;
			margin-bottom: 0;
		}
	#footer .contact_area .btn_contact li a {
		width: 275px;
		padding-right: 1em;
		padding-left: 64px;
	}
	.btn_contact.body_middle li {
		margin: 0 12px 21px;
	}

.footer_site_name {
	display: block;
	margin-top: 56px;
	text-align: center;
}
	.footer_site_name .inner_left {
		display: block;
		font-size: 81.25%;
	}
		.footer_site_name .inner_left .logo {
			display: block;
			max-width: none;
			margin: 0 0 24px;
		}
			.footer_site_name .inner_left .logo img {
				max-width: 228px;
				height:auto;
			}
		.footer_site_name .inner_left .address {
			display: inline-block;
			text-align: left;
		}
	.footer_site_name .sns ul {
		margin-top: 24px;
	}
#footer_nav {
	margin-top: 28px;
	margin-bottom: 40px;
}
	#footer_nav .main_menu {
		display: block;
		padding: 0 32px;
	}
		#footer_nav .main_menu > li {
			width: auto;
		}
		#footer_nav .main_menu li {
			margin-top: 24px;
		}
			#footer_nav .main_menu li .inner_head {
				position: relative;
				display: block;
				padding-right: 30px;
			}
				#footer_nav .main_menu li .inner_head a {
					display: inline-block;
				}
			#footer_nav .main_menu li a {
				display: block;
			}
			#footer_nav .show_hide {
				position: relative;
			}
				#footer_nav .btn_show_hide {
					display: block;
					position: absolute;
					top: 50%;
					right: 0;
					width: 18px;
					height: 18px;
					background: url("img/icon_show_hide.png") left top no-repeat;
					background-size: 100% auto;
					transform: translateY(-50%);
					cursor: pointer;
				}
				#footer_nav .open.btn_show_hide {
					background-position: left bottom;
				}
		#footer_nav .show_hide_elm {
			display: none;
		}
#footer_nav p.inner0 {
    margin-bottom: 10px;
    font-size: 75%;
}
}

@media screen and (max-width: 640px){
	h2 {
		margin: 2em 0 1.5em;
	}
	.sec_three-features .three .inner {
		max-width: 320px;
	}
	.img_box {
		display: block;
	}
		.img_box .txt {
			width: 100%;
			margin-bottom: 48px;
		}
		.img_box .img {
			width: 100%;
		}
	.img_three {
		display: block;
	}
		.img_three > div {
			margin: 0;
		}
		.img_three > div + div {
			margin-top: 22px;
		}

	.three_col {
		display: block;
	}
		.three_col > .inner {
			list-style: none;
			width: 100%;
			margin: 0 0 48px;
		}

	.sec_menu_index .inner_link {
		width: 100%;
	}

}

@media screen and (max-width: 480px){
	.btn_black {
		padding: .8em 4em;
	}
	.sec_strong_point .inner_head .ttl {
		font-size: 230%;
	}
	.sec_strong_point .inner_head .ttl strong {
		text-align: left;
	}
	.smpl_border_ttl {
		font-size: 150%;
	}
	.bubble_ttl {
		font-size: 118.7%;
	}

	.sub_menu_head {
		padding: 0 10px;
	}
		.sub_menu_head ul li {
			width: 46%;
			margin: 0 2%;
		}
			.sub_menu_head ul li a {
				font-size: 100%;
			}

	.about_i_design {
		padding-bottom: 80px;
	}

	.about_2 .inner_body {
		padding: 0px;
	}
		.about_2 .inner_body .inner .ttl {
			margin: 0 0 0 calc(32%);
			font-size: 115%;
		}

	.about_3 .inner_wrap {
		padding: 24px 8px 57px;
	}

	.btn_contact.body_middle li a,
	#footer .contact_area .btn_contact li a {
		padding: 1.1em 8px 1.1em 60px;
	}

	.sec_menu_index .inner .ttl {
		font-size: 150%;
	}
	.sec_menu_index .link_more {
		font-size: 90%;
	}
	.sec_menu_index .inner_link a {
		padding: 16px 8px;
		font-size: 100%;
	}
		.sec_menu_index .inner_link .img {
			width: 48px;
		}

	.sec_page_nav ul li {
		margin: 5px;
		font-size: 90%;l
	}
		.sec_page_nav ul li .inner_block {
			padding: .4em .6em;
		}
		.sec_page_nav ul li .inner_block.sec_prev,
		.sec_page_nav ul li .inner_block.sec_next {
			padding: .4em .38em;
		}

	#footer .address {
		display: block;
	}
		#footer .address li + li {
			margin-top: 20px;
		}
}
@media screen and (max-width: 420px){
	.page_ttl.sec_system .cate,
	.page_ttl.sec_information .cate,
	.page_ttl.sec_web-consulting .cate {
		font-size: 221%;
	}
}

@media screen and (max-width: 360px){
	.page_ttl.sec_video .cate {
		font-size: 221%;
	}
	.sub_menu_head ul li a {
		font-size: 90%;
	}
	.sec_strong_point .inner_head .ttl {
		font-size: 210%;
	}
	.sec_strong_point .inner_head .ttl strong {
		padding-right: 8px;
		padding-left: 16px;
	}
	.four_sec .inner {
		width: 100%;
	}
		.four_sec .inner + .inner + .inner::before {
			display: block;
		}
		.four_sec .inner::after {
			display: none!important;
		}
}

/* Slider */
.slick-slider
{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}
