@charset "utf-8";
/* CSS Document */


/* RESPONSIVE CSS[ヘッダー]
-------------------------------------------------- */
/*---- トグル ----------------------------*/
/* チェックボックスを非表示にする */
.drawer_hidden {
	display: none;
}
.topheader-toggle{
	display:none;
	height: 100%;
	width: 60px;
	position:relative;
	right:0;
	padding-top:9px;
	margin: 0 0 0 20px;
	z-index: 100;/* 重なり順を一番上にする */
}
.toggle_ENTRY_TEXT-b,
.toggle_ENTRY_TEXT {
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-weight: 900;
	color:#ffffff;
	font-style: normal;
	font-size:1.4rem;
	margin:0 6px;
	opacity: 0.6;
	cursor: pointer;
	position: relative;
	}
/*---- ↓↓↓ 365px以下の時の記述 ↓↓↓ ----------------------------*/
@media (max-width: 365px) {
.toggle_ENTRY_TEXT-b,
.toggle_ENTRY_TEXT {
	font-size:1.3rem;
	margin:0;
	}
}
/*----------------------------*/
.toggle_ENTRY_TEXT-b a{
	color:#000000;
    opacity: 1;
	}
.toggle_ENTRY_TEXT::after,
.toggle_ENTRY_TEXT-b::after{
    content: "";
    display: block;
    height: 2px;
    width: 108%;
    position: absolute;
    left: -5%;
    bottom: 5;
    transform: scale(0,1);
    transition: 0.3s;
}
 .toggle_ENTRY_TEXT::after{
    background-color: #ffffff;
	opacity: 0.8;
}
.toggle_ENTRY_TEXT-b::after{
    background-color: #000000;
	opacity: 0.6;
}
.toggle_ENTRY_TEXT:hover::after,
.toggle_ENTRY_TEXT-b:hover::after{
    transform: scale(1,1);
}	
.toggle_TEXT {
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-weight: 900;
	font-style: normal;
	padding:0px;
	margin:17px 10px;
	font-size:1.5rem;
	padding:10px 0;
	margin:10px 10px;
	position: relative;
	cursor: pointer;
	color:#000000;
}

.toggle_TEXT:hover{
	color:#5c5c5c;
}
.toggle_TEXT::after {
    content: "";
    display: block;
    height: 2px;
    width: 108%;
    background-color: #707070;
    position: absolute;
    left: -5%;
    bottom: 5;
    transform: scale(0,1);
    transition: 0.3s;
}
.toggle_TEXT:hover::after {
    transform: scale(1,1);
}
.drawer_open{
	background-image: url("../img/btn_drawer_on.png");
	background-repeat: no-repeat;
	background-size: 50px 42px;
	background-position: right 0px top 0%;
	width: 50px;
	height: 42px;
	position: absolute;
	right:20px;
	z-index: 2;
}
/* アイコンがクリックされたらアイコンを変更 */
#drawer_input:checked ~ .drawer_open {
	background-image: url("../img/btn_drawer_off.png");
	position: fixed;
	transition: .5s;
}
/* アイコンがクリックされたらメニューを表示 */
#drawer_input:checked ~ .topheader-toggle-nav {
 	right: 0;/* メニューを画面に入れる */
}
.topheader_youtube{
	background-image: url("../img/icon_blank_black.png"), url("../img/btntoggle_youtube.png");
	background-position: right 0px top 50%, left 0px top 50%;
	background-size: 16px, 22px;
	background-repeat: no-repeat;
	text-indent: 1.8em;
}
.topheader_x{
	background-image: url("../img/icon_blank_black.png"), url("../img/btntoggle_x.png");
	background-position: right 0px top 50%, left 0px top 50%;
	background-size: 16px, 22px;
	background-repeat: no-repeat;
	text-indent: 1.8em;
}
.topheader_home{
	background-image: url("../img/icon_blank_black.png"), url("../img/btntoggle_home.png");
	background-position: right 0px top 50%, left 0px top 50%;
	background-size: 16px, 22px;
	background-repeat: no-repeat;
	text-indent: 1.8em;
}
.toggle_ENTRY {
	display: none;
	
}
/*---- ↓↓↓ 768px以下の時の記述 ↓↓↓ ----------------------------*/
@media (max-width: 768px) {
article {
    margin-top: 0px;
}
.toggle_ENTRY {
	display: flex;
	gap: 10px;
	width: fit-content;
	padding-top:20px;
	margin: 0 10px 0 auto;
	}

body {
	font-size: 1.3rem;
}
.none-768{
	display:none;
} 
}
/*---- ↓↓↓ 560px以下の時の記述 ↓↓↓ ----------------------------*/
@media (max-width: 560px) {
.none-560{
	display:none;
} 
}

/*---- ↓↓↓ 768px以下の時の記述 ↓↓↓ ----------------------------*/
@media (max-width: 768px) {
/* RESPONSIVE CSS[btn]
-------------------------------------------------- */	
.BTN_topicks{
	background-size: 12px, 18px;
	font-size: 1.3rem;
	padding: 1.1rem 9rem 1.1rem 5rem;
}

/* RESPONSIVE CSS[header]
-------------------------------------------------- */	
.topheader_L img{
	width: 90px;
	height:48px;
	margin:6px 10px 7px 10px;
}
.topheader_L{
	background-image:none;
	width: fit-content;
}
.topheader_R{
	display: none;
}
.topheader-850-w{
	background-color: rgba(255, 255, 255, 0.9);
	height:60px;
	width:100%;
}
.topheader-850-b{
	height:60px;
	width:100%;
}
.topheader-R-850{
		
	}
.topheader-toggle{
	display:block;
}
.topheader-toggle-nav {
	width: 280px;
	margin: -10px 0 0 auto;
	left: 100%; /* メニューを画面の外に飛ばす */
	position: fixed;
    height: 100vh;
	padding:70px 30px 0 30px;
    box-sizing: border-box;
	background-color: #ffffff;
	z-index: 1;
	transition: .5s;
}
	
/* RESPONSIVE CSS[top/top&about]
-------------------------------------------------- */
.TOP_img {		 
	top:-60px;      			  
	height:auto;
	width:100%;
	overflow: hidden;
}
.img-height{
	height:600px;
}
.img-height > img {
	height:600px;
}
.TOP_about{
	background-image:none;
	background-color: rgba(0, 0, 0, 0.7);
	width:100%;
	height:fit-content;
	position: relative;
    top: 420px;
}
.TOP_aboutbox {
	color:#ffffff;
	margin: auto;
	width:90%;
	position:static;        /* 要素の配置方法を指定 */
	right:0px;
    padding: 20px 0;
}
.TOP_abouttitle{
	background-size:360px;
	height:100px;
	text-align: right;
	line-height: 4.8rem;
	font-size: 4.4rem;
	letter-spacing: 0.3rem;
	margin-top:0px;
	margin-right:0px;
}
.TOP_abouttext {
	line-height: 1.6rem;
	margin-top: 1.3rem;
}	
/* RESPONSIVE CSS[top/news]
-------------------------------------------------- */
.TOPNEWS{
    padding-top: 30px;
}

.TOPNEWS_header{
	width: 100%;
	}
.TOPNEWS_title{
	font-size: 4rem;
	}
.TOPNEWS_innner{
	margin-top: 18px;
	padding:0px 0px 0px 10px;  /*余白の設定*/
	}
/* RESPONSIVE CSS[top/pick up]
-------------------------------------------------- */
.TOPWORKS{
	width: 100%;
	overflow:visible;
    margin: 70px 0px 60px 0px;
	}
.TOPWORKS_innner{
	width: 100%;
	}
.TOPWORKS_title{
	margin-top: -10px;
    padding-top: 0px;
    padding-bottom: 0px;
    line-height: 6rem;
	}
}
/*---- ↓↓↓ 560px以下の時の記述 ↓↓↓ ----------------------------*/
@media (max-width: 560px) {
.TOPWORKS_title{
	font-size: 6rem;
    margin-top: -10px;
    padding-top: 0px;
    padding-bottom: 5px;
    line-height: 4.4rem;
	}
}
/*---- ↓↓↓ 1199px以下の時の記述 ↓↓↓ ----------------------------*/
/* RESPONSIVE CSS[topics]
-------------------------------------------------- */
@media (max-width: 1199px) {
.TOPICKS{
	margin-top:40px;
	}
.TOPTOPICKS_header{
	background-image:url("../img/img_logo_topicks03.png");
	}
.topics-list{
	margin-left:1%;
	margin-right:1%;
	}
.topicks-box-imagebg-w{
    padding: 10px 16px 10px 16px;
	}
}

@media (max-width: 440px) {
.TOPTOPICKS_comment {
    padding-top: 80px;
}
}
/*---- ↓↓↓ 768px以下の時の記述 ↓↓↓ ----------------------------*/
@media (max-width: 768px) {
.TOPTOPICKS-box {
    width: 80%;
}
.topicks-box-text {
    height: fit-content;
}
}

/* RESPONSIVE CSS[top/massage]
-------------------------------------------------- */
/*---- ↓↓↓ 900px以下の時の記述 ↓↓↓ ----------------------------*/
@media (max-width: 1100px) {
.TOPMESSAGE{
	margin:100px auto 0px auto;
	width:98%;
}
.TOPMESSAGE_title {
    margin: -140px 0 0 0;
    width: 100%;
    text-align: right;
}
.TOPMESSAGE_text {
    line-height: 5rem;
    font-size: 4rem;
}
.TOPMESSAGE > .BTN_box{
	text-align: right;
	padding-right: 20px;
}
}
/*---- ↓↓↓ 768px以下の時の記述 ↓↓↓ ----------------------------*/
@media (max-width: 768px) {
.TOPMESSAGE{	
	height: 350px;
    background-position: left;
}
.TOPMESSAGE_title {
    margin: -90px 0 0 0;
    text-align: left;
	overflow: hidden;
}
.TOPMESSAGE_title {
    font-size: 8rem;	
	}
.TOPMESSAGE_titlesub {
    margin: -50px auto 0 10px;
    font-size: 4rem;
    text-align: left;
}
.TOPMESSAGE_text {
    line-height: 3rem;
    font-size: 2.4rem;
    margin: 0px 20px 0 10px;
    text-align: left;
}
.TOPMESSAGE > .BTN_box{
	text-align: left;
	padding-top: 130px;
    padding-left: 20px;
}
}
/*---- ↓↓↓ 440px以下の時の記述 ↓↓↓ ----------------------------*/
@media (max-width: 440px) {
.TOPMESSAGE {
    height: 320px;
	width:100%;
}
.TOPMESSAGE > .BTN_box{
	text-align: center;
	padding-top: 100px;
    padding-right: 0px;
	}
}
/* RESPONSIVE CSS[エントリーボタンの非表示]
-------------------------------------------------- */
/*---- ↓↓↓ 768px以下の時の記述 ↓↓↓ ----------------------------*/
@media (max-width: 768px) {
.TOPABOUT{
	margin: 60px auto 0 auto;
				
	}
/* RESPONSIVE CSS[エントリーボタンの非表示]
-------------------------------------------------- */
.BTN_topentry{
	display: none;
}
}	
/* RESPONSIVE CSS[共通ヘッダー]
-------------------------------------------------------------------------------------------------------- */
/*---- ↓↓↓ 768px以下の時の記述 ↓↓↓ ----------------------------*/
@media (max-width: 768px) {
.COMMON_header {
    overflow: hidden;
    height: 300px;
}
.commonheader_L{
	background-image: none;
}
.commonheader_L img{
	width: 90px;
	height:48px;
	margin:6px 10px 7px 10px;
}
.commonheader_R{
	display: none;
}
.commonheader_title,
.gradheader_title{
    margin: 49px auto;
}
.topicpath_innner{
	padding:10px 10px 10px 10px;
}
}


/*---- ↓↓↓ 800px以下の時の記述 ↓↓↓ ----------------------------*/
@media (max-width: 800px) {
.footer_banner {
	font-size: 1.4rem;
	}
.LINK_1or8 {
	background-size: 22px, cover;
}
.LINK_HACHIPRO {
	background-size: cover;
}
}
/*---- ↓↓↓ 768px以下の時の記述 ↓↓↓ ----------------------------*/
@media (max-width: 768px) {
#FOOTER > .flexbox {
  flex-flow: column;
  justify-content:space-between;
	}
.LINK_1or8,
.LINK_HACHIPRO {
    width: 100%;
}
.SITE_link {
    margin: 80px auto;
}
.footer_topics{
	background-size: 16px;
}
}
/*---- ↓↓↓ 440px以下の時の記述 ↓↓↓ ----------------------------*/
@media (max-width: 440px) {
.SITE_link div{
	padding: 40px 10px;
}
.SITE_link_margin {
    gap: 40px;
}
}
/* RESPONSIVE CSS[ABOUTページ]
-------------------------------------------------------------------------------------------------------- */
/*---- ↓↓↓ 1100px以下の時の記述 ↓↓↓ ----------------------------*/
@media (max-width: 1100px) {

.ABOUTcompany_works li{
	padding: 0 5px 40px 5px;
	}
.table_info{
	width:95%;
    margin: auto;
}
}

/*---- ↓↓↓ 768px以下の時の記述 ↓↓↓ ----------------------------*/
@media (max-width: 768px) {
.ABOUTcompany_works li{
	width: 100%;
	}
.ABOUTcompany_works li:last-child{
	padding: 0 5px 0px 5px;
	}
.table_info li {
    padding: 20px 50px 20px 50px;
}
.ABOUTcompany_ACCESS li{
	width:95%;
}
.ABOUTcompany_ACCESS li:last-child{
	padding: 10px 20px 20px 20px;
}
}
/*---- ↓↓↓ 520px以下の時の記述 ↓↓↓ ----------------------------*/
@media (max-width: 520px) {
.table_info li {
    padding: 20px 10px 20px 10px;
	}
.item_name{
	width:34%;
}
}