html {
	background-color: #f3f3f3;
}

.pages header.entry-header {
	display: none;
}

.section_service .section_service__tab--item:hover, .section_service .section_service__tab--logo img:hover {
	cursor: pointer;
}

.section_service .section_service__tab--item.nolink:hover, .section_service .section_service__tab--item.nolink .section_service__tab--logo img:hover {
	cursor: default;
}

/* header */

/* header menu */

.header__list.header__menu{
	border-left: none;
}

.header__list.header__menu > li {
	border-right: none;
	position: relative;
	cursor: pointer;
}

.header__list.header__menu > li:after {
	content: '';
	background-color: #595757;
	width: 1px;
	height: 24px;
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -12px;
}

.header__list.header__menu li > a,
.header__list.header__menu li > span{
	display: flex;
	padding: 0.42em;
	cursor: pointer;
	align-items: center;
	justify-content: center;
	height: 30px;
}

.header__list li:last-child {
	border-right: none;
	max-width: 45px;
}

.groupheader_megamenu_bg {
	display: none;
	background-color: #222;
	width: 100%;
	height: 200%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	opacity: 0;
	animation-name: bgfadeout;
	animation-duration: 1s;
	animation-iteration-count: 1;
}

.groupheader_megamenu_bg.on {
	display: block;
	opacity: 0.7;
	animation-duration: 0.5s;
	animation-name: bgfadein;
}

.groupheader__item {
	position: relative;
}

.groupheader_megamenu {
	display: none;
	position: absolute;
	top: 1.8em;
	left: 0;
	width: 100%;
	padding: 32px 0 20px;
	opacity: 0;
	animation-name: menufadeout;
	animation-duration: 1s;
	animation-iteration-count: 1;
}

.groupheader_megamenu.on {
  display: block;
  opacity: 1;
  animation-name: menufadein;
}

@keyframes bgfadein{
	from{opacity:0;}
	to{opacity:0.7;}
}
@keyframes bgfadeout{
	from{opacity:0.7;}
	to{opacity:0;}
}

@keyframes menufadein{
	from{opacity:0;}
	to{opacity:1;}
}
@keyframes menufadeout {
	from{opacity:1;}
	to{opacity:0;}
}

.groupheader_megamenu_list{
	width: 10.5em;
}

.groupheader_megamenu_list_top{
	padding-bottom: 10px;
}

.header__list.header__menu .groupheader_megamenu_item,
.header__list.header__menu .groupheader_megamenu_item:last-child{
	width: 10.5em;
	max-width: none;
	border-right-color: transparent;
}

.header__list.header__menu .groupheader_megamenu_list_top .groupheader_megamenu_item:nth-of-type(1){
	position: relative;
}

.header__list.header__menu .groupheader_megamenu_list_top .groupheader_megamenu_item:nth-of-type(1):after{
	content: '';
	position: absolute;
	bottom: 0;
	left: 3px;
	background-color: #fff;
	width: calc(100% - 3px);
	height: 1px;
}

.header__list.header__menu li .groupheader_megamenu_link{
	width: 100%;
	max-width: none;
	text-align: left;
	justify-content: flex-start;
	color: #fff;
	padding: 18px 0 18px 14px;
}

.header__list.header__menu .groupheader_megamenu_list_top .groupheader_megamenu_link{
	padding-left: 5px;
	padding-top: 17px;
	padding-bottom: 17px;
}

.header__list.header__menu .groupheader_megamenu_item:nth-of-type(1) .groupheader_megamenu_link{
	padding-top: 36px;
	padding-bottom: 18px;
}

.header__list.header__menu .groupheader_megamenu_list_top .groupheader_megamenu_item:nth-of-type(1) .groupheader_megamenu_link{
	padding-top: 32px;
	padding-bottom: 27px;
}

.header__list.header__menu .groupheader_megamenu_list_top .groupheader_megamenu_item:nth-of-type(1)+.groupheader_megamenu_item .groupheader_megamenu_link{
	padding-top: 27px;
	padding-bottom: 17px;
}

/* search */
.header_list_searchbtn_open:hover {
	opacity: .5;
	cursor: pointer;
}

.header_list_searchbtn_open {
	display: block;
	background-image: url(/assets/img/search/icon-search-nav.svg);
	background-position: 70% 20%;
	background-repeat: no-repeat;
	background-size: 20px;
	width: 100%;
	min-width: 24px;
	height: 24px;
	transition: .5s;
}

.header_list_searchbtn_open:hover {
	opacity: .5;
	cursor: pointer;
}

.header__menu .header_list_searchbtn_open{
	background-position: 70% 40%;
}

.search_box_wrap {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: 10;
}

.search_box_container {
	height: 100%;
	padding: 0 20px;
	z-index: 12;
	position: relative;
}

.search_box_bg {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-color: #000;
	opacity: .85;
	z-index: 11;
}

.search_box_block {
	width: 100%;
	max-width: 900px;
	height: 100%;
	margin: 0 auto;
	position: relative;
}

.search_box_form {
	width: 100%;
	position: absolute;
	color: #fff;
	top: 50%;
	left: 0;
}

.search_box_form .input-search-box {
	position: relative;
	margin: 0 auto 40px;
}

.search_box_form .input-search-box .input-box {
	display: block;
	width: 100%;
	font-size: 18px;
	font-weight: normal;
	padding: 10px 60px 10px 10px;
	height: 60px;
	outline: none;
	background: none;
	background-color: #333;
	border-radius: 3px;
	opacity: .95;
}

.search_box_form .input-search-box .submit-btn-box {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 60px;
	height: 100%;
}

.search_box_form .input-search-box .submit-btn {
	position: absolute;
	display: block;
	width: 60px;
	height: 100%;
	background-image: url(/assets/img/search/icon_search.svg);
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: 20px;
	text-indent: -9999px;
}

.search_box_close {
	position: absolute;
	top: 20%;
	right: 0;
	width: 60px;
	height: 60px;
	cursor: pointer;
}

.search_box_close:before, .search_box_close:after {
	content: '';
	width: 80%;
	height: 1px;
	background-color: #fff;
	position: absolute;
	top: 50%;
	left: 10%;
	margin-top: -1px;
}

.search_box_close:before {
	transform: rotate(-45deg);
}

.search_box_close:after {
	transform: rotate(45deg);
}

.search_box_wrap.search_box_off {
	display: none;
}

.search_box_wrap.search_box_on {
	display: block;
}

/* for front-page start */

.section_news__item a {
	align-items: flex-start;
}

.section_news__item .title {
	white-space: normal;
}

/* for front-page end */

.section_title {
	background-size: cover;
	background-position: center;
	padding: 70px 20px;
	color: #878787;
}

.section_title .category_title {
	font-size: 71px;
	font-weight: 500;
	text-align: center;
	margin-bottom: 30px;
	line-height: 1;
	letter-spacing: 0.2em;
}

.section_title .category_title:after {
	content: '';
	display: block;
	width: 56px;
	margin: 30px auto;
	border-top: 2px solid #878787;
}

.section_title h1.category_title {
	/* position: relative; */
	font-size: 71px;
	font-weight: 500;
	text-align: center;
	margin-bottom: 30px;
	line-height: 1;
	letter-spacing: 0.2em;
}

.section_title h1.category_title:after {
	content: '';
	display: block;
	width: 56px;
	margin: 30px auto;
	border-top: 2px solid #878787;
}

.section_title h1.category_title.no-border:after {
	border: 0;
}

.section_title .category_text {
	font-size: 17px;
	text-align: center;
	letter-spacing: 0.5em;
}

.section_title h1.category_title.guide {
	margin-bottom: 0;
	padding-top: 30px;
	padding-bottom: 30px;
	font-size: 38px;
}

.section_title h1.category_title.guide:after {
	display: none;
}

.section_title h1.category_title.hosting {
	font-size: 58px;
	line-height: 1.23;
	font-weight: 700;
	letter-spacing: 0;
}

h1.category_title_sub {
	/* position: relative; */
	font-size: 44px;
	font-weight: 500;
	text-align: center;
	margin-bottom: 30px;
	line-height: 1;
	letter-spacing: 0.15em;
}

h1.category_title_sub:after {
	content: '';
	display: block;
	width: 56px;
	margin: 30px auto;
	border-top: 2px solid #878787;
}

h1.category_title_sub.no-border:after {
	border: 0;
}

h1.category_title_sub.guide {
	margin-bottom: 0;
	padding-top: 30px;
	padding-bottom: 30px;
	font-size: 38px;
}

h1.category_title_sub.guide:after {
	display: none;
}

h1.category_title_sub.hosting {
	font-size: 58px;
	line-height: 1.23;
	font-weight: 700;
	letter-spacing: 0;
}

.section_head.company {
	min-height: 520px;
	background: url(/assets/img/company/bg_company_head.jpg);
	background-size: cover;
	background-position: center;
}

.section_list_title {
	padding: 15px;
	border-top: 1px solid #878787;
	border-bottom: 1px solid #878787;
	font-size: 22px;
	line-height: 26px;
	text-align: center;
	font-weight: 500;
}

/* company */

.section_head.company {
	height: 480px;
	margin: 0 auto;
	padding: 150px 140px 0;
	color: #fff;
	text-shadow: 2px 2px 4px #000;
	text-align: center;
}

.section_head.company .section_read__text {
	padding-bottom: 2em;
	line-height: 2;
}

.section_head.company .section_read__text:last-child {
	padding-bottom: 0;
}

.access_address_wrapper {
	display: flex;
	justify-content: space-between;
	padding-top: 80px;
	padding-bottom: 40px;
}

.access_address_container {
	width: calc((100% / 3 ) - 15px);
	border: 1px solid #ccc;
	box-shadow: 2px 2px 3px 0px rgba(0, 0, 0, 0.08);
}

.access_address_map {
	width: 100%;
	height: 220px;
}

.access_address_map.grayscale iframe{
	filter: grayscale(100%);
}

.access_address_box {
	display: flex;
	flex-wrap: wrap;
	padding: 13px 10px;
}

.access_address_title {
	display: flex;
	justify-content: center;
	color: #505050;
	width: 100%;
	font-size: 17px;
	letter-spacing: 0.5em;
}

.access_address_text {
	color: #505050;
	font-size: 12px;
	line-height: 1.75;
	padding: 12px 0 15px 4px;
}

.access_address_linkbox {
	display: flex;
	width: 100%;
}

.access_address_link {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #a6a6a6;
	color: #fff;
	width: 100%;
	height: 32px;
	font-size: 14px;
	line-height: 1;
	transition: .3s cubic-bezier(0.5, 1, 0.89, 1);
	letter-spacing: .05em;
}

.access_address_link:hover {
	background-color: #7c7c7c;
}

/* guide */

.section_content.content_guide {
	width: 900px;
	padding-bottom: 100px;
}

.section_content.content_guide h2 {
	margin-bottom: 0;
	padding-bottom: 30px;
}

.section_content.content_guide h3 {
	padding-bottom: 15px;
	font-size: 20px;
}

.section_content.content_guide .default_text+.default_text {
	padding-top: 30px;
}

.section_content.content_guide .table_wrap {
	padding-bottom: 20px;
}

.section_content.content_guide table td, .section_content.content_guide table th {
	padding: 15px;
}

/* service  */

.section_service_menu {
	position: relative;
}

.section_service_menu:after {
	content: '';
	position: absolute;
	width: 100%;
}

.section_service_menu.menu_top:after {
	bottom: 0px;
	border-bottom: 1px solid #878787;
}

.section_service_menu.menu_bottom:after {
	top: 0;
	border-top: 1px solid #878787;
}

.section_service_menu_content {
	width: 1200px;
	margin: 0 auto;
}

.service_menu_wrap {
	display: flex;
}

.service_menu_list {
	width: calc(100% / 7);
	height: 70px;
	padding: 0 2px;
}

.service_menu_link {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	background-color: #a6a6a6;
	border: 1px solid #a6a6a6;
	color: #fff;
	text-align: center;
}

.service_menu_link.active {
	position: relative;
	background-color: #fff;
	border: 1px solid #878787;
	color: #505050;
	z-index: 2;
}

.menu_top .service_menu_link.active {
	border-bottom: 1px solid #fff;
}

.menu_bottom .service_menu_link.active {
	border-top: 1px solid #fff;
}

.section_service_head_wrap {
	padding: 80px;
	background-color: #fff;
}

.section_service_head_wrap+.section_service_content_wrap {
	background-color: transparent;
}

.section_service_content_wrap {
	background-color: #fff;
	padding: 80px 80px 100px;
}

.service_content_wrap {
	width: 900px;
	margin: 0 auto 80px;
}

.service_content_wrap:last-child {
	margin-bottom: 0;
}

.service_content_logo {
	margin-bottom: 50px;
	padding: 30px 0;
	border: 1px solid #efeeed;
	text-align: center;
}

.service_content_logo img {
	height: 92px;
}

.service_content_wrap h2.gray_border {
	margin-bottom: 50px;
}

.service_content_text_item {
	line-height: 2;
}

.service_content_text+.btn_wrap {
	padding-top: 30px;
}

/* service */

.section_content.service_list {
	width: 900px;
}

.service_list_wrap {
	padding-bottom: 60px;
}

.service_list_content {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.service_list_content:after {
	content: '';
	display: block;
	width: 286px;
	height: 0;
}

.service_list_item {
	width: 286px;
	padding-bottom: 30px;
}

.service_list_link {
	position: relative;
	display: block;
	width: 286px;
	height: 100px;
	padding: 20px;
	background-color: #fff;
	border: 1px solid #e5e5e5;
}

.service_list_link img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: auto;
	height: 50px;
}

.service_list_link.logo_large img {
	height: 60px;
}

.service_list_link.logo_middle img {
	height: 30px;
}

.service_list_link.logo_small img {
	height: 25px;
}

.service_list_link.logo_xsmall img {
	height: 20px;
}

.service_list_logo {
	padding-bottom: 10px;
}

.section_service_content_footer.inquiry_footer {
	padding: 50px 0;
}

.service_content_footer_wrap.col2 {
	display: flex;
	width: 900px;
	margin: 0 auto;
}

.service_content_footer_wrap.col2 .service_content_item {
	width: 50%;
}

.service_content_footer_wrap.col2 .service_content_item .btn_wrap .btn_inquiry {
	width: 350px;
	height: 110px;
	text-align: center;
}

.tel_list_wrap {
	padding-bottom: 10px;
}

.tel_list_item {
	position: relative;
	padding-left: 100px;
	font-size: 20px;
}

.tel_list_item:before {
	position: absolute;
	top: 50%;
	transform: translate(0, -50%);
	left: 0;
}

.tel_list_item:after {
	content: '';
	position: absolute;
	top: 50%;
	transform: translate(0, -50%);
	left: 60px;
	width: 28px;
	height: 40px;
	background: url(/assets/img/icon_tel.svg) no-repeat;
}

.tel_list_item.tel_tokyo:before {
	content: '東京';
}

.tel_list_item.tel_osaka:before {
	content: '大阪';
}

.tel_list_text {
	font-size: 40px;
}

.btn_wrap .btn_inquiry {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 660px;
	height: 90px;
	margin: 0 auto;
	background-color: #f7be00;
	font-size: 20px;
}

.service_content_column {
	display: flex;
	flex-wrap: wrap;
	height: 100%;
}

.service_content_column.col1 {
	flex-direction: column;
}

.service_content_column.col2.even .service_content_column_item:nth-last-child(-n + 2) {
	padding-bottom: 0;
}

.service_content_column.border_bottom_gray {
	margin-bottom: 40px;
	padding-bottom: 40px;
	border-bottom: 1px solid #878787;
}

.col1 .service_content_column_item {
	width: 100%;
}

.service_content_column_item.bg_gray {
	padding: 30px;
	background-color: #efeeed;
}

.service_content_column_item.bg_gray h3.no_border {
	padding-bottom: 0;
}

.col2 .service_content_column_item {
	width: 50%;
	padding-bottom: 80px;
}

.col2.border_bottom_gray .service_content_column_item {
	padding-bottom: 0;
}

.col2 .service_content_column_item:nth-child(odd) {
	padding-right: 13px;
}

.col2 .service_content_column_item:nth-child(even) {
	padding-left: 13px;
}

.service_content_image {
	padding: 30px;
	background-color: #fff;
	text-align: center;
}

.service_content_image.bg_gray {
	background-color: #efeeed;
}

.service_content_image img {
	width: 775px;
	height: auto;
}

.service_content_column_item.open_img .service_content_image {
	display: flex;
	min-height: 250px;
	justify-content: center;
	align-items: center;
}

.service_content_column_item.multi_img img {
	margin: 0 10px;
}

.open_img .service_content_image img {
	width: 400px;
}

.open_img2 .service_content_image img {
	width: 250px;
}

.default_img .service_content_image img {
	width: auto;
}

.service_content_caption {
	padding-top: 20px;
}

h3+.service_content_caption {
	padding-top: 0;
}

.service_content_caption+.service_content_caption.bg_gray {
	margin-top: 15px;
	padding: 10px;
	background-color: #f3f3f3;
}

.service_content_list {
	padding-top: 20px;
}

.service_content_list_wrap.border_yerrow {
	counter-reset: item;
}

.service_content_list_wrap.border_yerrow li {
	position: relative;
	padding-left: 60px;
	padding-bottom: 40px;
	font-size: 16px;
}

.service_content_list_wrap.border_yerrow li:before {
	counter-increment: item;
	content: counter(item);
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 44px;
	color: #f7be00;
	font-size: 30px;
	font-weight: bold;
	text-align: center;
}

.service_content_list_wrap.border_yerrow li:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 44px;
	height: 44px;
	border: 2px solid #f7be00;
	text-align: center;
}

.service_content_list_wrap.bg_white {
	display: flex;
	flex-wrap: wrap;
	counter-reset: item;
}

.service_content_list_wrap.bg_white li {
	position: relative;
	width: calc(50% - 10px);
	height: 170px;
	margin-bottom: 20px;
	padding: 20px;
	background-color: #fff;
	font-size: 16px;
}

.service_content_list_wrap.bg_white li:nth-child(odd) {
	margin-right: 10px;
}

.service_content_list_wrap.bg_white li:nth-child(even) {
	margin-left: 10px;
}

.service_content_list_wrap.bg_white li:before {
	counter-increment: item;
	content: counter(item);
	position: absolute;
	top: 10px;
	left: 0;
	display: block;
	width: 100%;
	color: #f7be00;
	font-size: 40px;
	font-weight: bold;
	text-align: center;
}

.service_content_list_wrap.bg_white .service_content_list_text_item {
	position: absolute;
	/* top: 80px; */
	top: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	padding-top: 50px;
	font-size: 18px;
	text-align: center;
}

.service_content_list_wrap.icon_square .service_content_list_item {
	position: relative;
	padding-left: 15px;
	padding-bottom: 10px;
}

.service_content_list_wrap.icon_square .service_content_list_item:before {
	content: '';
	position: absolute;
	top: 6px;
	left: 0;
	width: 8px;
	height: 8px;
	background: #505050;
}

.service_content_list_wrap.col3 {
	display: flex;
	flex-wrap: wrap;
}

.service_content_list_wrap.col3 .service_content_list_item {
	width: calc(100% / 3);
	padding-right: 10px;
}

.section_service_content_footer {
	margin-top: 50px;
	padding: 120px 0;
	background: url(/assets/img/bg_service.png);
}

.section_content.our_strength.method {
	width: 100%;
	max-width: none;
	padding-bottom: 100px;
	background-image: url(/assets/img/ourstrength/bg_strength.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

.section_content.our_strength .strength_wrap {
	width: 1000px;
	margin: 0 auto;
}

.section_content.our_strength h2.strength {
	color: #878787;
	font-size: 38px;
	text-align: center;
}

.section_content.our_strength h2.strength .yellow {
	color: #ff9e18;
}

.section_content.our_strength h2.strength .blue {
	color: #004fa1;
}

.section_content.our_strength .image_wrap {
	text-align: center;
}

.section_content.our_strength .image_wrap img {
	width: 800px;
}

.section_content.our_strength .image_wrap.full_img img {
	width: 100%;
}

.list_col_wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 50px;
	border-top: 1px solid #646464;
	padding: 50px 0;
}

.list_col_content {
	align-items: center;
	margin: 0 15px;
	font-size: 18px;
	text-align: center;
}

.list_col_subtitle_item {
	padding-bottom: 20px;
	color: #f7be00;
	font-size: 24px;
}

.list_col_title_item {
	padding-bottom: 40px;
	color: #878787;
	font-size: 24px;
}

.list_col_text_item {
	color: #878787;
	font-size: 14px;
	text-align: left;
}

.tab_switch_wrap {
	display: flex;
	padding-top: 100px;
}

.tab_switch_wrap h3.bg_yellow {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 60px;
	padding: 10px;
	background-color: #f7be00;
	color: #fff;
	font-size: 15px;
	font-weight: normal;
	writing-mode: vertical-rl;
	letter-spacing: 1em;
}

.tab_switch_content {
	width: 930px;
}

.tab_menu {
	display: flex;
	justify-content: space-between;
}

.tab_menu_item {
	width: calc(100% / 4);
	margin-left: 10px;
}

.tab_menu_link {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 60px;
	color: #f7be00;
	font-size: 22px;
	background-color: #fff;
	border: 1px solid #f7be00;
	text-align: center;
}

.tab_menu_item.active a.tab_menu_link {
	height: 70px;
	border: 1px solid #fff;
}

.tab_menu_content_wrap {
	display: none;
	padding: 20px 30px;
	background-color: #fff;
	margin-left: 10px;
}

.tab_menu_content_wrap.active {
	display: block;
}

.tab_menu_content_wrap.col2.active {
	display: flex;
}

.tab_menu_content_wrap.col2 {
	display: none;
	justify-content: space-between;
	width: calc(100% - 10px);
}

.tab_menu_content_wrap.col2 .tab_menu_content {
	width: 47.5%;
}

.tab_menu_content:after {
	content: '';
	clear: both;
	display: block;
}

.tab_content_title {
	padding-bottom: 10px;
	font-size: 20px;
}

.tab_content_tags {
	padding-bottom: 20px;
}

.tab_content_tags .tag {
	padding: 5px 10px;
	background-color: rgba(247, 190, 0, 0.25);
	font-size: 11px;
}

.tab_content_image {
	float: right;
	width: 265px;
	margin-left: 10px;
}

.col2 .tab_content_image {
	width: 180px;
}

.tab_content_image img {
	width: 100%;
	border: 1px solid #646464;
}

/* casestudy */

.casestudy_select_wrap {
	display: flex;
	margin-bottom: 80px;
	padding: 30px 0 30px 30px;
	border: 1px solid #878787;
}

.casestudy_select_inner {
	width: calc(100% / 4);
	padding-right: 40px;
}

.casestudy_content {
	padding-bottom: 20px;
}

.casestudy_content:last-child {
	padding-bottom: 0;
}

.casestudy_title {
	padding-bottom: 5px;
	font-size: 15px;
}

.casestudy_item {
	padding-bottom: 10px;
}

.casestudy_link {
	display: block;
	height: 32px;
	padding: 5px 10px;
	background-color: #fff;
	border: 1px solid #c6c6c6;
	font-size: 13px;
}

.casestudy_link_list_wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	flex-grow: 1;
}

.casestudy_link_list_item {
	width: 31.5%;
	padding-bottom: 30px;
}

.casestudy_list_item_link {
	display: block;
	padding: 20px 0;
	background-color: #fff;
}

.casestudy_list_image {
	width: 110px;
	height: 90px;
	margin: 0 auto;
	padding: 10px 0;
	background-color: #ccc;
}

.casestudy_list_title {
	height: 60px;
	padding-top: 20px;
	border-top: 1px solid #878787;
	font-size: 20px;
	text-align: center;
}

.casestudy_list_text {
	height: 100px;
	padding: 20px;
}

.casestudy_list_tags {
	padding: 0 20px;
}

.casestudy_list_tags .tag {
	padding: 2px 5px;
	font-size: 11px;
	border-radius: 3px;
	background-color: rgba(247, 190, 0, 0.25);
}

.section_title.casestudy .category_title {
	font-size: 22px;
}

.section_title.casestudy .category_text {
	font-size: 36px;
}

.casestudy_content_column {
	padding-bottom: 50px;
}

.casestudy_content_column.col2 {
	display: flex;
}

.casestudy_content_column.col2 .casestudy_content_column_item {
	width: 50%;
}

.casestudy_content_column_image {
	margin-right: 30px;
	padding: 20px;
	background-color: #fff;
	text-align: center;
}

.casestudy_content_column.company {
	position: relative;
	margin-bottom: 50px;
	padding: 20px;
	border: 1px solid #878787;
}

.casestudy_content_column.company h3 {
	position: absolute;
	top: -15px;
	left: 0;
	right: 0;
	width: 5em;
	margin: 0 auto;
	padding: 0 10px;
	background: #e9e8e8;
}

.casestudy_content_column.company .company_detail {
	padding-top: 30px;
	padding-bottom: 0;
}

.casestudy_content_column.company .company_detail .casestudy_content_column_item:first-child {
	width: 300px;
}

.casestudy_content_column_data {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}

.casestudy_content_column_data_title {
	width: 30%;
	padding-bottom: 10px;
}

.casestudy_content_column_data_text {
	width: 70%;
	padding-bottom: 10px;
}

.purpose h2.gray_border {
	margin-bottom: 20px;
}

.casestudy_content_column_item.result {
	margin-bottom: 50px;
	padding: 0 10px;
	background-color: #fff;
}

.casestudy_content_column_item.result .casestudy_content_column_item {
	padding: 20px;
}

.casestudy_content_column_item.result .casestudy_content_column_item:first-child {
	position: relative;
}

.casestudy_content_column_item.result .casestudy_content_column.col2 {
	padding-bottom: 0;
}

.casestudy_content_column_item.result .casestudy_content_column_item:first-child:after {
	position: absolute;
	top: 50%;
	transform: translate(-50%, 0);
	right: -20px;
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 35px 0 35px 20px;
	border-color: transparent transparent transparent #f7be00;
}

.casestudy_content_column_item.result h3 {
	padding-bottom: 0;
}

.casestudy_content_column.service .casestudy_content_column_item:first-child {
	width: 300px;
}

.casestudy_content_column.service .casestudy_content_column_item .casestudy_content_column_title {
	font-size: 18px;
	padding-bottom: 10px;
}

.casestudy_content_column_text_item {
	line-height: 2;
}

.casestudy_content_list {
	padding-top: 20px;
}

.casestudy_content_list_wrap.icon_square .casestudy_content_list_item {
	position: relative;
	padding-left: 15px;
	padding-bottom: 10px;
}

.casestudy_content_list_wrap.icon_square .casestudy_content_list_item:before {
	content: '';
	position: absolute;
	top: 6px;
	left: 0;
	width: 8px;
	height: 8px;
	background: #505050;
}

/* title */

h2.gray_border {
	padding: 15px;
	border-top: 1px solid #878787;
	border-bottom: 1px solid #878787;
	font-size: 22px;
	line-height: 26px;
	text-align: center;
}

h2.bg_red {
	margin-bottom: 80px;
	padding: 35px 15px;
	background-color: #eb0045;
	color: #fff;
	font-size: 25px;
	line-height: 30px;
	text-align: center;
}

h2.no_border {
	font-size: 22px;
	text-align: center;
}

.list_container.num_title_reset {
	counter-increment: item;
}

h2.no_border.num_title {
	position: relative;
	margin-bottom: 30px;
	padding-left: 3em;
	font-size: 22px;
	line-height: 1.4;
	text-align: left;
	letter-spacing: 0.2em;
}

h2.no_border.num_title:before {
	position: absolute;
	left: 0;
	content: counter(item);
}

h2.no_border.num_title:after {
	content: '';
	position: absolute;
	left: 1.8em;
	width: 1px;
	height: 30px;
	background-color: #505050;
}

h2.no_border.multi_line {
	line-height: 2;
}

h3.no_border {
	padding-bottom: 50px;
	font-size: 22px;
	font-weight: normal;
}

h3.no_border.left {
	font-size: 22px;
}

h3.no_border.pb0 {
	padding-bottom: 0;
}

h3.no_border.center {
	text-align: center;
}

.section_content h2 {
	margin-bottom: 50px;
}

.section_news__title.ir {
	padding-top: 100px;
	font-size: 27px;
	text-align: center;
}

.section_content .btn_readmore {
	margin: 30px 0 80px;
	text-align: center;
}

.section_content .btn_readmore a {
	font-size: 15px;
}

.section_content {
	max-width: 1000px;
	margin: 0 auto;
}

.section_content .btn_readmore a {
	width: 260px;
}

.list_circle_wrap ul {
	display: flex;
	justify-content: center;
	align-items: center;
	padding-bottom: 30px;
}

.list_circle_wrap li {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 206px;
	height: 206px;
	margin: 0 15px;
	background-color: #a6a6a6;
	border-radius: 100%;
	color: #fff;
	font-size: 18px;
	text-align: center;
}

.alternate_list_wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	max-width: 900px;
	margin: 0 auto 20px;
}

.alternate_list_wrap .alternate_title:nth-child(1), .alternate_list_wrap .alternate_detail:nth-child(1) {
	margin-right: 30px;
}

.alternate_list_wrap .alternate_title:nth-child(2), .alternate_list_wrap .alternate_detail:nth-child(2) {
	margin-left: 30px;
}

.alternate_title, .alternate_detail {
	width: 50%;
}

.alternate_title {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	min-height: 160px;
	background-color: #a6a6a6;
}

.alternate_title_item, .alternate_text_item {
	display: block;
	color: #fff;
}

.alternate_title_item {
	font-size: 20px;
}

.alternate_text_item {
	font-size: 16px;
}

.alternate_detail_item {
	display: flex;
	justify-content: center;
	padding: 0 5px;
}

.alternate_detail_item .list_row li {
	float: left;
	width: 50%;
	text-indent: -1em;
	padding-left: 1em;
}

.alternate_detail_item li {
	padding-top: 1em;
}

.alternate_detail_item li:first-child {
	padding-top: 0;
}

.alternate_detail_item .list_row li:nth-child(2) {
	padding-top: 0;
}

.alternate_detail_item li:before {
	content: '〇';
}

.alternate_list_wrap+.btn_readmore {
	margin-top: 50px;
}

.select-video-box {
	width: 660px;
	margin: 0 auto;
	padding: 25px 0 5px;
}

.select-video-box ul {
	overflow: hidden;
	border-top: 1px solid #878787;
	padding: 0 0 20px 0;
}

.select-video-box ul li {
	float: left;
	width: 25%;
	border-left: 1px solid #878787;
	border-bottom: 1px solid #878787;
	position: relative;
}

.select-video-box ul li:last-child {
	border-right: 1px solid #878787;
}

.select-video-box ul li span {
	display: block;
	color: #333;
	padding: 8px 0;
	text-align: center;
	font-size: 15px;
	line-height: 1.5;
}

.select-video-box ul li span:hover {
	cursor: pointer;
	opacity: 0.8;
}

.select-video-box ul li.movie-select {
	background-color: #878787;
}

.select-video-box ul li.movie-select span {
	color: #fff;
}

.select-video-box ul li.movie-select:after {
	position: absolute;
	top: 31px;
	left: 50%;
	content: '';
	width: 15px;
	height: 15px;
	margin-left: -7px;
	-webkit-transform: rotateZ(45deg);
	transform: rotateZ(45deg);
	border-right: 1px solid #878787;
	border-bottom: 1px solid #878787;
	background-color: #878787;
}

.video-box {
	width: 660px;
	margin: 0 auto 100px;
	height: 371.25px;
}

.video-box video {
	width: 660px;
	height: auto;
	height: 371.25px;
}

.address_text, .tel_num, .to_access {
	text-align: center;
}

.address_text {
	padding-bottom: 30px;
	font-size: 20px;
}

.tel_num {
	margin: 0 auto;
	padding-bottom: 50px;
}

.tel_num .number {
	position: relative;
	display: inline-block;
	padding-left: 60px;
	font-size: 30px;
	text-align: center;
}

.tel_num .number:before {
	position: absolute;
	left: 0;
	content: '';
	display: inline-block;
	width: 52px;
	height: 52px;
	border-radius: 100%;
	border: 1px solid #878787;
}

.tel_num .number:after {
	position: absolute;
	top: 15px;
	left: 14px;
	content: '';
	display: block;
	width: 22px;
	height: 21px;
	background: url(/assets/img/icon_tel.svg) no-repeat;
	background-size: 22px 21px;
	color: #000;
}

.to_access {
	position: relative;
	padding: 40px 0 100px;
	font-size: 20px;
}

.to_access:before {
	position: absolute;
	top: 0;
	left: 0;
	content: 'アクセス';
	width: 100%;
	text-align: center;
}

.map {
	margin-bottom: 50px;
}

.map iframe, .map object, .map embed {
	-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-o-filter: grayscale(100%);
	filter: grayscale(100%);
}

.map_color.map iframe,
.map_color.map object,
.map_color.map embed {
	-webkit-filter: grayscale(0%);
	-moz-filter: grayscale(0%);
	-o-filter: grayscale(0%);
	filter: grayscale(0%);
}

.switch_data_wrap {
	padding-bottom: 50px;
	counter-increment: item;
}

.switch_data_wrap:last-child {
	padding-bottom: 0;
}

.switch_title {
	display: flex;
	justify-content: space-between;
	padding: 20px 20px 20px 0;
	background-color: #a6a6a6;
	text-align: center;
}

.switch_title_item {
	display: flex;
	width: calc(100% - 60px);
	align-items: center;
	justify-content: center;
	position: relative;
	min-height: 60px;
	padding-left: 100px;
	color: #fff;
	font-size: 22px;
}

.switch_title_item:before {
	position: absolute;
	top: 5px;
	left: 0;
	display: block;
	width: 100px;
	color: #fff;
	font-size: 54px;
	font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', 'Noto Sans JP', sans-serif;
	line-height: 1.2;
	text-align: center;
}

.switch_title_item:before {
	content: counter(item);
}

.switch_content {
	padding: 50px 40px;
	background-color: #fff;
}

.switch_content.bg_gray {
	background-color: #f2f2f2;
}

h4.border_light_gray {
	margin-bottom: 40px;
	padding: 13px;
	border: 1px solid #878787;
	font-size: 18px;
	line-height: 1.25;
	text-align: center;
}

h4.no_border {
	margin-bottom: 10px;
	font-weight: normal;
	line-height: 1.25;
}

/* caution */

.caution {
	position: relative;
	padding-left: 1em;
}

.caution:before {
	content: '※';
	position: absolute;
	left: 0;
	display: block;
}

.caution.caution_small_size {
	font-size: 12px;
}

.caution.mark_chara {
	padding-left: 2em;
}

.caution.mark_chara:before {
	content: '注：';
}

.caution.mark_chara2 {
	padding-left: 2em;
}

.caution.mark_chara2:before {
	content: '※：';
}

.read_text {
	padding-bottom: 30px;
	line-height: 2;
}

.small_text {
	font-size: 12px;
}

.middle_text {
	font-size: 16px;
}

/* tables */

.table_wrap {
	padding-bottom: 80px;
}

.table_wrap .table_unit {
	padding-bottom: 10px;
	text-align: right;
}

.table_wrap table {
	width: 100%;
	border-collapse: collapse;
}

.table_wrap th {
	padding: 15px 3px;
	background-color: #a6a6a6;
	border-right: 1px solid #fff;
	color: #fff;
	font-weight: normal;
	text-align: center;
}

.table_wrap td {
	padding: 10px;
	border-right: 1px solid #878787;
	border-bottom: 1px solid #878787;
	text-align: center;
}

.table_wrap th:last-child, .table_wrap tr td:last-child {
	border-right: 0;
}

.table_wrap tbody {
	border-top: 1px solid #878787;
}

.table_wrap thead+tbody {
	border-top: 0;
}

.table_wrap td.cell_title {
	padding-left: 20px;
	text-align: left;
}

.table_wrap .table_align_left th, .table_wrap .table_align_left td {
	padding: 15px;
	text-align: left;
}

.table_wrap .table_align_left th {
	border-right: 0;
	border-bottom: 1px solid #fff;
}

.table_wrap .border_even tr:nth-child(odd) td {
	background-color: #f5f5f5;
}

.table_wrap .table_align_left tr:last-child th {
	border-bottom: 1px solid #a6a6a6;
}

.table_wrap .table_side_border {
	border-left: 1px solid #a6a6a6;
	border-right: 1px solid #a6a6a6;
}

.table_wrap .td_bg_white td {
	background-color: #fff;
}

.table_wrap .td_white td {
	background-color: #fff;
}

/* toggle */

.btn_toggle {
	position: relative;
	width: 60px;
	height: 60px;
	border: 1px solid #fff;
}

.btn_toggle:hover {
	cursor: pointer;
}

.btn_toggle.open:before {
	position: absolute;
	top: 29px;
	left: 17px;
	content: '';
	width: 26px;
	height: 2px;
	background-color: #fff;
}

.btn_toggle.close:before {
	position: absolute;
	top: 29px;
	left: 17px;
	content: '';
	width: 26px;
	height: 2px;
	background-color: #fff;
}

.btn_toggle.close:after {
	position: absolute;
	top: 17px;
	left: 29px;
	content: '';
	width: 2px;
	height: 26px;
	background-color: #fff;
}

/* btns */

.btn_readmore.btn_middle a {
	width: 260px;
}

.btn_readmore.btn_large a {
	width: 380px;
	margin: 0 auto;
	padding: 24px 30px;
	height: auto;
}

.btn_center {
	text-align: center;
}

.btn_border_gray {
	border: 1px solid #505050;
	background-color: #fff;
}

.btn_large {
	width: 660px;
	margin: 0 auto;
}

.btn_large a {
	display: block;
	height: 90px;
	padding: 30px;
	line-height: 30px;
	font-size: 20px;
}

.btn_full {
	width: 100%;
	margin: 0 auto;
}

.btn .icon_window {
	position: relative;
}

.btn .icon_window:before {
	position: absolute;
	top: 40px;
	right: 30px;
	content: '';
	width: 15px;
	height: 14px;
	background: url(/assets/img/common/icon_window.png) no-repeat;
	background-size: 15px 14px;
}

.btn .icon_window:after {
	position: absolute;
	top: 20px;
	right: 75px;
	content: '';
	display: block;
	width: 1px;
	height: 50px;
	background: #505050;
}

.pdf_text_item {
	padding-right: 50px;
}

.no_pd {
	padding: 0;
}

.pb80 {
	padding-bottom: 80px;
}

.mb100 {
	margin-bottom: 100px;
}

.mb90 {
	margin-bottom: 90px;
}

.mb80 {
	margin-bottom: 80px;
}

.mb70 {
	margin-bottom: 70px;
}

.mb60 {
	margin-bottom: 60px;
}

.mb50 {
	margin-bottom: 50px;
}

.mb40 {
	margin-bottom: 40px;
}

.mb30 {
	margin-bottom: 30px;
}

.mb20 {
	margin-bottom: 20px;
}

.mb10 {
	margin-bottom: 10px;
}


.pb10 {
	padding-bottom: 10px !important;
}

.pb20 {
	padding-bottom: 20px !important;
}

.pb25 {
	padding-bottom: 25px !important;
}

.pb30 {
	padding-bottom: 30px !important;
}

.pb40 {
	padding-bottom: 40px !important;
}

.pb0 {
	padding-bottom: 0;
}

.pb50 {
	padding-bottom: 50px;
}

.pt20 {
	padding-top: 20px;
}

.pt10 {
	padding-top: 10px;
}

.mt40 {
	margin-top: 40px !important;
}

.section_content .text_wrap .text_large {
	font-size: 18px;
}

.section_content .read_text.center {
	text-align: center;
}

.text_link {
	color: #0071b6;
	text-decoration: underline;
}

.text_right {
	text-align: right;
}

.text_center {
	text-align: center;
}

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

.section_news__item i.red_all {
	background-color: #eb0045;
}

.section_news__item i.gray {
	background-color: #646464;
}

.section_news__item i.icon_small {
	display: inline-block;
	width: auto;
	margin-left: 10px;
	padding-left: 10px;
	padding-right: 10px;
}

.section_news__item span.icon_pdf {
	width: 25px;
	height: 27px;
	margin-left: auto;
	background: url(/assets/img/common/icon_pdf.png) no-repeat;
	background-size: 25px 27px;
	-webkit-background-size: 25px 27px;
}

/* news list */

.section_content.news_list {
	padding: 0;
	padding-bottom: 100px;
}

.section_content.news_list .section_news {
	padding-right: 0;
	padding-left: 0;
}

.section_content.news_list .section_news.border_gray {
	padding-bottom: 80px;
}

.section_news.border_gray .section_news__item {
	margin: 0;
	padding: 20px 0;
	border-bottom: 1px solid #878787;
}

.section_news.border_gray .section_news__item a {
	align-items: flex-start;
}

.section_content.news_list .section_news__item .title {
	white-space: normal;
	line-height: 1.3;
}

.section_content.news_list .section_news__item .date {
	line-height: 1.3;
}

.select_wrap.news_select {
	width: 900px;
	margin: 0 auto;
	padding-bottom: 30px;
	text-align: right;
}

.select_wrap select {
	padding: 10px;
}

.select_wrap.news_select select {
	min-width: 130px;
}

.paging_wrap {
	display: flex;
	justify-content: space-between;
	width: 900px;
	margin: 0 auto;
}

.paging_wrap .btn_prev, .paging_wrap .btn_next {
	width: 5em;
}

.paging_wrap .btn_prev {
	text-align: left;
}

.paging_wrap .btn_next {
	text-align: right;
}

.paging_wrap .btn_prev a, .paging_wrap .btn_next a {
	position: relative;
	font-size: 16px;
}

.paging_wrap .btn_prev a {
	padding-left: 20px;
}

.paging_wrap .btn_next a {
	padding-right: 20px;
}

.paging_wrap .btn_prev a:before, .paging_wrap .btn_next a:after {
	position: absolute;
	top: 4px;
	content: '';
	width: 8px;
	height: 8px;
	border-top: 2px solid #505050;
	border-right: 2px solid #505050;
}

.paging_wrap .btn_prev a:before {
	left: 0;
	transform: rotate(-135deg);
}

.paging_wrap .btn_next a:after {
	right: 0;
	transform: rotate(45deg);
}

.paging_wrap .btn_numlist a {
	padding: 0 10px;
	font-size: 16px;
}

.paging_wrap .btn_numlist a:hover {
	text-decoration: underline;
}

.section_list {
	width: 900px;
	margin: 30px auto 100px;
}

.list_wrap {
	display: flex;
	justify-content: flex-start;
	padding: 30px 0;
	border-top: 1px solid #878787;
}

.list_wrap:last-child {
	border-bottom: 1px solid #878787;
}

.top_no_border .list_wrap:first-child {
	border-top: 0;
}

.list_wrap.no_border {
	border-top: 0;
	padding-top: 0;
}

.list_wrap.no_border:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.list_wrap.no_border p, .list_wrap.no_border ol {
	width: 100%;
}

.list_title {
	width: 290px;
	text-align: center;
}

.list_detail {
	width: 610px;
}

.list_title_item {
	width: 215px;
	padding: 6px;
	background-color: #a6a6a6;
	color: #fff;
}

.list_detail_item {
	padding: 6px;
}

.item_col .list_detail_item {
	display: flex;
	justify-content: space-between;
}

.list_detail_item_btn a.btn {
	position: relative;
	display: inline-block;
	margin-top: 10px;
	border: 1px solid #505050;
	text-align: center;
}

.list_detail_item_btn a.btn:after {
	position: absolute;
	right: 10px;
	content: '';
	width: 6px;
	height: 6px;
	border-right: 1px solid #505050;
	border-top: 1px solid #505050;
	transform: rotate(45deg);
}

.list_detail_item_btn a.btn_small {
	width: 120px;
	height: 22px;
	line-height: 22px;
}

.list_detail_item_btn a.btn_middle {
	width: 170px;
	height: 30px;
	line-height: 30px;
}

.item_col .list_detail_item_btn a.btn {
	margin-top: 0;
}

.list_detail_item_btn a.btn_small:after {
	top: 7px;
}

.list_detail_item_btn a.btn_middle:after {
	top: 11px;
}

.list_group.icon_square .square_list_item {
	position: relative;
	padding-left: 15px;
	padding-bottom: 10px;
}

.list_group.icon_square .square_list_item:before {
	content: '';
	position: absolute;
	top: 6px;
	left: 0;
	width: 8px;
	height: 8px;
	background: #505050;
}

.list_group.icon_square .square_list_item:last-child {
	padding-bottom: 0;
}

.list_detail_item_dl {
	display: block;
	position: relative;
	padding-bottom: 0.25rem;
}

.list_detail_item_dt {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}

.list_detail_item_dd {
	display: block;
	padding-left: 8em;
	text-align: left;
}

.list_detail_item_dd>span {
	display: inline-block;
}

.totop_btn {
	z-index: 2;
}

/* kessan */

.section_pdf {
	max-width: 1000px;
	margin: 0 auto 100px;
	padding: 40px;
	background-color: #fff;
}

.wrap_pdf {
	display: flex;
	justify-content: center;
	align-items: center;
}

.pdf_text_item {
	padding-right: 50px;
}

.section_content.bgcolor-white {
	background-color: #fff;
}

.section_content.kessan-list {
	max-width: none;
	padding: 80px 0 50px;
}

.section_content.kessan-list .section_news.border_gray .section_news__list {
	margin: 0 auto;
	border-top: 1px solid #878787;
}

.section_content.kessan-list .section_news.border_gray .section_news__item a {
	align-items: center;
}

.section_news__item span.icon_pdf {
	width: 25px;
	height: 27px;
	margin-left: auto;
	background: url(/assets/img/icon_pdf.svg) no-repeat;
	background-size: 25px 27px;
	-webkit-background-size: 25px 27px;
}

.material-icons.iconsize {
	font-size: 14px;
	vertical-align: text-bottom;
}
.material-icons.iconsize2 {
	font-size: 22px;
	vertical-align: text-bottom;
}