@charset "utf-8";
/* モバイル表示 */
@media screen and (max-width: 768px) {

html {
	font-size: 52%;
}

/* 全体レイアウト */
.ct_wrap {
  width: auto;
}
.sub_contents {
  width: auto;
}


/*
-----------------------
レイアウト
-----------------------
*/
.flex_item {
  display: flex;
  flex-wrap: wrap;
}
/*flex順序入れ替え*/
.fl_reverse {
  order:0;
}
.d_bk_sp {
	display: block;
}
.d_bk_sp_inline {
	display: inline;
}
.d_in_bk {
	display: inline-block;
}
/*
-----------------------
ボタンデザイン
-----------------------
*/

/*
-----------------------
ヘッダー
-----------------------
*/
#header_line {
	height: 55px;
}
.logo__style {
  width: 101px;
  height: 55px;
}
#hd_navi {
  width: auto;
	position: relative;
}
.navi {
	position: fixed;
  right: -300px; /* 右から出てくる */
  top: 0;
  width: 300px; /* スマホに収まるサイズ */
  height: 100vh;
  padding-top: 60px;
  background-color: #fff;
  transition: all .6s;
  z-index: 200;
  overflow-y: auto; /* メニューが多くなったらスクロールできるように */
}
#hd_navi nav ul{
	flex-flow: column;
}
.hamburger {
  position: absolute;
  right: 10px;
  top: 7px;
  width: 40px;
  height: 40px;
  cursor: pointer;
  z-index: 300;
}
.hamburger_border {
  position: absolute;
  left: 11px;
  width: 18px;
  height: 2px;
  background-color: #142453;
  transition: all .6s;
}
.hamburger_border_top {
  top: 14px;
}
.hamburger_border_center {
  top: 20px;
}
.hamburger_border_bottom {
  top: 26px;
}
.black_bg {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: 100;
  background-color: #333;
  opacity: 0;
  visibility: hidden;
  transition: all .6s;
  cursor: pointer;
}
.nav-open .navi {
  right: 0;
}
.nav-open .black_bg {
  opacity: .8;
  visibility: visible;
}
.nav-open .hamburger_border_top {
  transform: rotate(45deg);
  top: 20px;
}
.nav-open .hamburger_border_center {
  width: 0;
  left: 50%;
}
.nav-open .hamburger_border_bottom {
  transform: rotate(-45deg);
  top: 20px;
}
#hd_navi ul{
  height: auto;
}
#bg_main {
	margin-top: 55px;
	background: url(../image/header/main_image_sp.jpg) top center no-repeat;
	background-size: 100%;
	aspect-ratio: 414/785;
}
#bg_main h1 {
	font-size: clamp(2.5rem,3.8vw,4.0rem);
	line-height: clamp(4.0rem,6.1vw,8.0rem);
}
#bg_main p {
	font-size: clamp(1.2rem,1.7vw,2.0rem);
}
#section_1 {
	padding: 40px 15px;
}
#section_2,
#section_3,
#section_4 {
	padding: 30px 0;
}
#section_1 h2,
#section_2 h2,
#section_3 h2,
#section_4 h2  {
	font-size: 4.7rem;
	position: relative;
}
#section_1 h2::after,
#section_2 h2::after,
#section_3 h2::after,
#section_4 h2::after {
	width: 125px;
}
#section_1 strong {
	margin-top: 50px;
	line-height: 5.1rem;
}
#section_1 .ft_msg p{
	font-size: 1.7rem;
}
#section_2 .job_ct {
	padding: 20px;
}
#section_2 .job_ct > div{
	padding: 55px 20px;
}
#section_3 .work_ct{
	padding: 0;
	background: #fff;
}
#section_3 .work_sub_img {
	margin-top: 5px;
}
#section_3 .work_sub_img .sub_img{
	width: calc(98%/2);
}
/*
-----------------------
インタビュー
-----------------------
*/
#section_4 .itvw_profile {
	margin: 50px 0 30px 0;
	border-bottom: 5px solid #f0f0f0;
}
#section_4 .itvw_profile::before {
	height: 5px;
}
#section_4 .itvw_profile > div {
	width: calc(100%/2);
}
#section_4 .itvw_profile .pic_img {
	width: 50%;
}
#section_4 .itvw_profile .pic_img img{
	width: 100%;
	max-width: auto;
	box-shadow: 5px 5px 0 #142453;
}
#section_4 .itvw_profile .caption {
	padding: 0 0 0 15px;
}
#section_4 .caption .int_v {
	font-size: 2.1rem;
}
#section_4 .caption figcaption {
	font-size: 2.5rem;
	letter-spacing: 1.2rem;
	margin: 10px 0;
}
#section_4 .caption .admin_join {
	font-size: 1.5rem;
	margin: 8px 0;
}
#section_4 .itvw_profile .caption p {
	font-size: 1.8rem;
	line-height: 3.1rem;
	margin-top: 15px;
}
.itvw_contents {
	margin-top: 30px;
}
.itvw_contents section {
	margin-top: 40px;
	padding:10px;
}
.itvw_contents .itvw_title {
	width: auto;
}
.itvw_contents .itvw_title h3 {
	font-size: 2.5rem;
	padding: 5px 0 5px 20px;
}
.itvw_contents .itvw_title dl {
	margin: 20px 0;
}
.itvw_contents .itvw_title dl dt {
	font-size: 1.9rem;
	margin: 30px 0 15px 0;
}
.itvw_contents .int_thumbnail {
	width: 100%;
	margin-top: 34px;
}
.itvw_contents .int_thumbnail img {
	width: 100%;
	max-width: auto;
	height: auto;
}
.itvw_contents .message {
	width: auto;
	margin: 50px 10px;
	padding: 20px;
}
.itvw_contents .message h3 {
	font-size: 2.8rem;
	margin-top: -40px;
}
.itvw_contents .message h3 span {
	padding: 0 30px;
}
.itvw_contents .message_wrap {
	width: auto;
	margin: 30px auto 0 auto;
}
/*
-----------------------
クロストーク
-----------------------
*/
#cross_talk {
	background: #fff;
	padding-bottom: 0;
	margin-top: 10px;
}
#talk_bg_img {
	background: url(../image/crosstalk/talk_bg_img_sp.jpg) top center no-repeat;
	aspect-ratio:23/15;
}
#talk_bg_img .mask h2 {
	font-size: 2.5rem;
	line-height: 4.7rem;
}
#talk_bg_img .mask::before {
  width: 20vw;
}
#talk_bg_img .mask::after {
  width: 10vw;
}
#talk_bg_img .mask .copy_t {
	top: 5%;
	left: 5%;
	font-size: 2.1rem;
}
#talk_member {
	margin: 20px 0;
	display: flex;
	padding: 5px;
	flex-flow: column;
}
#talk_member .tm_container {
	background: none;
	margin: 5px 0;
	flex-flow: column;
	width: 100%;
	padding: 5px;
	box-sizing: border-box;
}
#talk_member .member_tb {
	height: auto;
	width: 100%;
}
#talk_member .member_list {
	width: auto;
	background-color: #142453;
}
#talk_member .member_list ul {
	position: relative;
	z-index: 5;
	margin: 0 auto;
}
#talk_member .member_list ul li:first-child{
	padding: 30px 0;
}
#talk_member .member_list ul li:last-child{
	padding: 30px 0;
}
#main_talk {
	padding: 50px 10px 20px 10px;
}
#main_talk h3 {
	font-size: 2.7rem;
}
#main_talk .talk_wrapper {
	margin-top: 30px;
}
#main_talk .talk_wrapper:last-child {
	margin-bottom: 30px;
}
#main_talk .pw_member {
	width: 70px;
	margin-top: 10px;
}
#main_talk .pw_member::after {
	display: none;
}
#main_talk .pw_member > div{
	width: 70px;
	height: 70px;
}
#main_talk .pw_member > div img {
	width: auto;
	max-width: 100%;
	height: auto;
}
#main_talk .pw_member p{
	margin: 10px auto;
}
#main_talk .pw_member p span{
	margin: 0;
}
#main_talk .talk_ct  {
	width: 80%;
	box-sizing: border-box;
	padding-left: 15px;
}
#epilogue {
	padding: 40px 10px;
}
#epilogue .copy p {
	font-size: 2.5rem;
	line-height: 5.0rem;
	margin: 10px 0;
}
#epilogue .lead_copy p {
	font-size: 1.5rem;
	margin-top: 30px;
	line-height: 3.2rem;
}
/*
-----------------------
リクルート(募集要項)
-----------------------
*/
#recruit {
	padding: 30px 0;
}
#recruit h2  {
	font-size: 5.1rem;
}
#recruit h2::after {
	width: 125px;
}
#recruit h2 + span {
	font-size: 1.7rem;
}
#recruit .tab_menu li{
	width: 30%;
	height: 40px;
}
#recruit .tab_menu li::after {
  border-right: 30px solid transparent;
  border-bottom: 40px solid #bbb;
}
#recruit .tab_menu li.active::after {
  left: 100%;
  border-right: 30px solid transparent;
  border-bottom: 40px solid #eee;
}
#recruit .overview {
	padding: 30px 15px 35px 15px;
}
#recruit .overview > div {
	padding: 10px;
}
#recruit .overview table th{
	width: 25%;
	padding: 10px;
}
#recruit .overview table td{
	width: 75%;
	padding: 10px;
}
/*
-----------------------
エントリーフォーム
-----------------------
*/
#entry_form {
	width: auto;
	padding-bottom: 100px;
}
#entry_form .ribbon {
	padding: 60px 0 85px 0;
}
#form_area {
	padding: 70px 10px;
}
#form_area .tb_contents {
	padding: 0;
}
#form_area table th {
	text-align: center!important;
}
#form_area table th .required {
	padding: 3px 10px;
	margin: 5px auto;
	display: block;
	text-align: center !important;
	width: 25px;
}
#form_area table th .no_required {
	margin-right: 0;
}
#form_area .tb_type1 th{
	width: 20%;
}
#form_area .tb_type1 td{
	width: 40%;
	padding: 20px 0 20px 10px;
	border-left: 1px solid #fff;
}
#form_area .tb_type2 th{
	width: 20%;
}
#form_area .tb_type2 td{
	width: 80%;
	padding: 20px 0 20px 10px;
}
#form_area .tb_type2 td select {
	padding: 10px;
	box-sizing: border-box;
}
#form_area .tb_type2 td.tel input {
	padding: 10px;
	margin-left: 0;
	width: 100%;
	box-sizing: border-box;
}
#form_area .tb_type2 td.mail input {
	width: 100%;
	box-sizing: border-box;
}
#form_area .tb_type3 th{
	width: 20%;
}
#form_area .tb_type5 th{
	width: 20%;
}
#form_area .tb_type5 td{
	width: 80%;
	padding: 20px 0 20px 10px;
}
#form_area .tb_type5 .form1 select {
	width: 100%;
}
#form_area .tb_type5 .form2 select{
	width: 100%;
}
#form_area .tb_type5 .form3 input,
#form_area .tb_type5 .form3 select{
	width: 100%;
}
#form_area .tb_type5 .form4 input{
	width: 100%;
}
#form_area .tb_type5 .form5 select {
	width: 70px;
}
#form_area .tb_type5 td,
#form_area .tb_type6 td{
	width: 80%;
	padding: 20px 0 20px 10px;
}
#form_area .tb_type5 td input,
#form_area .tb_type5 td select {
	padding: 10px;
	box-sizing: border-box;
}
#form_area .tb_type5 button {
	display: block;
	margin: 15px 0 0 0;
}
#form_area textarea {
	width: 100%;
	height: 150px;
	box-sizing: border-box;
}
#form_area .tb_type6 td .radio {
	margin-right: 25px;
}
#form_area .job_history h4{
	margin-top: 25px;
}
#form_area .job_history .tb_contents {
	border-left: 1px solid transparent;
	border-right: 1px solid transparent;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	position: relative;
}

/*
会員規約
*/
#terms_conditions .terms_wrap {
	width: auto;
}
#terms_conditions .terms_wrap > div {
	width: auto;
	padding: 10px;
	height: 250px;
}
/*
同意ボタン
*/

/*
フッター
*/
#footer_ribbon {
	padding: 40px 0;
	text-align: center;
}

}
