﻿@font-face {
  font-family: "apercu";
  src: url("css/font/ApercuPro-Bold.woff2") format("woff2"),
       url("css/font/ApercuPro-Bold.woff") format("woff");
}
.f_apercu{
  font-family: "apercu";
}
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@700&display=swap');

html.wprmenu-body-fixed,
body.wprmenu-body-fixed{
  position: relative!important;
  overflow: hidden!important;
}

/* FV
------------------------------------------------------------*/
.grecaptcha-badge { visibility: hidden; }
.fv_box{
	width: 100vw;
	height: 100vh;
	background-color: #5f6b74;
	background-position:center center;
	background-size: cover;
	display: flex!important;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	box-sizing:border-box;
	color: #fff;
}

.fv_box h2{
	font-size: 140px;
	font-family: "apercu", san-serif ;
	line-height: 1.2em;
}

.fv_box p.catch01{
	font-size: 36px;
	line-height: 1.2em;
	font-weight: bold;
	display: flex;
	align-items: center;
	margin-bottom: 30px;
}

.fv_box p.catch01:before, .fv_box p.catch01:after {
	content: "";
	flex-grow: 1;
	height: 1px;
	background: #fff;
	display: block;
}
.fv_box p.catch01:before {
	margin-right: .4em;
}
.fv_box p.catch01:after {
	margin-left: .4em;
}

.fv_box p.catch02{
	font-size: 20px;
	line-height: 1.2em;
	font-weight: bold;
	font-family: "apercu", san-serif ;
	margin-bottom: 30px;
}

.fv_box h3{
	font-size: 20px;
	line-height: 1.2em;
	font-weight: bold;
	font-family: "游ゴシック", "YuGothic", 'Noto Sans JP', sans-serif;
}

@media only screen and (max-width: 999px){
	.fv_box h2{
	font-size: 15vw;
	text-align: center;
	line-height: 1em;
	margin-bottom: 30px;
	}
}

@media only screen and (max-width: 768px){
	.fv_box{
	width: 100vw;
	height: 100vh;
	background-color: #5f6b74;
	background-position:center center;
	background-size: cover;
	display: flex!important;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	color: #fff;
	padding: 0 5% 5%;
	box-sizing:border-box;
	}

	.fv_box h2{
	font-size: 20vw;
	text-align: center;
	line-height: 1em;
	margin-bottom: 30px;
	}

	.fv_box p.catch01{
	font-size: 36px;
	line-height: 1.2em;
	align-items: center;
	margin-bottom: 30px;
	}

	.fv_box p.catch01{
	font-size: 7vw;
	text-align: center;
	line-height: 1.2em;
	}

	.fv_box p.catch02{
	font-size: 4vw;
	text-align: center;
	}

	.fv_box h3{
	font-size: 4.5vw;
	text-align: center;
	}


}

/* 固定ページ */
.page_fv_box{
	width: 100vw;
	height: 50vh;
	background-position: center center;
	background-size: cover;
	background-color: #374047;
	background-blend-mode: multiply;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	box-sizing:border-box;
	color: #fff;
	position: relative;
}

.page_fv_box h2{
	margin-top: 5%;
	font-family: "游ゴシック", "YuGothic", 'Noto Sans JP', sans-serif;
	font-weight: bold;
	font-size: 40px;
	line-height: 1.2em;
	text-align: center;
}

.page_fv_box h2 span{
	font-size: 16px;
	font-weight: bold;
	display: block;
	clear: both;
	font-family: "apercu", "游ゴシック", "YuGothic", 'Noto Sans JP', sans-serif;
	margin-top: 10px;
	line-height: 1.2em;
}

.nothum{
	background: #374047;
}

/* アーカイブ */
.archive_fv_box{
	width: 100vw;
	height: 50vh;
	background: #374047 url(images/business/thum_tieup.jpg) no-repeat;
	background-blend-mode: multiply;
	background-position:center center;
	background-size: cover;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	box-sizing:border-box;
	color: #fff;
	position: relative;
}

.archive_fv_box h2{
	margin-top: 5%;
	font-family: "游ゴシック", "YuGothic", 'Noto Sans JP', sans-serif;
	font-weight: bold;
	font-size: 40px;
	line-height: 1.2em;
	text-align: center;
}

.archive_fv_box h2 span{
	font-size: 16px;
	font-weight: bold;
	display: block;
	clear: both;
	font-family: "apercu", "游ゴシック", "YuGothic", 'Noto Sans JP', sans-serif;
	margin-top: 10px;
	line-height: 1.2em;
}

.page_fv_box h2{
	margin-top: 5%;
	font-family: "游ゴシック", "YuGothic", 'Noto Sans JP', sans-serif;
	font-weight: bold;
	font-size: 40px;
	line-height: 1.2em;
	text-align: center;
}

.page_fv_box h2 span{
	font-size: 16px;
	font-weight: bold;
	display: block;
	clear: both;
	font-family: "apercu", "游ゴシック", "YuGothic", 'Noto Sans JP', sans-serif;
	margin-top: 10px;
	line-height: 1.2em;
}

/* ヘッダー パンくずリスト */
.breadcrumb-area{
	position: absolute;
	top: 25%;
	left: 3%;
	color: #fff;
	font-size: 12px!important;
	font-family: "游ゴシック", "YuGothic", 'Noto Sans JP', sans-serif;
}

.breadcrumb-area .post{font-size: 12px!important;}

.breadcrumb-area a{
	color: #fff;
	text-decoration: underline;
}

.breadcrumb-area a:hover{
	color: #fff;
	text-decoration: none;
}

.current-item {
    display: inline-block;
    padding: 0;
    /*margin-top: -3px;*/
    vertical-align: middle;
    max-width: 150px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media only screen and (max-width: 768px){
/* 固定ページ */
.page_fv_box{
	height: 30vh;
}
    .content{
     padding: 30px 0;   
    }
    .archive_fv_box{
        height: 30vh;
    }
	.archive_fv_box h2{
	margin-top: 5%;
	font-family: "游ゴシック", "YuGothic", 'Noto Sans JP', sans-serif;
	font-weight: bold;
	font-size: 7.5vw;
	line-height: 1.2em;
	text-align: center;
	padding: 8% 4% 0;
	}

	.archive_fv_box h2 span{
	font-size: 3.5vw;
	font-weight: bold;
	display: block;
	clear: both;
	font-family: "apercu", "游ゴシック", "YuGothic", 'Noto Sans JP', sans-serif;
	margin-top: 10px;
	line-height: 1.2em;
	}

	.page_fv_box h2{
	margin-top: 5%;
	font-family: "游ゴシック", "YuGothic", 'Noto Sans JP', sans-serif;
	font-weight: bold;
	font-size: 7.5vw;
	line-height: 1.2em;
	text-align: center;
	padding: 8% 4% 0;
	}

	.page_fv_box h2 span{
	font-size: 3.5vw;
	font-weight: bold;
	display: block;
	clear: both;
	font-family: "apercu", "游ゴシック", "YuGothic", 'Noto Sans JP', sans-serif;
	margin-top: 10px;
	line-height: 1.2em;
	}
.current-item {
    margin-top: -3px;
}

	.breadcrumb-area{
	position: absolute;
	top: 50px;
	font-size: 2.2vw!important;
	}
    .breadcrumb-area .post{font-size: 2.2vw!important;}

}


/* 記事一覧系 Archive
------------------------------------------------------------*/

/* トップページ 記事一覧 */
.top_newsbox{
	display: block;
	box-sizing:border-box;
	border-bottom: 1px solid #ecedef;
	padding: 0 0 30px;
	margin-bottom: 30px;
}

.top_newsbox:first-of-type{padding-top: 60px;}/* ハコ上部余白 */
.top_newsbox:last-of-type{margin-bottom: 0;}

.top_newsbox_cate{
	display: inline-block;
	box-sizing:border-box;
	border: 1px solid #ecedef;
	min-width: 120px;
	height: auto;
	text-align: center;
	margin-right: 20px;
	font-size: 12px;
	padding: 0 8px;
}

.top_newsbox_date{
	color: #a1abb1;
	font-family: "apercu", sans-serif;
	font-size: 14px;
}

.top_newsbox a{color: #374047;}
.top_newsbox a:hover{color: #0e6ab5; text-decoration: underline;}

.top_newsbox h3{
	font-size: 16px;
	font-weight: bold;
	margin-top: 20px;
	line-height: 1.5em;
}
.top_newsbox h3 br.br-ttl {
    display: none;
}
.top_newsbox h3 span{
    display: inline-block;
}

/* トップページ トピックス一覧 */
.top_topicsbox{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}

.top_topicsbox article{
	flex-basis: 30%;
	margin: 0 1% 30px;
}

.top_topicsbox article figure{
	position: relative;
	z-index: 0;
	display: inline-block;
	margin-block-start: 0;
	margin-block-end: 0;
	margin-inline-start: 0;
	margin-inline-end: 0;
}

.top_topicsbox article figure img{

}

.top_topicsbox article figcaption{
	position: absolute;
	z-index: 1;
	color: #fff;
	bottom: 20px;
	padding: 0 4%;
}

.top_topicsbox article figcaption h3{
	display: inline;
	font-size: 16px;
	line-height: 1em;
	background: rgba(55,64,71,0.6);
}

/* アーカイブ（トピックス以外） */

#archive .top_newsbox:first-of-type{
	padding-top: 0;
}

/* アーカイブ（社内ブログ） */
.archive_blogbox{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}

.archive_blogbox article{
	flex-basis: 31%;
	margin: 0 1% 30px;
	border: 1px solid #a1abb1;
	padding-bottom: 20px;
	position: relative;
	box-sizing:border-box;
}

.archive_blogbox article a h3{
	color: #374047;
	padding: 0 3%;
	margin-top: 10px;
}

.archive_blogbox article a:hover h3{
	color: #2b86b5;
	text-decoration: underline;
}

.archive_blogbox article figure{
	position: relative;
	z-index: 0;
	display: inline-block;
	margin-block-start: 0;
	margin-block-end: 0;
	margin-inline-start: 0;
	margin-inline-end: 0;
	padding: 0 0 15px;
}

.archive_blogbox article figure img{
	width: 100%;
	height: auto;
	margin: 0 auto;
	display: block;
}

.archive_blogbox article figcaption{
	position: absolute;
	z-index:1;
	top: -8px;
	left: -5px;
}

.blogbox_cate{
	display: inline-block;
	box-sizing:border-box;
	background: #2b86b5;
	color: #fff;
	height: auto;
	text-align: center;
	font-size: 12px;
	padding: 0 5px;
}

.archive_blogbox article h3{
	display: inline-block;
	font-size: 16px;
	line-height: 1.4em;
}

.blogbox_date{
	position: absolute;
	bottom: 0;
	left: 4%;
	color: #a1abb1;
	font-family: "apercu", sans-serif;
	font-size: 14px;
}


/* 関連記事表示 */

.yarpp-related h3 {
    margin: 80px 0 0 0!important;
}

.yarpp-thumbnail > img, .yarpp-thumbnail-default {
height: auto !important;
}
.yarpp-thumbnails-horizontal .yarpp-thumbnail-title {
max-height: 5.5em !important;
}
.yarpp-related .yarpp-thumbnail-title {
font-size: 80% !important;
}

.yarpp-thumbnail > img, .yarpp-thumbnail-default {
    width: 120px!important;
    height: 120px!important;
    margin: 5px;
    object-fit: cover;
}

.yarpp-thumbnails-horizontal .yarpp-thumbnail {
    border: 1px solid rgba(127,127,127,0.1);
    width: 130px;
    height: auto!important;
    margin: 5px;
    margin-left: 0px;
    vertical-align: top;
}


@media only screen and (max-width: 768px){
	/* トップページ トピックス一覧 */	
    #top_sec06 > .inner{
        width: 96%;
    }
	.top_topicsbox article{
	flex-basis: 48%;
	margin: 0 1% 20px;
	}
    .top_topicsbox{
       justify-content: space-between; 
    }
	.top_topicsbox article figcaption h3{
	font-size: 2.7vw;
	}

	/* アーカイブ（社内ブログ） */	
	.archive_blogbox article{
	flex-basis: 44%;
	margin: 0 2% 20px;
	}
	.archive_blogbox article figcaption h3{
	font-size: 2.7vw;
	}

}

/* 投稿記事の中 page single.php
------------------------------------------------------------*/
.leftline_bh{/* 左側青線見出し */
	border-left: 3px solid #2b86b5;
	padding-left: 15px;
	box-sizing:border-box;
	margin-top: 50px!important;
	display: block;
}

/* 吹き出し本体 */
.balloon_r{
	clear: both;
  position: relative;
  padding: 20px;
  border-radius: 10px;
  color: #333;
  background-color: #f5f5f5;
  margin-left: 100px;          /* 左に余白を設ける */
  margin-top: 30px;
  margin-bottom: 30px;

}
/* 画像 - 絶対配置で左上に配置 */
.balloon_r .icon{
  position: absolute;
  left: -100px;
  top: 0;
	width: 70px;
	height: auto;
  font-size: 12px;
  text-align: center;
  line-height: 1.4em;
}
/* 三角アイコン */
.balloon_r::before{
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  left: -15px;
  top: 15px;
  border-right: 15px solid #f5f5f5;
  border-top: 15px solid transparent;
  border-bottom: 15px solid transparent;
}

/* 吹き出し本体 */
.balloon_l{
	clear: both;
  position: relative;
  padding: 20px;
  border-radius: 10px;
  color: #333;
  background-color: #f5f5f5;
  margin-right: 100px;          /* 右に余白を設ける */
  margin-top: 30px;
  margin-bottom: 30px;
}
/* 画像 - 絶対配置で右上に配置 */
.balloon_l .icon{
  position: absolute;
  right: -100px;
  top: 0;
	width: 70px;
	height: auto;
  font-size: 12px;
  text-align: center;
  line-height: 1.4em;
}
/* 三角アイコン */
.balloon_l::before{
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  right: -15px;
  top: 15px;
  border-left: 15px solid #f5f5f5;
  border-top: 15px solid transparent;
  border-bottom: 15px solid transparent;
}

.balloon_r p:last-of-type, .balloon_l p:last-of-type{margin-bottom: 0;}


/* 弘兼プロインタビュー記事 */
div.page_fv_box.post-162{
	background-position: center top!important;
}


/* トップページ
------------------------------------------------------------*/
/* sec01 */
#top_sec01{
	display: block;
	padding: 140px 0 20px;
	background: #fff;
}

#top_sec01 h2.title01{
	color: #374047;
	font-family: "apercu", sans-serif;
	font-size: 60px;
	text-align: center;
	font-weight: bold;
	line-height: 0.8em;
	position: relative;
 	display: block;
	margin: 0 auto 120px;
}

#top_sec01 h2.title01 span{
	color: #a1abb1;
	font-family: 游ゴシック, YuGothic,'Noto Sans JP', sans-serif;
	clear: both;
	display: block;
	font-size: 16px;
	font-weight: normal;
}

#top_sec01 h2.title01:after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 1px;
  height: 60px;
  margin: 80px auto -80px;
  background-color: #374047;
}

#top_sec01 h2.title02{
	color: #fff;
	font-family: 游ゴシック, YuGothic,'Noto Sans JP', sans-serif;
	font-size: 32px;
	line-height: 1.2em;
	text-align: center;
	font-weight: bold;
	line-height: 1em;
	position: relative;
 	display: block;
	margin: 0 auto 60px;
}

#top_sec01 h2.title02 span{
	color: #fff;
	font-family: "apercu", sans-serif;
	clear: both;
	display: block;
	font-size: 16px;
	font-weight: normal;
	margin-top: 10px;
}

#top_sec01 h2.title02:after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 1px;
  height: 30px;
  margin: 50px auto -50px;
  background-color: #fff;
}

p.top_sec00_text{
	text-align: center;
	font-weight: bold;
	font-size: 30px;
}

hr.top_sec01_line{
	margin: 60px auto;
	border-top: 1px dotted #374047;
	border-right: none;
	border-left: none;
	border-bottom: none;
}

p.top_sec01_text{
	text-align: center;
	/* font-weight: bold; */
}

#top_sec01 h3.title_rec{
	text-align: center;
	display: block;
	/* border-top: 1px dotted #374047; */
	font-size: 24px;
	padding-top: 60px;
	margin-top: 60px;
}

.top_sec01_rec{
	display: flex;
	justify-content: space-around;
	margin: 20px auto 50px;
}

.top_sec01_rec div{
	flex-basis: 33%;
	box-sizing:border-box;
	padding: 0 5%;
	text-align: center;
	font-size: 16px;
}

.top_sec01_rec div img{
	border: 1px solid #dedede;
	box-sizing:border-box;
}


a.btn_vm01{
	display: flex;
	justify-content: center;
	align-items: center;
	color: #0e6ab5;
	background: url(images/common/arrow-right.png) no-repeat right 20px top 50%;
	margin:2em auto;
	position: relative;
	padding: 0.5em 1.5em;
	box-sizing:border-box;
	font-family: "apercu", 游ゴシック, YuGothic,'Noto Sans JP', sans-serif;
	width: 300px;
	height: 60px;
	border-top: 1px solid #a1abb1;
	border-bottom: 1px solid #a1abb1;
	transition-property: all;
	transition: 0.1s linear;
}

a.btn_vm01:before, a.btn_vm01:after{
    content: '';
    position: absolute;
    top: -10px;
    width: 1px;
    height: -webkit-calc(100% + 20px);
    height: calc(100% + 20px);
    background-color: #a1abb1;
}
a.btn_vm01:before {left: 10px;}
a.btn_vm01:after {right: 10px;}

a.btn_vm01:hover{
	background: #0e6ab5 url(images/common/arrow-right_w.png) no-repeat right 20px top 50%;
	color: #fff;
	border-top: none;
	border-bottom: none;
	width: -webkit-calc(300px - 20px);
	width: calc(300px - 20px);
}

a.btn_vm01:hover:before, a.btn_vm01:hover:after{
    content: '';
    position: absolute;
    top: 0px;
    width: 0;
    height: -webkit-calc(100%);
    height: calc(100%);
    background-color: none;
}

a.btn_vm01:hover:before {left: 0;}
a.btn_vm01:hover:after {right: 0;}

.sec1_bottom_dot{
	border-bottom: 1px dotted #374047;
	padding-bottom: 60px;
}


.top_sec01_bbox{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 60px;
	padding-top: 60px;
}

.top_sec01_bbox a{
	flex-basis: 49.6%;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	color: #fff;
	position: relative;
	box-sizing:border-box;
	padding: 5% 4%;
	margin-bottom: 1%;
	line-height: 1.5em;
	transition-property: all;
	transition: 0.3s linear;
}

.top_sec01_bbox p{font-size: 14px;}
.top_sec01_bbox p.f_s{font-size: 12px; margin-top: 10px;}

.top_sec01_bbox a:nth-of-type(1){
	background: #0e6ab5 url(images/top/top_sec01_bbox01.jpg)no-repeat center;
	background-size: cover;
}
.top_sec01_bbox a:nth-of-type(2){
	background: #0e6ab5 url(images/top/top_sec01_bbox02.jpg)no-repeat center;
	background-size: cover;
}
.top_sec01_bbox a:nth-of-type(3){
	background: #0e6ab5 url(images/top/top_sec01_bbox03.jpg)no-repeat center;
	background-size: cover;
}
.top_sec01_bbox a:nth-of-type(4){
	background: #0e6ab5 url(images/top/top_sec01_bbox04.jpg)no-repeat center;
	background-size: cover;
}

.top_sec01_bbox a:nth-of-type(1):hover{
	background: #0e6ab5 url(images/top/top_sec01_bbox01_on.jpg)no-repeat center;
	background-size: cover;
}
.top_sec01_bbox a:nth-of-type(2):hover{
	background: #0e6ab5 url(images/top/top_sec01_bbox02_on.jpg)no-repeat center;
	background-size: cover;
}
.top_sec01_bbox a:nth-of-type(3):hover{
	background: #0e6ab5 url(images/top/top_sec01_bbox03_on.jpg)no-repeat center;
	background-size: cover;
}
.top_sec01_bbox a:nth-of-type(4):hover{
	background: #0e6ab5 url(images/top/top_sec01_bbox04_on.jpg)no-repeat center;
	background-size: cover;
}

@media only screen and (max-width: 768px){
	.top_sec01_bbox{
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin-top: 100px;
	}

	.top_sec01_bbox a{
	flex-basis: 100%;
	padding: 10% 4%;
	}

	p.top_sec00_text{
	font-size: 6vw;
	line-height: 1.4em;
	}

	p.top_sec01_text{
	font-size: 3.5vw;
	}

	#top_sec01 h2.title02{
	font-size: 7vw;
	}

	#top_sec01 h2.title02 span{
	font-size: 3.5vw;
	}

	.top_sec01_bbox p{font-size: 3.5vw;}
	.top_sec01_bbox p.f_s{font-size: 3vw; margin-top: 10px;}

	#top_sec01 h3.title_rec{
	font-size: 5vw;
	padding-top: 50px;
	margin-top: 50px;
	}

	.top_sec01_rec{
	display: flex;
	justify-content: center;
	}

	.top_sec01_rec div{
	flex-basis: 100%;
	padding: 0 2% 30px;
	font-size: 2.5vw;
	}

	a.btn_vm01{
	width: 80vw;
	min-height: 60px;
	height: auto;
	font-size: 5vw;
	}

	a.btn_vm01:hover{
	background: #0e6ab5 url(images/common/arrow-right_w.png) no-repeat right 20px top 50%;
	color: #fff;
	border-top: none;
	border-bottom: none;
	width: -webkit-calc(80vw - 20px);
	width: calc(80vw - 20px);
	}

	#top_sec01 h2.title01{
	font-size: 10vw;
	line-height: 1em;
	}

	#top_sec01 h2.title01 span{
	font-size: 4vw;
	}
}

/* sec02 */
#top_sec02{
	display: block;
	background: #f3f4f5;
	padding: 140px 0;
}

#top_sec02 h2.title01{
	color: #374047;
	font-family: "apercu", sans-serif;
	font-size: 60px;
	text-align: center;
	font-weight: bold;
	line-height: 0.8em;
	position: relative;
 	display: block;
	margin: 0 auto 80px;
}

#top_sec02 h2.title01 span{
	color: #a1abb1;
	font-family: "游ゴシック", "YuGothic", 'Noto Sans JP', sans-serif;
	clear: both;
	display: block;
	font-size: 16px;
	font-weight: normal;
}

#top_sec02 h2.title01:after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 1px;
  height: 60px;
  margin: 80px auto -80px;
  background-color: #374047;
}

.top_sec02_logobox{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	background: #fff;
	width: 100%;
	box-sizing:border-box;
	padding: 5%;
}

.top_sec02_logobox p{
	display: flex;
	align-items: center;
	justify-content: center;
	flex-basis: 20%;
	min-height: 100px;
	text-align: center;
	box-sizing:border-box;
	border-bottom: 1px solid #ecedef;
	border-right: 1px solid #ecedef;
	
}

.top_sec02_logobox p:nth-of-type(5n){
	border-right: 0;
}

.top_sec02_logobox p:nth-last-of-type(1),
.top_sec02_logobox p:nth-last-of-type(2), 
.top_sec02_logobox p:nth-last-of-type(3), 
.top_sec02_logobox p:nth-last-of-type(4), 
.top_sec02_logobox p:nth-last-of-type(5) {
	border-bottom: 0;
}

.top_sec02_3box{
	display: flex;
	align-items: flex-start;
	justify-content: space-around;
	margin: 80px auto 0;
}

.top_sec02_3box div{
	flex-basis: 25%;
	margin: 0 2%;
	text-align: center;
}

.top_sec02_3box div h3{
	font-size: 20px;
	font-weight: bold;
}

.top_sec02_3box div p{
	font-size: 14px;
	font-weight: normal;
	display: block;
	border-bottom: 1px dotted #374047;
	padding-bottom: 10px;
	margin-bottom: 20px;
}

.top_sec02_3box div strong{
	color: #0e6ab5;
	font-weight: normal;
}

.top_sec02_3box div strong span{
	font-family: 'Inter', sans-serif;
	font-weight: bold;
	font-size: 42px;
}

.top_sec02_3box div .f_s{
	font-size: 12px;
}
.top_sec02_3box div p.link-text{
    border-bottom:none;
    margin-top: 10px;
}
.top_sec02_3box div p.link-text a{
  text-decoration: underline;
  }
.top_sec02_3box div p.link-text a:hover{
    opacity: 0.7;
  }
.top_sec02_3box div p.link-text a:after {
    font-family: "Font Awesome 5 Free";
    content: '\f35d';
    font-weight: 600;
    margin: 0 0.25rem;
  }

@media only screen and (max-width: 768px){
	.top_sec02_logobox{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	background: #fff;
	width: 100%;
	box-sizing:border-box;
	padding: 5%;
	}

	.top_sec02_logobox p{
	display: flex;
	align-items: center;
	justify-content: center;
	flex-basis: 33%;
	min-height: 100px;
	text-align: center;
	box-sizing:border-box;
	border-bottom: 1px solid #ecedef;
	border-right: 1px solid #ecedef;
	
	}

	.top_sec02_logobox p:nth-of-type(5n){
	border-right: 1px solid #ecedef;
	}

	.top_sec02_logobox p:nth-of-type(3n){
	border-right: 0;
	}
    .top_sec02_logobox p:nth-last-of-type(5) {
	border-bottom: 1px solid #ecedef;
}
 
	.top_sec02_logobox p:nth-last-of-type(2), 
	.top_sec02_logobox p:nth-last-of-type(3), 
	.top_sec02_logobox p:nth-last-of-type(4) {
	border-bottom: 0;
	}

	.top_sec02_logobox p:nth-last-of-type(1){
	display: none;
	}

	.top_sec02_logobox p img{
	max-width: 75%;
	height: auto;
	}

	.top_sec02_3box{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	margin: 80px auto 0;
	}

	.top_sec02_3box div{
	flex-basis: 100%;
	width: 80%;
	margin: 0 auto 40px;
	text-align: center;
	}

	.top_sec02_3box div h3{font-size: 7vw;}
	.top_sec02_3box div p{font-size: 3.5vw;}
	.top_sec02_3box div strong span{font-size: 10vw;}
	.top_sec02_3box div .f_s{font-size: 3vw;}

	#top_sec02 h2.title01{
	font-size: 10vw;
	line-height: 1em;
	}

	#top_sec02 h2.title01 span{
	font-size: 4vw;
	}

}

/* sec03 */
#top_sec03{
	display: block;
	background: #5f6b74 url(images/top/top_sec03_bg01.jpg) no-repeat center;
	background-size: cover;
	padding: 140px 0;
	color: #fff;
}

#top_sec03 h2.title01{
	color: #fff;
	font-family: "apercu", sans-serif;
	font-size: 60px;
	text-align: center;
	font-weight: bold;
	line-height: 0.8em;
	position: relative;
 	display: block;
	margin: 0 auto 120px;
}

#top_sec03 h2.title01 span{
	color: #fff;
	font-family: "游ゴシック", "YuGothic", 'Noto Sans JP', sans-serif;
	clear: both;
	display: block;
	font-size: 16px;
	font-weight: normal;
}

#top_sec03 h2.title01:after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 1px;
  height: 60px;
  margin: 80px auto -80px;
  background-color: #fff;
}

#top_sec03 p.top_sec03_text{
	text-align: center;
	font-weight: bold;
}

.top_sec03_box01{
	display: flex;
	justify-content: space-around;
	padding-bottom: 60px;
	margin: 60px auto 0;
}

.top_sec03_box01 div{
	flex-basis: 28%;
	margin: 0 2%;
	text-align: center;
}

.top_sec03_box01 div h3{
	color: #fff;
	font-family: "游ゴシック", "YuGothic", 'Noto Sans JP', sans-serif;
	font-size: 36px;
	text-align: center;
	font-weight: bold;
	line-height: 0.8em;
	position: relative;
 	display: block;
	margin: 0 auto 60px;
}

.top_sec03_box01 div h3 span{
	color: #fff;
	font-family: "apercu", sans-serif;
	clear: both;
	display: block;
	font-size: 14px;
	font-weight: normal;
}

.top_sec03_box01 div h3:after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 1px;
  height: 30px;
  margin: 40px auto -40px;
  background-color: #fff;
}

.top_sec03_box01 div p{
	font-size: 16px;
}

.top_sec03_box02{
	display: flex;
	justify-content: center;
	border-top: 1px dotted #fff;
	padding-top: 50px;
}

.top_sec03_box02 div{
	flex-basis: 35%;
	text-align: center;
}

a.btn_vm02{
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	background: url(images/common/arrow-right_w.png) no-repeat right 20px top 50%;
	margin:2em auto;
	position: relative;
	padding: 0.5em 1.5em;
	box-sizing:border-box;
	font-family: "apercu","游ゴシック", "YuGothic", 'Noto Sans JP', sans-serif;
	width: 240px;
	height: 50px;
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
	transition-property: all;
	transition: 0.1s linear;
}

a.btn_vm02:before, a.btn_vm02:after{
    content: '';
    position: absolute;
    top: -10px;
    width: 1px;
    height: -webkit-calc(100% + 20px);
    height: calc(100% + 20px);
    background-color: #fff;
}
a.btn_vm02:before {left: 10px;}
a.btn_vm02:after {right: 10px;}

a.btn_vm02:hover{
	background: #0e6ab5 url(images/common/arrow-right_w.png) no-repeat right 10px top 50%;
	color: #fff;
	border-top: none;
	border-bottom: none;
	width: -webkit-calc(240px - 10px);
	width: calc(240px - 10px);
}

a.btn_vm02:hover:before, a.btn_vm02:hover:after{
    content: '';
    position: absolute;
    top: 0px;
    width: 0;
    height: -webkit-calc(100%);
    height: calc(100%);
    background-color: none;
}

a.btn_vm02:hover:before {left: 0;}
a.btn_vm02:hover:after {right: 0;}

@media only screen and (max-width: 768px){
	#top_sec03 p.top_sec03_text{
	font-size: 4.5vw;
	}

	.top_sec03_box01{
	flex-direction: column;
	justify-content: center;
	}

	.top_sec03_box01 div{
	flex-basis: 100%;
	width: 85vw;
	margin: 0 auto 50px;
	}

	.top_sec03_box01 div h3{
	font-size: 8vw;
	line-height: 1em;
	}

	.top_sec03_box01 div h3 span{
	font-size: 4vw;
	}

	.top_sec03_box02{
	flex-direction: column;
	justify-content: center;
	}

	.top_sec03_box02 div{
	flex-basis: 100%;
	margin: 0 auto;
	}

	a.btn_vm02{
	margin:1em auto;
	width: 80vw;
	min-height: 60px;
	height: auto;
	font-size: 4vw;
	}
	a.btn_vm02:hover{
	background: #0e6ab5 url(images/common/arrow-right_w.png) no-repeat right 10px top 50%;
	color: #fff;
	border-top: none;
	border-bottom: none;
	width: -webkit-calc(80vw - 10px);
	width: calc(80vw - 10px);
	}

	#top_sec03 h2.title01{
	font-size: 10vw;
	line-height: 1em;
	}

	#top_sec03 h2.title01 span{
	font-size: 4vw;
	}

}

/* sec04 */
#top_sec04{
	display: block;
	background: #f3f4f5;
	padding: 140px 0;
}

#top_sec04 h2.title01{
	color: #374047;
	font-family: "apercu", sans-serif;
	font-size: 60px;
	text-align: center;
	font-weight: bold;
	line-height: 0.8em;
	position: relative;
 	display: block;
	margin: 0 auto 120px;
}

#top_sec04 h2.title01 span{
	color: #a1abb1;
	font-family: "游ゴシック", "YuGothic", 'Noto Sans JP', sans-serif;
	clear: both;
	display: block;
	font-size: 16px;
	font-weight: normal;
}

#top_sec04 h2.title01:after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 1px;
  height: 60px;
  margin: 80px auto -80px;
  background-color: #374047;
}

#top_sec04 p.top_sec04_text{
	text-align: center;
	font-weight: bold;
}

.top_sec04_box01{
	display: block;
	text-align: right;
	padding: 0;
	position: relative;
	z-index: 0;
	margin: 0 auto 80px;
}

.top_sec04_box01 img{width: 70%; height: auto;}

.top_sec04_box02{
	text-align:left;
	padding: 0;
	bottom: 0;
	left: 0;
	position: absolute;
	z-index: 1;
}

.top_sec04_box02 h3{
	color: #a1abb1;
	font-size: 16px;
}

.top_sec04_box02 .catch01{
	font-size: 24px;
	line-height: 1.5em;
	text-indent : -1em;
	padding-left : 0.5em;
	font-weight: bold;
	letter-spacing: -0.05em;
	/* font-feature-settings: "palt";*/
}

.top_sec04_box02 .catch02{
	font-size: 14px;
	color: #374047;
}

.top_sec04_box02 .catch02 strong{
	font-size: 20px;
	font-weight: bold;
}

.top_sec04_box03{
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 60px 0;
}

.top_sec04_box03 div:last-of-type{
	flex-basis: 30%;
	text-indent : -1em;
	padding-left : 0.5em;
}

.top_sec04_box03 div:first-of-type{
	text-align: center;
	flex-basis: 65%;
}

.top_sec04_box04{
	display: flex;
	align-items: center;
	justify-content: center;
	border-top: 1px dotted #374047;
	box-sizing:border-box;
	padding-top: 60px;
}

.top_sec04_box04 div{
	flex-basis: 35%;
}

.top_sec04_box04 div a.btn_vm01{
	font-family: "apercu", "游ゴシック", "YuGothic", 'Noto Sans JP', sans-serif;
	font-size: 14px;
	width: 240px;
	height: 50px;
	margin: 2em auto;
}

.top_sec04_box04 div a.btn_vm01:hover{
	width: -webkit-calc(240px - 20px);
	width: calc(240px - 20px);
}

.top_sec04_box05{
	display: block;
	/* align-items: center; */
	/* flex-direction: row-reverse; */
	/* justify-content: flex-start; */
	padding: 5% 0 8%;
	position: relative;
	width: 80%;
	margin: 0 0 0 20%;
}

.top_sec04_box05 div{
	/*flex-basis: 49%;*/
}

.top_sec04_box05 div:first-of-type{
	width: 65%;
	text-align: center;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 0;
}

.top_sec04_box05 div:first-of-type img{
	width: 100%;
	height: auto;
}

.top_sec04_box05 div:last-of-type{
	position: relative;
	z-index: 3;
}

.top_sec04_box05 div h3{
	color: #a1abb1;
	font-size: 16px;
}

.top_sec04_box05 div .catch01{
	font-size: 24px;
	line-height: 1.5em;
	text-indent : -1em;
	padding-left : 0.5em;
	font-weight: bold;
	letter-spacing: -0.05em;
	/* font-feature-settings: "palt";*/
}

.top_sec04_box05 div .catch02{
	font-size: 14px;
	color: #374047;
}

.top_sec04_box05 div .catch02 strong{
	font-size: 20px;
	font-weight: bold;
}

a.btn_vm03{
	display: flex;
	justify-content: center;
	align-items: center;
	color: #0e6ab5;
	background: url(images/common/arrow-right.png) no-repeat right 20px top 50%;
	margin:2em 0 2em -10px;
	position: relative;
	padding: 0.5em 1.5em;
	box-sizing:border-box;
	font-family: "apercu", sans-serif;
	font-size: 14px;
	width: 240px;
	height: 50px;
	border-top: 1px solid #a1abb1;
	border-bottom: 1px solid #a1abb1;
	transition-property: all;
	transition: 0.1s linear;
}

a.btn_vm03:before, a.btn_vm03:after{
    content: '';
    position: absolute;
    top: -10px;
    width: 1px;
    height: -webkit-calc(100% + 20px);
    height: calc(100% + 20px);
    background-color: #a1abb1;
}
a.btn_vm03:before {left: 10px;}
a.btn_vm03:after {right: 10px;}

a.btn_vm03:hover{
	background: #0e6ab5 url(images/common/arrow-right_w.png) no-repeat right 20px top 50%;
	color: #fff;
	border-top: none;
	border-bottom: none;
	width: -webkit-calc(240px - 20px);
	width: calc(240px - 20px);
	margin:2em 0 2em 0;
}

a.btn_vm03:hover:before, a.btn_vm03:hover:after{
    content: '';
    position: absolute;
    top: 0px;
    width: 0;
    height: -webkit-calc(100%);
    height: calc(100%);
    background-color: none;
}

a.btn_vm03:hover:before {left: 0;}
a.btn_vm03:hover:after {right: 0;}

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

	#top_sec04 h2.title01{
	font-size: 10vw;
	line-height: 1em;
	}

	#top_sec04 h2.title01 span{
	font-size: 4vw;
	}

	#top_sec04 p.top_sec04_text{
	font-size: 5vw;
	}

	.top_sec04_box01{
	display: block;
	text-align: center;
	padding: 0;
	margin: 0 auto 60px;
	}

	.top_sec04_box01 img{width: 100%; height: auto;}

	.top_sec04_box02{
	text-align:left;
	padding: 0;
	position: static;
	z-index: 1;
	}

	.top_sec04_box02 h3{
	font-size: 4vw;
	}

	.top_sec04_box02 .catch01{
	font-size: 5.3vw;
	}

	.top_sec04_box02 .catch02{
	display: none;
	}

	.top_sec04_box03{
	flex-direction: column;
	justify-content: center;
	}

	.top_sec04_box03 div{
	flex-basis: 100%;
	}

	.top_sec04_box03 div:last-of-type{
	text-indent : 0em;
	}

	.top_sec04_box03 p{
	font-size: 4vw;
	text-indent : -1em;
	padding-left : 0.5em;
	}

	.top_sec04_box05{
	flex-direction: column;
	justify-content: center;
	padding: 0 0 10%;
	width: 100%;
	margin: 0;
	}

	.top_sec04_box05 div:first-of-type{
	width: 100%;
	text-align: center;
	position: relative;
	display: block;
	}

	.top_sec04_box05 div{
	flex-basis: 100%;
	}

	.top_sec04_box05 p{
	font-size: 4.5vw;
	text-indent : -1em;
	padding-left : 0.5em;
	}

	.top_sec04_box05 h3{
	font-size: 4vw;
	}

	.top_sec04_box05 div .catch01{
	font-size: 5.3vw;
	}

	.top_sec04_box05 .catch02{
	display: none;
	}

	a.btn_vm03{
	margin: 1em auto!important;
	width: 80vw;
	min-height: 60px;
	height: auto;
	margin:2em 0;
	font-size: 4vw;
	}

	a.btn_vm03:hover{
	width: -webkit-calc(80vw - 20px);
	width: calc(80vw - 20px);
	margin:2em 0 2em 0;
	}

	.top_sec04_box04 div a.btn_vm01{
	margin: 1em auto;
	width: 80vw;
	min-height: 60px;
	height: auto;
	font-size: 4vw;
	}

	.top_sec04_box04 div a.btn_vm01:hover{
	width: -webkit-calc(80vw - 20px);
	width: calc(80vw - 20px);
	}

	.top_sec04_box04{
	flex-direction: column;
	justify-content: center;
	border-top: 1px dotted #374047;
	box-sizing:border-box;
	padding-top: 60px;
	}

	.top_sec04_box04 div{
	flex-basis: 100%;
	margin: 0 auto;
	}
}


/* sec05 */
#top_sec05{
	display: block;
	background: #fff;
	padding: 140px 0 100px;
}

#top_sec05 h2.title01{
	color: #374047;
	font-family: "apercu", sans-serif;
	font-size: 60px;
	text-align: center;
	font-weight: bold;
	line-height: 0.8em;
	position: relative;
 	display: block;
	margin: 0 auto 120px;
}

#top_sec05 h2.title01 span{
	color: #a1abb1;
	font-family: 游ゴシック, YuGothic,'Noto Sans JP', sans-serif;
	clear: both;
	display: block;
	font-size: 16px;
	font-weight: normal;
}

#top_sec05 h2.title01:after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 1px;
  height: 60px;
  margin: 80px auto -80px;
  background-color: #374047;
}

/* タブ式ニュース表示 */
.newstab-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin:20px auto;
  width: 100%;
}
.newstab-wrap:after {
  content: '';
  width: 100%;
  height: 3px;
  background: #fff;
  display: block;
  order: -1;
}

.tabline{
  border-bottom: 1px solid #cfd3d6;
  width: 5%;
}

.newstab-label {
  font-weight: bold;
  white-space: nowrap;
  text-align: center;
  order: -1;
  position: relative;
  z-index: 1;
  cursor: pointer;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #cfd3d6;
  flex: 1;
  background-image: url(images/common/angle-down_g2.png), url(images/common/news_tabline.png);
  background-repeat: no-repeat, no-repeat;
  background-position: bottom 5px center, right 0 top 50%;
  box-sizing:border-box;
  padding: 10px 5%;
  margin: 5px -1px 0 0;
}

.newstab-label2 {
  font-weight: bold;
  white-space: nowrap;
  text-align: center;
  order: -1;
  position: relative;
  z-index: 1;
  cursor: pointer;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #cfd3d6;
  flex: 1;
  background-image: url(images/common/angle-down_g2.png), url(images/common/news_tabline.png), url(images/common/news_tabline.png);
  background-repeat: no-repeat, no-repeat;
  background-position: bottom 5px center, right 0 top 50%, left 0 top 50%;
  box-sizing:border-box;
  padding: 10px 5%;
  margin: 5px -1px 0 0;
}

/*.newstab-label:not(:last-of-type) {
  margin-right: 5px;
}*/

.newstab-label:first-of-type {
  background: none;
  flex: 0;
  cursor: default;
  padding: 0 2%;
}

.newstab-label:last-of-type {
  background: none;
  flex: 0;
  cursor: default;
  padding: 0 2%;
}

.newstab-label:last-of-type(2) {
  background-image: url(images/common/angle-down_g2.png);
  background-repeat: no-repeat;
  background-position: bottom 10px center;
}

.newstab-content {
  width: 100%;
  box-sizing:border-box;
  height: 0;
  overflow: hidden;
  opacity: 0;
}
/* アクティブなタブ */
.newstab-switch:checked+.newstab-label {
  background: #fff;
  color: #0e6ab5;
  background: url(images/common/angle-down_b2.png) no-repeat bottom 5px center;
  border-top: 1px solid #cfd3d6;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #cfd3d6;
  border-left: 1px solid #cfd3d6;
}

.newstab-switch:checked+.newstab-label:last-of-type(2) {
  background: url(images/common/angle-down_g2.png) no-repeat bottom 5px center;
}

.newstab-switch:checked+.newstab-label:first-of-type {
	border-left: 1px solid #cfd3d6;
}

.newstab-switch:checked+.newstab-label+.newstab-content {
  height: auto;
  overflow: auto;
  padding: 30px 0;
  opacity: 1;
  transition: .5s opacity;
}
/* ラジオボタン非表示 */
.newstab-switch {
  display: none;
}


@media only screen and (max-width: 1000px){
	.newstab-label:first-of-type, .newstab-label:last-of-type {
	  display: none;
	}

	.newstab-switch+.newstab-label:nth-of-type(5) {
	background: url(images/common/angle-down_g2.png) no-repeat bottom 5px center;
	}

}


@media only screen and (max-width: 768px){
	#top_sec05 h2.title01{
	font-size: 10vw;
	line-height: 1em;
	}

	#top_sec05 h2.title01 span{
	font-size: 4vw;
	}
}

/* sec06 */
#top_sec06{
	display: block;
	background: #f3f4f5;
	padding: 140px 0;
}

#top_sec06 h2.title01{
	color: #374047;
	font-family: "apercu", sans-serif;
	font-size: 60px;
	text-align: center;
	font-weight: bold;
	line-height: 0.8em;
	position: relative;
 	display: block;
	margin: 0 auto 120px;
}

#top_sec06 h2.title01 span{
	color: #a1abb1;
	font-family: 游ゴシック, YuGothic,'Noto Sans JP', sans-serif;
	clear: both;
	display: block;
	font-size: 16px;
	font-weight: normal;
}

#top_sec06 h2.title01:after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 1px;
  height: 60px;
  margin: 80px auto -80px;
  background-color: #374047;
}

@media only screen and (max-width: 768px){
	#top_sec06 h2.title01{
	font-size: 10vw;
	line-height: 1em;
	}

	#top_sec06 h2.title01 span{
	font-size: 4vw;
	}
}

/* sec07 */
#top_sec07{
	display: block;
	background: #5f6b74 url(images/top/top_sec07_bg02.jpg) no-repeat center;
	background-size: cover;
	padding: 140px 0;
	color: #fff;
}

#top_sec07 h2.title01{
	color: #fff;
	font-family: "apercu", sans-serif;
	font-size: 60px;
	text-align: center;
	font-weight: bold;
	line-height: 0.8em;
	position: relative;
 	display: block;
	margin: 0 auto 120px;
}

#top_sec07 h2.title01 span{
	color: #fff;
	font-family: "游ゴシック", "YuGothic", 'Noto Sans JP', sans-serif;
	clear: both;
	display: block;
	font-size: 16px;
	font-weight: normal;
}

#top_sec07 h2.title01:after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 1px;
  height: 60px;
  margin: 80px auto -80px;
  background-color: #fff;
}

.top_sec07_box01{
	display: flex;
	justify-content: space-around;
	padding-top: 50px;
    flex-wrap: wrap;
}

.top_sec07_box01 div{
	flex-basis: 50%;
	box-sizing:border-box;
	padding: 3%;
	text-align: center;
}

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

	#top_sec07 h2.title01{
	font-size: 10vw;
	line-height: 1em;
	}

	#top_sec07 h2.title01 span{
	font-size: 4vw;
	}

	.top_sec07_box01{
	flex-direction: column;
	justify-content: center;
	}

	.top_sec07_box01 div{
	flex-basis: 100%;
	margin: 0 auto;
	}

}

/* 会社概要 company
------------------------------------------------------------*/
#comp_navi{
	display: flex;
	justify-content: center;
	margin: 0 auto;
}

#comp_navi div{
	flex-basis: 25%;
	font-weight: bold;
	white-space: nowrap;
	text-align: center;
	padding: 10px .5em;
	position: relative;
	z-index: 1;
	cursor: pointer;
	border-right: 1px solid #cfd3d6;
	background: url(images/common/angle-down_g2.png) no-repeat bottom 0 center;
	box-sizing:border-box;
}

#comp_navi div:hover{
	background: url(images/common/angle-down_b2.png) no-repeat bottom 0 center;
}

#comp_navi div:last-of-type{border-right: 0;}

#comp_navi div a {
	display: block;
	color: #374047;
}

#comp_navi div:hover a {
	color: #2b86b5;
}


#comp_about, #comp_place, #comp_history{
	padding: 100px 0 60px;
	border-bottom: 1px solid #cfd3d6;
	display: block;
}

#comp_about h2, #comp_place h2, #comp_history h2{
	display: inline-block;
	border-left: 3px solid #2b86b5;
	padding-left: 10px;
	font-size: 2em;
}

#comp_about h2, #comp_history h2{margin-bottom: 60px;}

.eo_bana{
	max-width: 300px;
	height: auto;
}
/*20250825*/
span.bloglink a {
    text-decoration: underline;
    font-size: 0.8em;
}
span.bloglink a:hover {
    text-decoration: none;
}

@media only screen and (max-width: 768px){
	#comp_navi div{flex:1;}

	.eo_bana{
	max-width: 80%;
	height: auto;
	}
}

/* 引用ここから */
#chronology {
    margin-left: 2.25rem;
    padding-bottom: 2rem;
    border-left: 0.5rem solid #d1d1d1;
}

#chronology>section {
    margin-left: -2.75rem;
}

#chronology>section>.row {
    margin-bottom: 1.875rem;
    display: flex;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
}

#chronology>section .year {
    text-align: center;
    color: #fff;
    font-size: 1.3125rem;
    font-weight: 700;
    line-height: 2;
    background-color: #374047;
    border-radius: 0.1875rem;
}

#chronology>section .point_wrapper {
    position: relative;
}

#chronology>section .point_wrapper .point {
    position: absolute;
    top: 1rem;
    left: 2.5rem;
    width: 30px;
    height: 30px;
    background-image: url(images/company/history_circle.svg);
    background-repeat: no-repeat;
    background-position: left top;
    background-size: 30px 30px;
    z-index: 1;
}

#chronology>section .event {
    position: relative;
    border: 0.0625rem solid #bbb;
}

#chronology>section .event::before {
    position: absolute;
    content: '';
    top: 1.9rem;
    left: -0.91rem;
    width: 1.25rem;
    height: 1.25rem;
    background-color: #fff;
    border-top: 0.0625rem solid #bbb;
    border-left: 0.0625rem solid #bbb;
    -webkit-transform: scaleY(0.66) rotateZ(-45deg);
    transform: scaleY(0.66) rotateZ(-45deg);
    -webkit-transform-origin: 0 0 0;
    transform-origin: 0 0 0;
    box-sizing: inherit;
}

#chronology>section .event .inner {
	width: 100%;
    padding: 1rem 1.25rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

#chronology>section .event .inner .body {
    max-width: 100%;
    -ms-flex-negative: 1;
    flex-shrink: 1;
    -webkit-box-flex: 2;
    -ms-flex-positive: 2;
    flex-grow: 2;
}

#chronology>section .event .inner .body .date {
    margin-bottom: 0.25em;
    font-size: 1.125rem;
}

#chronology>section .event .inner .body .text_body p {
    font-size: 1.3125rem;
}

#chronology>section .event .inner .body .text_body p:last-child {
    margin-bottom: 0;
}

#chronology>section .event .inner .image {
    margin-left: 1.875rem;
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-item-align: center;
    align-self: center;
    min-width: 12.75rem;
    width: 12.75rem;
    text-align: center;
    border: 1px solid #dedede;
    box-sizing: border-box;
    line-height: 0;
}

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

	#chronology {
	    margin-left: 1.25rem;
	    border-left: 0.3125rem solid #d1d1d1;
	}

	#chronology>section .point_wrapper .point {
	    position: absolute;
	    top: 1.25rem;
	    left: 3rem;
	    width: 1.25rem;
	    height: 1.25rem;
	    background-size: 1.25rem 1.25rem;
	}

	#chronology>section .event .inner {
	    -webkit-box-orient: vertical;
	    -webkit-box-direction: normal;
	    -ms-flex-direction: column;
	    flex-direction: column;
	}

	#chronology>section .event .inner .image {
	    margin-top: 1.875rem;
	    margin-left: 0;
	    min-width: 0;
	    width: 100%;
	    text-align: center;
	}

	#chronology>section .event .inner .ssize {
	    width: 70%;
	}


}

/* 引用ここまで */

.tab-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin:20px auto;
  width: 100%;
}
.tab-wrap:after {
  content: '';
  width: 100%;
  height: 3px;
  background: #fff;
  display: block;
  order: -1;
}
.tab-label {
  font-weight: bold;
  white-space: nowrap;
  text-align: center;
  padding: 10px .5em;
  order: -1;
  position: relative;
  z-index: 1;
  cursor: pointer;
  border-right: 1px solid #cfd3d6;
  flex: 1;
  background: url(images/common/angle-down_g2.png) no-repeat bottom 0 center;
  box-sizing:border-box;
}

/*.tab-label:not(:last-of-type) {
  margin-right: 5px;
}*/

.tab-label:last-of-type {
  border-right: 0;
}

.tab-content {
  width: 100%;
  box-sizing:border-box;
  height: 0;
  overflow: hidden;
  opacity: 0;
}
/* アクティブなタブ */
.tab-switch:checked+.tab-label {
  background: #fff;
  color: #0e6ab5;
  background: url(images/common/angle-down_b2.png) no-repeat bottom 0 center;
}
.tab-switch:checked+.tab-label+.tab-content {
  height: auto;
  overflow: auto;
  padding: 30px 0;
  opacity: 1;
  transition: .5s opacity;
}
/* ラジオボタン非表示 */
.tab-switch {
  display: none;
}


table.sptbl{
	margin: 0 auto!important;
	width: 100%;
}
table.sptbl tr{width: 100%; box-sizing:border-box;}
table.sptbl th{width: 20%; box-sizing:border-box;}
table.sptbl td{width: 80%; box-sizing:border-box;}

.company_box01{
	display: flex;
	align-items: center;
}

.company_box01 div:first-of-type{
	font-weight: bold;
	padding-right: 5px;
}

.company_box01 div:first-of-type:after {
	content: " ――――";
	letter-spacing: -2px;
	color: #ecedef;
}

.company_box01 div:last-of-type{padding-left: 5px;}
.company_box01 div a {text-decoration: underline;}
.company_box01 div a:hover {text-decoration: none; color: #2b86b5;}


.company_box02{
	display: flex;
	justify-content: space-around;
	margin: 60px auto 0;
}

.company_box02 div{
	flex-basis: 30%;
	text-align: center;
	font-size: 0.8em;
	line-height: 1.2em;
}

.company_history{
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	margin-bottom: 50px;
}

.company_history div:first-of-type{
	text-align: center;
	flex-basis: 30%;
}

.company_history div:last-of-type{
	flex-basis: 67%;
}

.company_history div:last-of-type p{
	display: block;
	border-bottom: 1px solid #374047;
	padding: 10px 0!important;
	margin: 0!important;
}

.company_history div:last-of-type p:first-of-type{border-top: 1px solid #374047;}

.company_history div:last-of-type p span{
	font-weight: bold;
	display: inline-block;
	min-width: 80px;
}


@media only screen and (max-width: 768px){
	.company_history{
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin-bottom: 50px;
	}

	.company_history div:first-of-type{
	flex-basis: 100%;
	margin-bottom: 20px;
	}

	.company_history div:last-of-type{
	flex-basis: 100%;
	}

	table.sptbl tr{width: 100%; box-sizing:border-box;}
	table.sptbl th{
	display: block;
	clear: both;
	width: 100%; 
	box-sizing:border-box;
	}
	table.sptbl td{
	display: block;
	clear: both;
	width: 100%; 
	box-sizing:border-box;
	}

}


/* マンガマーケティング mangamarketing
------------------------------------------------------------*/
.mm_box01{
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	margin: 60px 0 0;
}

.mm_box02{
	display: flex;
	justify-content: space-between;
	margin: 60px 0 0;
}

.mm_box01 div:last-of-type{
	flex-basis: 60%;
	padding-right: 5%;
	box-sizing:border-box;
}

.mm_box02 div:last-of-type{
	flex-basis: 60%;
	padding-left: 5%;
	box-sizing:border-box;
}

.mm_box01 div:first-of-type, .mm_box02 div:first-of-type{
	text-align: center;
}

.mm_box01 div:last-of-type h3, .mm_box02 div:last-of-type h3{
	border-bottom: 1px dotted #374047;
}

@media only screen and (max-width: 768px){
	.mm_box01, .mm_box02{
	display: flex;
	flex-direction: column-reverse;
	justify-content: space-between;
	margin: 30px 0 60px;
	}

	.mm_box01 div:last-of-type, .mm_box02 div:last-of-type{
	flex-basis: 100%;
	padding-right: 0;
	box-sizing:border-box;
	}
}

/* マンガクリエイティブ mangacreative
------------------------------------------------------------*/
.mc_box01{
	display: flex;
	justify-content: space-between;
	margin: 100px auto;
	flex-wrap: wrap;
}

.mc_box01 div{
	flex-basis: 50%;
	padding-bottom: 50px;
	box-sizing:border-box;
}

.mc_box01 div:nth-of-type(2n+1){padding-right: 2%;}
.mc_box01 div:nth-of-type(2n){padding-left: 2%;}

.mc_box01 div:nth-last-of-type(1),
.mc_box01 div:nth-last-of-type(2){
	padding-bottom: 0;
}


.mc_box01 div img{margin: 0 auto;}
.mc_box01 div h3{margin: 30px 0;}

@media only screen and (max-width: 768px){
	.mc_box01 div{
	flex-basis: 100%;
	padding-bottom: 30px;
	box-sizing:border-box;
	}

	.mc_box01 div:nth-of-type(2n+1){
	padding-right: 0; 
	border-bottom: 1px dotted #374047;
	margin-bottom: 50px;
	}
	.mc_box01 div:nth-of-type(2n){
	padding-left: 0;
	border-bottom: 1px dotted #374047;
	margin-bottom: 50px;
	}

	.mc_box01 div:nth-last-of-type(2){
	padding-bottom: 30px;
	}

}


/* ジョブマンガ jobmanga
------------------------------------------------------------*/
.linebox_gray{
	display: block;
	background: #fff;
	border: 8px solid #ebecee;
	box-sizing:border-box;
	padding: 5%;
	margin: 5% auto;
}

ul.nom_list01{
    list-style: none;
    padding:0;
    margin:0;
    margin-block-start: 0;
    margin-block-end: 0;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    padding-inline-start: 0;
}

ul.nom_list01 li { 
  list-style-type: none;
  counter-increment: number;
}
ul.nom_list01 li:before {
  content: counter(number) ".";
  margin-right: 5px;
  font-weight: bold;
}

h3.h3_dotted{
	display: inline-block;
	border-bottom: 1px dotted #374047;
	padding-right: 5%;
	box-sizing:border-box;
}

@media only screen and (max-width: 768px){
	h3.h3_dotted{
	display: block;
	border-bottom: 1px dotted #374047;
	padding-right: 0;
	box-sizing:border-box;
	}
}


/* 有名マンガタイアップ tieup
------------------------------------------------------------*/
.tieup_box01{
	border: 8px solid #ebecee;
	box-sizing:border-box;
	display: block;
	text-align: center;
	padding: 3%;
}

.tieup_box01 h3 span{
	font-weight: normal;
	font-size: 18px;
}

.tieup_box02{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 100px auto;
}

.tieup_box02 div{
	flex-basis: 50%;
	box-sizing:border-box;
}

.tieup_box02 div img{margin: 0 auto;}

.tieup_box02 div:first-of-type{padding-right: 2%;}
.tieup_box02 div:last-of-type{padding-left: 2%;}

.tieup_box02 div h3{
	display: inline-block;
}

@media only screen and (max-width: 768px){
	.tieup_box02 div{
	flex-basis: 100%;
	box-sizing:border-box;
	}

	.tieup_box02 div:first-of-type{padding-right: 0;}
	.tieup_box02 div:last-of-type{padding-left: 0;}
}


/* 私たちのスタンス our-stance
------------------------------------------------------------*/
h3.stance_title01{
	color: #1064a9;
	font-weight: normal;
	font-size: 36px;
	line-height: 1.2em;
}

h3.stance_title01 span{
	clear: both;
	display: block;
	color: #374047;
	font-size: 24px;
}


#stance_sec02, #stance_sec04, #stance_sec06{
	display: block;
	padding: 80px 0;
	background: #f3f4f5;
}

#stance_sec03, #stance_sec05{
	display: block;
	padding: 80px 0;
}

#stance_sec02 .inner, #stance_sec02 h2, #stance_sec02 h3, #stance_sec02 p{
	position: relative;
}

#stance_sec02 img{
	position: absolute;
	right: 0;
	top: 0;
	width: 70%;
	height: auto;
	z-index: 0;
}

#stance_sec02 h2{
	color: #a1abb1;
	font-weight: bold;
	font-size: 16px;
	z-index: 1;
}

#stance_sec02 h3{
	font-size: 24px;
	line-height: 1.2em;
	font-weight: bold;
	z-index: 1;
}
#stance_sec02 p{
	z-index: 1;
}

p.stance_sec02_text01{
	display: inline-block;
	width: 50%;
	height: auto;
}

p.stance_sec02_text02{
	display: block;
	margin: 40px 0 0 1em!important;
	text-indent: -1em;
	font-size: 14px;
}

p.stance_sec02_name{font-size: 14px; float: right;}
p.stance_sec02_name span{font-weight: bold; font-size:20px; margin-left: 10px;}

/*20250825*/
.stance_sec02_name > a {
    text-decoration: underline;
    font-size: 0.9em;
}
.stance_sec02_name > a:hover {
    text-decoration: none;
}


@media only screen and (max-width: 768px){
	h3.stance_title01{
	font-size: 7vw;
	line-height: 1.4em;
	}

	h3.stance_title01 span{
	font-size: 4vw;
	}

	#stance_sec02 img{
	position: static;
	width: auto;
	height: auto;
	margin: 0 auto;
	}

	#stance_sec02 h2{
	color: #a1abb1;
	font-weight: bold;
	font-size: 4vw;
	z-index: 1;
	}

	#stance_sec02 h3{
	font-size: 6vw;
	}

	p.stance_sec02_text01{
	display: block;
	width: 100%;
	height: auto;
	}

	p.stance_sec02_text02{
	line-height: 1.6em;
	}

}


/* 採用情報 recruit
------------------------------------------------------------*/
.recruit_menu{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

div.recruit_menu:first-of-type{margin: 80px auto 10px;}

.recruit_menu a{
	color: #374047;
	display: inline-block;
	font-weight: bold;
	width: 25%;
	height: 50px;
	box-sizing:border-box;
	text-align: center;
	background: url(images/common/angle-down_g2.png) no-repeat bottom 0 center;
	border-left: 1px solid #cfd3d6;
}

.recruit_menu a:last-of-type{border-right: 1px solid #cfd3d6;
}

.recruit_menu a:hover{
	color: #0e6ab5;
	background: url(images/common/angle-down_b2.png) no-repeat bottom 0 center;
}

h2.rec_title01{
	color: #374047;
	font-family: 游ゴシック, YuGothic,'Noto Sans JP', sans-serif;
	font-size: 60px;
	text-align: center;
	font-weight: bold;
	line-height: 0.8em;
	position: relative;
 	display: block;
	margin: 0 auto 120px;
}

h2.rec_title01 span{
	color: #a1abb1;
	font-family: "apercu", sans-serif;
	clear: both;
	display: block;
	font-size: 16px;
	font-weight: normal;
}

h2.rec_title01:after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 1px;
  height: 60px;
  margin: 80px auto -80px;
  background-color: #374047;
}
#recruit_sec02, #recruit_sec04{
	display: block;
	padding: 80px 0;
	box-sizing:border-box;
	background: #f3f4f5;
}

#recruit_sec03, #recruit_sec05{
	display: block;
	padding: 80px 0;
	box-sizing:border-box;
}

.recruit_box01{
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
}

.recruit_box01 div:first-of-type img{
	position: absolute;
	left: 0;
	top: 0;
	z-index: 0;
	width: 70%;
	height: auto;
}

.recruit_box01 div:last-of-type{
	display: inline-block;
	align-items: flex-end;
	position: relative;
	bottom: 0;
	right: 0;
	z-index: 1;
	width: 50%;
	height: auto;
}

.recruit_box02{
	display: block;
	width: 100%;
	min-height: 420px;
	position: relative;
	padding-top: 10%;
	box-sizing:border-box;
}

.recruit_box02 img{
	position: absolute;
	right: 0;
	top: 0;
	z-index: 0;
	width: 70%;
	height: auto;
}

.recruit_box02 p{
	display: inline;
	background: #f3f4f5;
	position: relative;
	z-index: 1;
	width: 55%;
	height: auto;
	clear: both;
}


.recruit_box_leftimg, .recruit_box_rightimg{
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
	margin: 50px 0 30px;
}

.recruit_box_leftimg:first-of-type{margin-top: 0;}

.recruit_box_leftimg{text-align: left;}
.recruit_box_rightimg{text-align: right;}

.recruit_box_leftimg picture:first-of-type, .recruit_box_rightimg picture:first-of-type{
	width: 70%;
	height: auto;
	position: relative;
	z-index: 0;
}

.recruit_box_leftimg picture:last-of-type, .recruit_box_rightimg picture:last-of-type{
	position: absolute;
	top: 25%;
	width: 34%;
	height: auto;
	z-index: 1;
}

.recruit_box_leftimg picture:last-of-type{right: 0;}
.recruit_box_rightimg picture:last-of-type{left: 0;}

#recruit_sec03 h3{
	display: inline-block;
	position: relative;
	background: #0e6ab5;
	color: #fff;
	font-size: 18px;
	line-height: 1.2em;
	margin-bottom: 10px!important;
	padding: 8px;
}

#recruit_sec03 h3:after {
	top: 100%;
	left: 5%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(14, 106, 181, 0);
	border-top-color: #0e6ab5;
	border-width: 5px;
	margin-left: -5px;
}

.recruit_event_rightimg{
	display: flex;
	flex-direction: row-reverse;
	margin:0 0 80px;
}

.recruit_event_leftimg{
	display: flex;
	margin:0 0 80px;
}

.recruit_event_leftimg:last-of-type{margin-bottom: 0;}

.recruit_event_rightimg div:first-of-type, .recruit_event_leftimg div:first-of-type{
	flex-basis: 50%;
}

.recruit_event_rightimg div:last-of-type, .recruit_event_leftimg div:last-of-type{
	flex-basis: 35%;
}

.recruit_event_rightimg div:last-of-type h3,
.recruit_event_leftimg div:last-of-type h3{
	display: block;
	border-bottom: 1px solid #cfd3d6;
	padding-bottom: 20px;
	box-sizing:border-box;
}

.recruit_event_rightimg div:last-of-type h3,
.recruit_event_rightimg div:last-of-type p{
	padding-right: 40px;
}
.recruit_event_leftimg div:last-of-type h3,
.recruit_event_leftimg div:last-of-type p{
	padding-left: 40px;
}


.recruit_box03_leftimg{
	display: flex;
	justify-content: space-between;
	margin: 50px auto;
	padding-bottom: 50px;
	width: 80%;
	border-bottom: 1px dotted #374047;
}

.recruit_box03_rightimg{
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	margin:50px auto 100px;
	width: 80%;
}

.recruit_box03_rightimg div, .recruit_box03_leftimg div{
	flex-basis: 50%!important;
}

.recruit_box03_rightimg div:last-of-type{
	box-sizing:border-box; 
	padding-right: 20px;
	line-height: 1.6em;
}
.recruit_box03_leftimg div{
	box-sizing:border-box; 
	padding-left: 20px;
	line-height: 1.6em;
}


.recruit_box04 , .recruit_box05{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 10px;
	margin-bottom: 0px;
	width: 100%;
}

.recruit_box04 div , .recruit_box05 div{
	flex-basis: 33%;
	box-sizing:border-box;
	padding: 0 2% 10px;
	text-align: center;
	font-size: 14px;
	line-height: 1.6em;
}

.recruit_box04 div h3 , .recruit_box05 div h3{
	font-size: 20px;
	padding-bottom: 0;
	margin: 10px auto;
}


a.btn_recruit{
	display: flex;
	justify-content: center;
	align-items: center;
	color: #d0000d;
	background: url(images/common/arrow-right_r.png) no-repeat right 20px top 50%;
	margin:2em auto 4em;
	position: relative;
	padding: 0.5em 1.5em;
	box-sizing:border-box;
	font-family: "游ゴシック", "YuGothic", 'Noto Sans JP', sans-serif;
	font-size: 16px;
	width: 400px;
	height: 60px;
	border-top: 1px solid #a1abb1;
	border-bottom: 1px solid #a1abb1;
	transition-property: all;
	transition: 0.1s linear;
}

a.btn_recruit:before, a.btn_recruit:after{
    content: '';
    position: absolute;
    top: -10px;
    width: 1px;
    height: -webkit-calc(100% + 20px);
    height: calc(100% + 20px);
    background-color: #a1abb1;
}
a.btn_recruit:before {left: 10px;}
a.btn_recruit:after {right: 10px;}

a.btn_recruit:hover{
	background: #d0000d url(images/common/arrow-right_w.png) no-repeat right 20px top 50%;
	color: #fff;
	border-top: none;
	border-bottom: none;
	width: -webkit-calc(400px - 20px);
	width: calc(400px - 20px) ;
}

a.btn_recruit:hover:before, a.btn_recruit:hover:after{
    content: '';
    position: absolute;
    top: 0px;
    width: 0;
    height: -webkit-calc(100%);
    height: calc(100%);
    background-color: #fff;
}

a.btn_recruit:hover:before {left: 0px;}
a.btn_recruit:hover:after {right: 0px;}


@media only screen and (max-width: 768px){
	.recruit_menu a{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30%;
	min-height: 60px;
	font-size: 3vw;
	line-height: 1.2em;
	padding-bottom: 10px;
	}

	h2.rec_title01{
	font-size: 9vw;
	}

	h2.rec_title01 span{
	font-size: 4vw;
	}

	.recruit_box01{
	flex-direction: column;
	}

	.recruit_box01 div:first-of-type img{
	position: static;
	width: 100%;
	height: auto;
	margin-bottom: 30px;
	}

	.recruit_box01 div:last-of-type{
	display: block;
	align-items: center;
	width: 100%;
	height: auto;
	}

	.recruit_box02{
	min-height: initial;
	padding-top: 0;
	}

	.recruit_box02 img{
	position: static;
	width: 100%;
	height: auto;
	margin-bottom: 30px;
	}

	.recruit_box02 p{
	display: block;
	background: none;
	width: 100%;
	height: auto;
	}

	.recruit_box_leftimg picture:first-of-type img, .recruit_box_rightimg picture:first-of-type img{
	width: 80%;
	height: auto;
	position: relative;
	z-index: 0;
	}

	.recruit_box_leftimg picture:last-of-type{width: 48%;} 
	.recruit_box_rightimg picture:last-of-type{width: 48%;}
	.recruit_box_leftimg picture:last-of-type img{
	position: absolute;
	top: 10%;
	right: 0;
	width: 100%;
	height: auto;
	z-index: 1;
	}
	.recruit_box_rightimg picture:last-of-type img{
	position: absolute;
	top: 10%;
	left: 0;
	width: 100%;
	height: auto;
	z-index: 1;
	}

	.recruit_event_rightimg, .recruit_event_leftimg{
	flex-direction: column;
	margin:0 0 50px;
	}

	.recruit_event_rightimg div:first-of-type, .recruit_event_leftimg div:first-of-type,
	.recruit_event_rightimg div:last-of-type, .recruit_event_leftimg div:last-of-type{
	flex-basis: 100%;
	padding: 0 5%;
	box-sizing:border-box;
	}

	.recruit_event_rightimg div:last-of-type h3,
	.recruit_event_rightimg div:last-of-type p,
	.recruit_event_leftimg div:last-of-type h3,
	.recruit_event_leftimg div:last-of-type p{
	padding-right: 0;
	padding-left: 0;
	}

	.recruit_box03_leftimg{
	flex-direction: column;
	justify-content: center;
	width: 100%;
	}

	.recruit_box03_rightimg{
	justify-content: center;
	flex-direction: column;
	width: 100%;
	}

	.recruit_box03_rightimg div, .recruit_box03_leftimg div{
	flex-basis: 100%!important;
	}

	.recruit_box03_rightimg div:last-of-type{padding-right: 0;}
	.recruit_box03_leftimg div{padding-left: 0;}

	.recruit_box04{
	justify-content: flex-start;
	width: 100%;
	}
    
    .recruit_box05{
	justify-content: flex-start;
	width: 100%;
    flex-direction: column;/*wantedlyバナー用*/
	}

	.recruit_box04 div , .recruit_box05 div{
	flex-basis: 50%;
	padding: 0 2% 30px;
	text-align: left;
	font-size: 4vw;
	}

	.recruit_box04 div h3 , .recruit_box05 div h3{
	font-size: 6vw;
	}

	a.btn_recruit{
	width: 100%;
	min-height: 60px;
	height: auto;
	font-size: 4.3vw;
	}

	a.btn_recruit:hover{
	background: #d0000d url(images/common/arrow-right_w.png) no-repeat right 20px top 50%;
	color: #fff;
	border-top: none;
	border-bottom: none;
	width: -webkit-calc(100% - 20px);
	width: calc(100% - 20px) ;
	}

}

/* 社会活動 social
------------------------------------------------------------*/
.social_box01{
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	margin: 60px 0 0;
}

.social_box01 div:last-of-type{
	flex-basis: 60%;
	padding-right: 5%;
	box-sizing:border-box;
}

.social_box01 div:first-of-type{
	text-align: center;
}

.social_box01 div:last-of-type h3{
	border-bottom: 1px dotted #374047;
}

@media only screen and (max-width: 768px){
	.social_box01{
	display: flex;
	flex-direction: column-reverse;
	justify-content: space-between;
	margin: 60px 0 0;
	}

	.social_box01 div:last-of-type{
	flex-basis: 100%;
	padding-right: 0;
	box-sizing:border-box;
	}
}

/* 問い合わせフォーム・採用フォーム form
------------------------------------------------------------*/
span.form_com{
	color: #fff;
	background: #d0000d;
	margin-left: 5px;
	padding: 2px 5px;
	font-size: 12px;
}

.wpcf7 input[type="submit"] {
min-width:50%;
padding:15px;
border-radius:10px;
-webkit-border-radius: 10px;  
-moz-border-radius: 10px;
border: none;
background: #0e6ab5;
transition: 0.3s;
color: #fff;
font-weight: bold;
font-size: 1.6em;
cursor : pointer;
}
.wpcf7-submit[type="submit"]:hover {
background: #2b86b5;
}

/* contact  form 7
------------------------------------------------------------*/
.wpcf7-form input{width: 90% !important;}  /*名前orメールor題名*/
.wpcf7-form textarea{width: 90% !important;} /*本文*/
.wpcf7-form .wpcf7-submit{width: 90px !important;} /*送信ボタン*/


/* 共通
----------------------------------------*/
.page_totop a{
	display: block;
	margin-top: 30px;
	float: right;
	text-decoration: underline;
	font-size: 0.8em;
}
.page_totop a:hover{text-decoration: none;}
.page_totop a:after{clear: both;}


/* 汎用CSS
------------------------------------------------------------*/
.brc{clear:both!important;}
.ctr{text-align:center!important; margin:0 auto!important;}
.none{display:none!important;}

.mt100{margin-top:100px!important;}
.mt90{margin-top:90px!important;}
.mt80{margin-top:80px!important;}
.mt70{margin-top:70px!important;}
.mt60{margin-top:60px!important;}
.mt50{margin-top:50px!important;}
.mt40{margin-top:40px!important;}
.mt30{margin-top:30px!important;}
.mt20{margin-top:20px!important;}
.mt10{margin-top:10px!important;}
.mb100{margin-bottom:100px!important;}
.mb90{margin-bottom:90px!important;}
.mb80{margin-bottom:80px!important;}
.mb70{margin-bottom:70px!important;}
.mb60{margin-bottom:60px!important;}
.mb50{margin-bottom:50px!important;}
.mb40{margin-bottom:40px!important;}
.mb30{margin-bottom:30px!important;}
.mb20{margin-bottom:20px!important;}
.mb10{margin-bottom:10px!important;}
.mr50{margin-right:50px!important;}
.mr40{margin-right:40px!important;}
.mr30{margin-right:30px!important;}
.mr20{margin-right:20px!important;}
.mr10{margin-right:10px!important;}
.ml50{margin-left:50px!important;}
.ml40{margin-left:40px!important;}
.ml30{margin-left:30px!important;}
.ml20{margin-left:20px!important;}
.ml10{margin-left:10px!important;}
.pt100{padding-top:100px!important;}
.pt80{padding-top:90px!important;}
.pt70{padding-top:80px!important;}
.pt70{padding-top:70px!important;}
.pt60{padding-top:60px!important;}
.pt50{padding-top:50px!important;}
.pt40{padding-top:40px!important;}
.pt30{padding-top:30px!important;}
.pt20{padding-top:20px!important;}
.pt10{padding-top:10px!important;}
.pb100{padding-bottom:100px!important;}
.pb90{padding-bottom:90px!important;}
.pb80{padding-bottom:80px!important;}
.pb70{padding-bottom:70px!important;}
.pb60{padding-bottom:60px!important;}
.pb50{padding-bottom:50px!important;}
.pb40{padding-bottom:40px!important;}
.pb30{padding-bottom:30px!important;}
.pb20{padding-bottom:20px!important;}
.pb10{padding-bottom:10px!important;}
.pr50{padding-right:50px!important;}
.pr40{padding-right:40px!important;}
.pr30{padding-right:30px!important;}
.pr20{padding-right:20px!important;}
.pr10{padding-right:10px!important;}
.pl50{padding-left:50px!important;}
.pl40{padding-left:40px!important;}
.pl30{padding-left:30px!important;}
.pl20{padding-left:20px!important;}
.pl10{padding-left:10px!important;}
.w100{width:100%!important;}
.w90{width:90%!important;}
.w80{width:80%!important;}
.w70{width:70%!important;}
.w60{width:60%!important;}
.w50{width:50%!important;}
.w40{width:40%!important;}
.w30{width:30%!important;}
.w20{width:20%!important;}
.w10{width:10%!important;}

a img {
transition-property: all;
transition: 0.2s linear;
}

a img:hover {opacity: 0.7;}


/* AddQuicktag用文字装飾 */
.f_b{
font-weight:bold;
font-size:110%;
}

.f_bb{
font-weight:bold;
font-size:140%;
}

.f_bbb{
font-weight:bold;
font-size:160%;
}

.f_br{
font-weight:bold;
color:#cc0000;
}

.f_r{
color:#cc0000;
}

.f_sr{
font-size:90%;
color:#cc0000;
}

.f_s{
font-size:90%;
}

.f_bc{
width: 100%;
box-sizing: border-box;
padding: auto 2%;
font-size:90%;
color:#444;
}

.f_bl{
font-weight:bold;
color:#0066cc;
}

.f_l{
color:#0066cc;
}

.f_bg{
font-weight:bold;
color:#339933;
}

.f_g{
color:#339933;
}

.f_mk{
background: linear-gradient(transparent 60%, #ff99ff 60%);
}


/*表示
----------------------------------------*/
/* PCだけ表示 */
.pc_bl {
	display: block !important;
}
/* SPだけ表示 */
.sp_bl {
	display: none !important;
}

/* PCだけ表示 */
.pc_in {
	display: inline !important;
}
/* SPだけ表示 */
.sp_in {
	display: none !important;
}

@media screen and (max-width: 640px) {
	/* PCだけ表示 */
	.pc_bl {
		display: none !important;
	}
	/* SPだけ表示 */
	.sp_bl {
		display: block !important;
	}
	
	/* PCだけ表示 */
	.pc_in {
		display: none !important;
	}
	/* SPだけ表示 */
	.sp_in {
		display: inline !important;
	}
}


/* --------------------------------
 * align
 * -------------------------------- */
.center {
  text-align: center;
}

.rv{position: relative;}

/* --------------------------------
 * float
 * -------------------------------- */
.f_left {
  float: left;
}
.f_right {
  float: right;
}



/* --------------------------------
 * testpage
 * -------------------------------- */
.top_bg2106_bggr{
	background: #f3f4f5!important;
}

.top_bg2106_bgwt{
	background: #fff!important;
}

.top_bg2106_bdgr{
	border: 1px solid #f3f4f5!important;
}

/* --------------------------------
 * responsive
 * -------------------------------- */

.mdlogopc { display: block !important; }
.mdlogosp { display: none !important; }

@media only screen and (max-width: 768px){
	.mdlogopc { display: none !important; }
  .mdlogosp { display: block !important; }
}

.spvideo {
position: relative;
height: 0;
padding: 30px 0 56.25%;
overflow: hidden;
}

.spvideo iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
/*モーダル表示*/
.modal{
  display:none;
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:rgba(0,0,0,0.8);
  z-index: 9999999;
  overflow:auto;
}
.post p.modal-btn{
    margin: 0 auto;
    text-align: center;
}
.modal-inner{
  max-width:900px;
  margin:40px auto;
}
.modal-open{
  display:inline-block;
  padding:12px 20px;
  background:#333;
  color:#fff;
  text-decoration:none;
  border-radius:6px;
  font-weight:600;
  transition:0.2s;
    line-height: 1.3;
}
.modal-open::after{
  content:" ›";
  margin-left:6px;
  font-size:1.1em;
}
.modal-open:hover{
  background:#555;
}
.modal-close{
    position:sticky;
    top:10px;
    right: 10px;
    float:right;
    font-size:28px;
    color:#fff;
    cursor:pointer;
    z-index:1;
    background: #000;
    line-height: 1;
    padding: 3px;
    border-radius:4px;
}
.modal-inner img{
  width:100%;
  height:auto;
  display:block;
}
.modal-open-fv{
  display:block;
}
@media (max-width:768px){

.modal-inner{
  max-width:90%;
  margin:20px auto;
}
.modal-open{
  padding:12px 10px;
  font-size: 14px;
}
}