@charset "UTF-8";

/* ----------------------------------------------------------------------------------------------------
*  reset
* --------------------------------------------------------------------------------------------------*/

html,body{	height:100%;}
html{
	font-size:62.5%;
	overflow-y: scroll;
}

body, h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, th, td, img, form,figure {
	margin: 0;
	padding: 0;
	border: none;
	line-height: 100%;
	list-style-type: none;
	font-style: normal;
	font-weight: normal;
	text-align: left;
	letter-spacing: 0;
	-webkit-font-smoothing: antialiased;
}

input,select,button,textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	font-family:inherit;
	font-size:inherit;
	font-weight:inherit;
}
select::-ms-expand{
	 display: none;
}
textarea{
	resize: vertical;
}
button,input[type="submit"],select{
	cursor:pointer;
}

*, *:before, *:after {
	box-sizing: border-box;
}

@media screen and (max-width: 768px) {
	
	.ipad body,
	.android body,
	.iphone body {
		-webkit-text-size-adjust: 100%;
	}
	.android h2,
	.android h3,
	.android ul,
	.android dl dt,
	.android dl dd,
	.android p{
		max-height: 999999px;
	}
	
}


/* ----------------------------------------------------------------------------------------------------
*  基本
* --------------------------------------------------------------------------------------------------*/

body{
	position: relative;
	min-width: 1200px;
	word-wrap: break-word;
	line-height: 1.5;
	color:#fff;
	background: #222;
	font-family:"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック",Arial,Verdana,sans-serif;
}	
a{
	color: #fff;
	text-decoration: none;
}

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

@media screen and (max-width: 768px) {
	body{
		margin-top: 60px;
		min-width: initial;
		min-width: auto;
	}
	body.fixed{
		position: fixed;
		width: 100%;
	}
}


/* ----------------------------------------------------------------------------------------------------
*  汎用
* --------------------------------------------------------------------------------------------------*/
.flex{
	display: flex;
}
.wrap{
	position: relative;
	width:1130px;
	margin: 0 auto;
}
.sec_wrap{
	position: relative;
	width:97%;
	margin: 0 auto;
}

img.ofi {
	position: absolute;
	top:50%;
	left:50%;
	transform: translate(-50%,-50%);
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover;'; 
}

.preload * {
	-webkit-transition: none !important;
	-ms-transition: none !important;
	transition: none !important;
}

.bold{
	font-weight: bold;
}

.txt18{
	font-size: 1.8rem!important;
}

main{
	display: block;
	background: #222222;
	padding: 40px 0;
}
@media screen and (min-width: 769px) {
	.sp-only{
		display: none!important;
	}
}
@media screen and (max-width: 768px) {
	.pc-only{
		display: none!important;
	}
}
@media screen and (min-width:769px) {
	.pc{
		display:block!important;
	}
	.sp{
		display:none!important;
	}
	
	a,
	a:before,
	a:after,
	input[type="submit"],
	button{
		transition: all .5s ease;
		-webkit-backface-visibility:hidden;
		backface-visibility:hidden;
		overflow:hidden
	}
	a:hover,
	input[type="submit"]:hover,
	button:hover{
		opacity: 0.7;
	}
	a,
	a * {
		outline: 1px solid transparent;
	}

	a[href^="tel:"]{
		pointer-events: none;
	}
}
@media screen and (max-width: 768px) {

	.pc{
		display:none!important;
	}
	.sp{
		display:block!important;
	}

	.wrap{
		width:90vw;
	}
	.sec_wrap{
		width:90vw;
	}
	main{
		padding: 10% 0;
	}

	.txt18{
		font-size: 1.6rem!important;
	}

}

/* ------------------------------
    ttl
------------------------------ */
.pagettl_area{
	background: url(../img/common/bg_pagettl01.jpg) center center no-repeat;
	-webkit-background-size: cover;
	background-size: cover;
	width: 100%;
	height: 240px;
}
.pagettl_area .flex{
	height: 100%;
	-ms-align-items: center;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}
.pagettl_area .pagettl{
	color: #fff;
	font-size: 3.6rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.3;
}
.pagettl_area .enttl{
	color: #fff;
	font-size: 1.8rem;
	text-align: center;
	margin-top: 10px;
}

.pagettl_area02{
	background: url(../img/common/bg_pagettl02.jpg) center center no-repeat;
	-webkit-background-size: cover;
	background-size: cover;
	width: 100%;
	padding: 20px 0 40px;
}
.pagettl_area02 .breadcrumb li{
	display: inline;
}
.pagettl_area02 .breadcrumb li,
.pagettl_area02 .breadcrumb li a{
	color: #fff;
	font-size: 1.4rem;
	line-height: 1.2;
}
.pagettl_area02 .breadcrumb li:not(:last-of-type){
	margin-right: 5px;
}
.pagettl_area02 .breadcrumb li:not(:last-of-type):after{
	content: ">";
	margin-left: 5px;
}
.pagettl_area02 .pagettl{
	color: #fff;
	font-size: 3rem;
	text-align: center;
	font-weight: bold;
	margin: 50px 0 15px;
	line-height: 1.3;
}
.pagettl_area02 .movie{
	width: 960px;
	margin: 0 auto;
}

@media screen and (max-width: 768px) {
	.pagettl_area{
		height: 120px;
	}
	.pagettl_area .pagettl{
		font-size: 2.2rem;
	}
	.pagettl_area .enttl{
		font-size: 1.4rem;
		margin-top: 3%;
	}

	.pagettl_area02{
		padding: 5% 0;
	}
	.pagettl_area02 .breadcrumb li,
	.pagettl_area02 .breadcrumb li a{
		font-size: 1.3rem;
	}
	.pagettl_area02 .pagettl{
		font-size: 2rem;
		margin: 5% 0 3%;
	}
	.pagettl_area02 .movie{
		width: 100%;
	}
}


/* ------------------------------
    btn
------------------------------ */
.btn_orange a{
    position: relative;
    display: flex;
    -ms-align-items: center;
    align-items: center;
    justify-content: center;
    width: 260px;
    height: 60px;
    border-radius: 4px;
    background: #f58138;
    color: #faf9f9;
    font-size: 2.4rem;
    font-weight: bold;
    text-align: center;
}
.btn_orange a:before{
    content: "";
    position: absolute;
    top:50%;
    transform: translateY(-50%) rotate(-45deg);
    left:38px;
    width: 8px;
    height: 8px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
}

.btn_orange02 a{
    display: flex;
    -ms-align-items: center;
    align-items: center;
    justify-content: center;
    width: 390px;
    height: 40px;
    border-radius: 4px;
    background: #f58138;
    color: #fff;
    font-size: 1.8rem;
    text-align: center;
	margin: 45px auto 0;
}
@media screen and (max-width: 768px) {
	.btn_orange a{
	    width: 160px;
	    height: 50px;
	    border-radius: 4px;
	    font-size: 1.8rem;
	    line-height: 50px;
	}
	.btn_orange a:before {
	    left: 20px;
	}

	.btn_orange02 a{
	    width: 100%;
	    max-width: 320px;
	    font-size: 1.6rem;
	    margin: 5% auto 0;
	}
}

/* ------------------------------
    clearfix
------------------------------ */
.cf:after{
  content: ".";
  display: block;
  height: 0;
  font-size:0;
  clear: both;
  visibility:hidden;
}

.cf {display: inline-block;}

/* Hides from IE Mac */
* html .cf {height: 1%;}
.cf {display:block;}
/* End Hack */

/* ------------------------------
   float
------------------------------ */
.aligncenter{
    display:block;
    margin:50px auto 70px;
}
.alignright{
	float:right;
	margin: 0 0 0 1.5em;
}
.alignleft{
	float:left;
	margin: 0 1.5em 0 0;
}


/* ----------------------------------------------------------------------------------------------------
*  header
* --------------------------------------------------------------------------------------------------*/

header{
	width:100%;
	height: 70px;
	position: relative;
	background: #000;
}
header::before{
	visibility: hidden;
	opacity: 0;
	z-index: 1;
	content: "";
	width: 100%;
	height: 40px;
	position: absolute;
	top: calc(100% - 1px);
	transition: 0.5s;
	background: inherit;
}
header.is-search::before{
	visibility: visible;
	opacity: 1;
}
header .wrap{
	width: calc(100% - 40px);
	height: 100%;
	display: flex;
	align-items: center;
}
header .logo{
	width: 231px;
	z-index: 2;
}
header .nav_header{
	margin-left: 20px;
}
header .nav_header ul{
	justify-content: flex-end;
}
header .nav_header li{
	margin: 30px 9px;
}
header .nav_header li a{
	color: #fff;
	font-size: 1.4rem;
	overflow: visible;
}

header .search{
	margin-left: auto;
	position: relative;
}
header .search_btn{
	width: 30px;
	height: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
}
header .search_btn img{
	width: 80%;
}
header .search_box{
	display: none;
	z-index: 1;
	position: absolute;
	top: calc(100% + 12px);
	right: 0;
}
header .search_box input{
	width: 275px;
	height: 34px;
	border: 1px solid #fff;
	padding-left: 42px;
	color: #fff;
	font-size: 14px;
	background: #222 url(../img/common/ico_search.svg) no-repeat 8px center / 23px auto;
}

header .btn_logout{
	margin-left: 10px;
}
header .btn_logout a{
	display: flex;
	-ms-align-items: center;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 1.4rem;
	padding: 0 10px;
	border-radius: 12px;
	height: 24px;
	background: #f58138;
	text-align: center;
}
header .child_wrap{
	position: relative;
}
header .child_wrap > .child:hover + .child_menu,
header .child_wrap > .child + .child_menu:hover{
	pointer-events: all;
	opacity: 1;
	visibility: visible;
}
header .child_wrap > .child{
	cursor: pointer;
	transition: opacity 0.3s ease;
}
header .child_wrap > .child:hover{
	opacity: .6;
}
header .flex > .child_wrap .child_menu{
	width: 210px;
	position: absolute;
	top: 10px;
	left: 0;
	z-index: 1;
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
	transition: 0.3s;
	padding: 14px 0 0;
}
header .flex > .child_wrap .child_menu li {
	background-color: #FFF;
	line-height: 1.4;
	height: auto;
	/*border-bottom: 1px solid #bcbdbc;*/
	margin: 0;
}
header .flex > .child_wrap .child_menu li + li{
	border-top: 1px solid #bcbdbc;
}
header .flex > .child_wrap .child_menu li a{
	color: #111;
	display: block;
	width: 100%;
	height: 100%;
	padding: 8px 10px;
}

@media screen and (max-width: 1250px) {
	header .nav_header li{
		margin: 30px 6px;
	}
}
@media screen and (max-width: 768px) {
	header{
		position:fixed;
		top:0;
		left:0;
		height: 60px;
		z-index: 10;
	}
	header .wrap{
		width:100%;
	}
	
	header .logo{
		width: 180px;
		margin-left: 3%;
		margin-right: 10px;
	}

	header .search{
		height: 100%;
		display: flex;
		align-items: center;
	}
	header .search_box{
		top: 100%;
	}
	header .search_box input{
		width: calc(100vw - 130px);
	}

	header .toggle{
		width: 50px;
		height: 60px;
		border-left: 1px solid #666;
		overflow: hidden;
	}
	header .toggle > div{
		position: relative;
	}
	header .toggle span{
		position:absolute;
		width: 25px;
		height:3px;
		background: #fff;
	}
	header .toggle span:nth-child(1){
		top: 21px;
		left: 12px;
	}
	header .toggle span:nth-child(2){
		top: 30px;
		left: 12px;
	}
	header .toggle span:nth-child(3){
		top: 38px;
		left: 12px;
	}
	header span{
		transition: all 0.5s ease-out;
	}
	header .toggle.action span:nth-child(1){
		top:30px;
		transform: rotate(45deg);
	}
	header .toggle.action span:nth-child(2){
		background-color:rgba(255,255,255,0);
	}
	header .toggle.action span:nth-child(3){
		top:30px;
		transform: rotate(-45deg);
	}

	header .btn_logout{
		margin-left: 0;
	}
	header .btn_logout a{
		font-size: 1.3rem;
		width: 70px;
		padding: 0;
		border-radius:0;
		height: 100%;
		line-height: 60px;
	}

	header .nav_header{
		display: none;
		position: fixed;
		top:60px;
		left:0;
		right: auto;
		transform:none;
		width: 100%;
		height: calc(100% - 60px);
		background: #000;
		border-top: 1px solid #666;
        overflow-y: scroll;
        -webkit-overflow-scrolling: touch;
	}
	header .nav_header .flex{
		flex-wrap: wrap;
		justify-content: flex-start;
	}
	header .nav_header li{
		width: 100%;
		margin: 0;
		border-bottom: 1px solid #666;
		line-height: 1;
	}
	header .nav_header li a{
		display: block;
		width: 100%;
		height: 100%;
		line-height: 50px;
		border-bottom: 1px solid #666;
		text-align: center;
	}
	header .flex > .child_wrap .child_menu{
		pointer-events: all;
		position: static;
		width: 100%;
		opacity: 1;
		visibility: visible;
		background-color: #101010;
		padding-bottom: 0;
		padding: 0;
	}
	header .flex > .child_wrap .child_menu li{
		height: auto;
		padding-left: 0;
		margin-left: 0;
		margin-right: 0;
		border-bottom: 0;
		background: #111;
	}
	header .flex > .child_wrap .child_menu li + li{
		border-color: #666;
	}
	header .flex > .child_wrap .child_menu li:last-of-type{
		border-bottom: none;
	}
	header .flex > .child_wrap .child_menu li a{
		color: #FFF;
		font-size: 12px;
		padding: 0;
		border-bottom: 0;
	}
}


/* ----------------------------------------------------------------------------------------------------
*  info_area
* --------------------------------------------------------------------------------------------------*/
.info_area .txtarea{
	flex-wrap: wrap;
}
.date{
	position: relative;
	width: 135px;
	display: flex;
	-ms-align-items: center;
	align-items: center;
	color: #fff;
	font-size: 1.4rem;
	padding: 15px 0 15px 18px;
}
.date:before{
	content: "";
	position: absolute;
	top:50%;
	transform: translateY(-50%);
	left:0;
	width: 11px;
	height: 13px;
	background: url(../img/common/ico_bell.png) 0 0 no-repeat;
	-webkit-background-size: 11px auto;
	background-size: 11px auto;
}
.info_area .txtarea .ttl{
	width: calc(100% - 135px);
	padding: 15px 0;
}
.info_area .txtarea .ttl a{
	color: #fff;
	font-size: 1.5rem;
	line-height: 1.3;
}

.pager{
	width: 100%;
    justify-content: center;
    margin: 50px auto 0;
}
.pager li,
.pager li a{
    display: flex;
    justify-content: center;
    -ms-align-items: center;
    align-items: center;
    width: 26px;
    height: 26px;
    font-size: 1.5rem;
    text-align: center;
}
.pager li.current{
    color: #fff;
    font-weight: bold;
    background: #f58138;
    border: 1px solid #f58138;
}
.pager li a{
    border: 1px solid #ccc;
}
.pager li + li{
    margin-left: 6px;
}
@media screen and (max-width: 768px) {
	.date{
		width: 100%;
		padding: 5% 0 5% 18px;
	}
	.info_area .txtarea .ttl{
		width: 100%;
		padding: 0;
	}
	.info_area .txtarea .ttl a{
		font-size: 1.4rem;
	}

    .pager{
        margin: 10% auto 0;
    }
}


/* ----------------------------------------------------------------------------------------------------
*  techlist_area
* --------------------------------------------------------------------------------------------------*/
.techlist_area{
    background: #131722;
}
.techlist_area .sec_wrap{
    padding: 50px 35px;
}
.techlist_area .secttl{
    color: #fff;
    font-size: 3rem;
    font-weight: bold;
    margin-bottom: 45px;
}
.techlist_area .list{
		display: grid;
		grid-template-columns: repeat(auto-fill, 235px);
		justify-content: center;
		gap: 55px 38px;
}
.techlist_area .list > div{
    width: 235px;
}
.techlist_area .list > div a{
    display: block;
    color: #fff;
}
.techlist_area .list > div .img{
    width: 100%;
    height: auto;
}
.techlist_area .list > div .img img{
	max-width:auto;
	max-width:inherit;
	width: 100%;
}
.techlist_area .list > div .catch{
    font-size: 1.4rem;
    padding: 12px 0 2px;
    text-align: center;
}
.techlist_area .list > div .catch.new:before{
    content: "NEW";
    display: inline-block;
    color: #f58138;
    font-weight: bold;
    margin-right: 0.4em;
}
.techlist_area .list > div .ttl{
    font-size: 2.4rem;
    font-weight: bold;
    text-align: center;
	line-height: 1.1;
}
.techlist_area .list > div .ttl span:before{
    content: "";
    display: inline-block;
    margin-right: 10px;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: 1px solid #fff;
    background: #131722 url(../img/common/arw_white.png) 9px center no-repeat;
    -webkit-background-size: 9px auto;
    background-size: 9px auto;
    transform: translateY(4px);
}
@media screen and (max-width: 768px) {
    .techlist_area .sec_wrap{
        padding: 8% 0 3%;
    }
    .techlist_area .secttl{
        font-size: 2rem;
        margin-bottom: 5%;
    }
	.techlist_area .list {
		display: flex;
		flex-wrap: wrap;
		gap: 0;
	}
	.techlist_area .list > div{
	    width: 47%;
	    margin: 0 6% 5% 0;
	}
	.techlist_area .list > div:nth-of-type(2n){
	    margin-right: 0;
	}
	.techlist_area .list > div .catch{
	    font-size: 1.1rem;
	    padding: 5% 0 0;
	    line-height: 1.2;
	}
	.techlist_area .list > div .ttl{
	    font-size: 2rem;
	}
	.techlist_area .list > div .ttl span:before{
	    margin-right: 5px;
	    width: 20px;
	    height: 20px;
	    background: #131722 url(../img/common/arw_white.png) 7px center no-repeat;
	    -webkit-background-size: 7px auto;
	    background-size: 7px auto;
	    transform: translateY(2px);
	}
	.techlist_area .list > div .catch.new:before{
	    display: block;
	    margin: 0 0 0.4em 0;
	}
}


/* ----------------------------------------------------------------------------------------------------
*  special_area
* --------------------------------------------------------------------------------------------------*/
.special_area .wrap{
    padding: 50px 0;
}
.special_area .secttl{
    color: #f58138;
    font-size: 3rem;
    font-weight: bold;
    margin: 0 0 57px 30px;
}
.special_area .secttl a{
    color: #111;
    font-size: 2rem;
    font-weight: normal;
    margin-left: 17px;
}
.special_area .list{
    flex-wrap: wrap;
    padding: 0 8px;
}
.special_area .list > div{
    width: 350px;
    margin-right: 32px;
    box-shadow:0px 0px 4px 0px rgba(0,0,0,0.4);
}
.special_area .list > div:nth-of-type(3n){
    margin-right: 0;
}
.special_area .list > div a{
    display: block;
}
.special_area .list > div .img{
    width: 100%;
    height: 196px;
}
.special_area .list > div .img img{
	max-width:auto;
	max-width:inherit;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.special_area .list > div .ttl{
	padding: 12px 12px 25px;
	color: #111;
	font-size: 1.8rem;
	line-height: 1.3;
}
@media screen and (max-width: 768px) {
    .special_area .wrap{
        padding: 8% 0;
    }
    .special_area .secttl{
        font-size: 1.8rem;
        margin: 0 0 5%;
    }
    .special_area .secttl a{
        font-size: 1.4rem;
        margin: 0 0 0 3%;
    }
	.special_area .list{
	    padding: 0;
	}
	.special_area .list > div{
	    width: 100%;
	    margin: 0;
	}
	.special_area .list > div .img{
	    height: 50vw;
	}
	.special_area .list > div + div{
		margin-top: 5%;
	}
	.special_area .list > div .ttl{
		padding: 5% 5% 8%;
		font-size: 1.6rem;
	}
}


.special_area .sec_wrap{
	padding: 50px 0;
}
.special_area .sec_wrap .secttl{
	margin: 0 0 26px 10px;
	color: #fff;
}
.special_area .sec_wrap .secttl a{
	color: #fff;
}
.special_area .list-slider .img{
	width: 100%;
	height: 196px;
}
.special_area .list-slider .img img{
	max-width: inherit;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 5px;
}
.special_area .list-slider .ttl{
	padding: 12px 6px 0;
	font-size: 1.5rem;
	line-height: 1.3;
}
.special_area .list-slider .slick-track{
	margin: 0;
}
.special_area .list-slider .slick-slide{
	margin: 0 7.5px;
}
.special_area .list-slider .slick-arrow{
	z-index: 1;
	width: 34px;
	height: 65px;
	position: absolute;
	top: 63px;
	color: transparent;
	font-size: 0;
	background-repeat: no-repeat;
	background-size: contain;
}
.special_area .list-slider .slick-prev{
	left: 25px;
	background-image: url(../img/common/arw_slider_l.svg);
}
.special_area .list-slider .slick-next{
	right: 25px;
	background-image: url(../img/common/arw_slider_r.svg);
}
.special_area .list-slider .slick-disabled{
	opacity: 0;
	pointer-events: none;
}
@media screen and (max-width: 768px) {
	.special_area .sec_wrap{
		padding: 8% 0;
	}
	.special_area .sec_wrap .secttl{
		margin: 0 0 20px 5px;
	}
	.special_area .list-slider .img{
		height: 50vw;
	}
	.special_area .list-slider .ttl{
		font-size: 1.6rem;
	}
	.special_area .list-slider .slick-slide{
		margin: 0 5px;
	}
	.special_area .list-slider .slick-arrow{
		width: 20px;
		height: 38px;
		top: 20vw;
	}
	.special_area .list-slider .slick-prev{
		left: 10px;
	}
	.special_area .list-slider .slick-next{
		right: 10px;
	}
}

/* archive */
.special_area .cat{
	margin-bottom: 70px;
	display: flex;
	align-items: flex-start;
	gap: 10px;
}
.special_area .cat_txt{
	margin-top: 0.1em;
	flex-shrink: 0;
	color: #868483;
	font-size: 15px;
}
.special_area .cat_list{
	display: flex;
	flex-wrap: wrap;
	gap: 10px 0;
}
.special_area .cat_item{
	font-size: 17px;
}
.special_area .cat_item + .cat_item::before{
	content: "|";
	margin: 0 0.5em;
}
.special_area .content_list{
	display: grid;
	grid-template-columns: repeat(auto-fill, 327px);
	justify-content: center;
	gap: 40px 15px;
}
.special_area .content_item{
	width: auto;
	box-shadow: none;
}
.special_area .content_item{
	
}
.special_area .content_item .img{
	width: 100%;
	height: 196px;
}
.special_area .content_item .img img{
	max-width: inherit;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 5px;
}
.special_area .content_item .ttl{
	padding: 12px 6px 0;
	font-size: 1.5rem;
	line-height: 1.3;
}
@media screen and (max-width: 768px) {
	.special_area .cat{
		margin-bottom: 40px;
		flex-direction: column;
	}
	.special_area .content_list{
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		gap: 30px 4%;
	}
	.special_area .content_item{
		width: 48%;
	}
}


/* ----------------------------------------------------------------------------------------------------
*  detail_area
* --------------------------------------------------------------------------------------------------*/
.detail_area .wrap{
    padding: 0 30px;
		max-width: 1130px;
}
.detail_area .txtarea .catch{
    color: #f58138;
    font-size: 1.8rem;
    margin-top: 15px;
    line-height: 1.3;
}
.detail_area .txtarea .articlettl{
    font-size: 3rem;
    margin: 10px 0 70px;
    line-height: 1.3;
}
.detail_area .txtarea .txt p{
    font-size: 1.6rem;
    line-height: 1.5;
}
.detail_area .txtarea .txt p + p{
    margin-top: 30px;
}
.detail_area .txtarea  h2,
.detail_area .txtarea  h2
.detail_area .txtarea  h2
.detail_area .txtarea  h2
.detail_area .txtarea  h2{
	line-height: 1.3;
	font-weight: bold;
	margin: 1.8em 0 0.5em;
}
.detail_area .txtarea  h2 {
	font-size: 2.4rem;
}
.detail_area .txtarea  h3 {
	font-size: 2.2rem;
}
.detail_area .txtarea  h4 {
	font-size: 2rem;
}
.detail_area .txtarea  h5 {
	font-size: 1.8rem;
}
.detail_area .txtarea  h6 {
	font-size: 1.6rem;
}
.detail_area .txtarea ul li{
	position: relative;
	list-style:none;
	padding-left: 1.5em;
	font-size: 1.6rem;
	line-height:1.3;
}
.detail_area .txtarea ul li + li{
	margin-top: 0.6em;
}
.detail_area .txtarea .txt> ul > li:before{
  content: "■";
  position: absolute;
  top:0;
  left:0;
}
.detail_area .txtarea .txt> ul ul{
  margin-top: 0.6em;
}
.detail_area .txtarea .txt> ul ul > li{
  padding-left: 1em;
}
.detail_area .txtarea .txt> ul ul > li:before{
  content: "・";
  position: absolute;
  top:0;
  left:0;
}
@media screen and (max-width: 768px) {
	.detail_area .wrap{
	    padding: 0;
	}
    .detail_area .txtarea  .catch{
        font-size: 1.6rem;
        margin-top: 3%;
    }
    .detail_area .txtarea  .articlettl{
        font-size: 2.2rem;
        margin: 2% 0 8%;
    }
    .detail_area .txtarea  .txt p{
        font-size: 1.4rem;
    }
    .detail_area .txtarea  .txt p + p{
        margin-top: 5%;
    }
	.detail_area .txtarea  h2 {
		font-size: 2.2rem;
	}
	.detail_area .txtarea  h3 {
		font-size: 2rem;
	}
	.detail_area .txtarea  h4 {
		font-size: 1.8rem;
	}
	.detail_area .txtarea  h5 {
		font-size: 1.6rem;
	}
	.detail_area .txtarea  h6 {
		font-size: 1.4rem;
	}
	.detail_area .txtarea ul li{
		font-size: 1.4rem;
	}
}


/* ----------------------------------------------------------------------------------------------------
*  footer
* --------------------------------------------------------------------------------------------------*/
footer{
	background: #111;
}
footer .wrap{
	padding: 45px 0;
}
footer .nav{
	width:1150px;
	margin: 0 auto;
	justify-content: space-between;
}
footer .nav a{
	color: #fff;
	font-size: 1.4rem;
}
footer .copy{
	border-top: 1px solid #666;
	font-size: 1.4rem;
	color: #ccc;
	text-align: center;
	padding: 25px 0 40px;
}
@media screen and (max-width: 768px) {
	footer .wrap{
		padding: 8% 0 3%;
	}
	footer .nav{
		width:100%;
		flex-wrap: wrap;
	}
	footer .nav li{
		width: 50%;
		margin-bottom: 5%;
	}
	footer .nav a{
		font-size: 1.1rem;
	}
	footer .copy{
		padding: 5% 0 7%;
		font-size: 1.1rem;
	}

}

/*
.techlist_area .list > div:first-child{
	pointer-events: none;
}
.techlist_area .list > div:nth-child(2) .catch:before {
    content: "NEW";
    display: inline-block;
    color: #f58138;
    font-weight: bold;
    margin-right: 0.4em;
}
*/
@media screen and (max-width: 768px) {
	.techlist_area .list > div:nth-child(2) .catch:before {
		display: block;
		margin: 0 0 0.4em 0;
	}
}


#bbpress-forums{
    width: 1130px;
    margin: 0 auto;
    padding: 2em 0 0;
}
#bbpress-forums .bbp-breadcrumb{
    font-size: 1.4rem;
}
#bbpress-forums div.bbp-breadcrumb p{
    margin: 0;
}
#bbpress-forums #favorite-toggle,
#bbpress-forums #subscription-toggle{
    font-size: 1.4rem;
    padding-bottom: 1em;
}
#bbpress-forums ul.bbp-forums{
    margin-top: 1em;
}
#bbpress-forums ul.bbp-forums,
#bbpress-forums ul.bbp-lead-topic,
#bbpress-forums ul.bbp-replies, 
bbpress-forums ul.bbp-search-results{
    border: 1px solid #000;
    font-size: 1.6rem;
    margin: 0;
}
#bbpress-forums ul.bbp-topics{
    font-size: 1.6rem;
    border: 1px solid #000;
    margin: 0;
}
#bbpress-forums li{
    line-height: 1.6;
}
#bbpress-forums li.bbp-footer,
#bbpress-forums li.bbp-header{
    padding: 1em;
}
#bbpress-forums li.bbp-body ul.forum,
#bbpress-forums li.bbp-body ul.topic{
    padding: 1em;
}
#bbpress-forums .bbp-forum-info .bbp-forum-content,
#bbpress-forums p.bbp-topic-meta{
    font-size: 1.4rem;
    margin: 0.5em 0 0;
}
.bbp-pagination{
    overflow: hidden;
    margin: 1.5em 0;
}
.bbp-pagination-count{
    font-size: 1.4rem;
}
#bbpress-forums div.bbp-reply-content p{
    line-height: 1.6;
}
span.bbp-admin-links a{
    font-size: 1.4rem;
}
div.bbp-template-notice,
div.indicator-hint{
    font-size: 1.4rem;
}
#new-post{
    margin-top: 2em;
}
#bbpress-forums fieldset.bbp-form legend{
    font-size: 1.6rem;
    line-height: 1.4;
}
#bbpress-forums div.bbp-the-content-wrapper textarea.bbp-the-content{
    font-size: 1.6rem;
    height: 10em;
}
#bbpress-forums fieldset.bbp-form label{
    font-size: 1.4rem;
}
div.bbp-submit-wrapper{
    width: 10em;
    font-size: 1.6rem;
    margin: 0;
}
div.bbp-submit-wrapper button{
    display: block;
    width: 100%;
    border: 1px solid #000;
    color: #000;
    line-height: 1.0;
    padding: 0.8em 0;
    border-radius: 0;
    appearance: none;
    transition: 0.3s;
}
div.bbp-submit-wrapper button:hover{
    background: #000;
    color: #fff;
}
#bbpress-forums fieldset.bbp-form{
    border: 1px solid #000;
    margin-bottom: 2em;
    padding: 10px 20px 20px;
}

#bbp_topic_title{
    font-size: 1.6rem;
}
#bbpress-forums fieldset.bbp-form input[type=password],
#bbpress-forums fieldset.bbp-form input[type=text],
#bbpress-forums fieldset.bbp-form select{
    font-size: 1.6rem;
    padding: 0.5em;
}
#bbpress-forums fieldset.bbp-form input[type=text]{
    background: #f2f2f2;
    display: block;
    width: 100%;
    line-height: 1.6;
    min-height: auto;
    height: auto;
    border: 1px solid #000;
}
#bbpress-forums div.bbp-the-content-wrapper{
    border: 1px solid #000;
    background: #f2f2f2;
    width: 100%;
    line-height: 1.6;
    font-size: 1.6rem;
    padding: 0.5em;
    
}
#bbpress-forums fieldset.bbp-form label{
    display: block;
}
#bbpress-forums fieldset select#bbp_forum_id,
#bbpress-forums fieldset select#bbp_stick_topic_select,
#bbpress-forums fieldset select#bbp_topic_status_select{
    border: 1px solid #000;
    min-height: auto;
    height: auto;
}
#bbp_search_submit{
    font-size: 1.4rem;
}
#bbp-user-wrapper .bbp-user-section h3{
    font-size: 1.6rem;
    line-height: 1.6;
}
#bbp-user-wrapper .bbp-user-section .bbp-user-forum-role{
    font-size: 1.4rem;
    line-height: 1.6;
}
#bbp-user-wrapper .bbp-user-section .bbp-user-website{
    font-size: 1.4rem;
    line-height: 1.6;
}
#bbp-user-wrapper .bbp-user-section hr{
    margin: 1.5em 0;
}
.bbp-user-last-activity,
.bbp-user-topic-count,
.bbp-user-reply-count{
    font-size: 1.4rem;
    line-height: 1.6;
}
#bbpress-forums #bbp-single-user-details #bbp-user-navigation li{
    font-size: 1.4rem;
}
.bbp-search-form{
    display: flex;
    justify-content: space-between;
    border: 1px solid #000;
    padding: 0.5em;
}
.bbp-search-form input[type="text"]{
    font-size: 1.4rem;
    width: 15em;
    background: #f3f3f3;
    padding: 0.3em 0;
}
#bbp_search_submit{
    width: 5em;
    line-height: 1.0;
    font-size: 1.4rem;
    border: 1px solid #000;
    padding: 0.5em 0;
}
#bbpress-forums #bbp-your-profile fieldset select{
    height: auto;
    min-height: inherit;
}
#bbpress-forums #bbp-user-body{
    padding-bottom: 2em;
}
#bbpress-forums #bbp-your-profile fieldset.submit button{
    font-size: 1.4rem;
}
#bbp-reply-search-form{
    width: 100%;
}
#bbpress-forums div.bbp-search-form{
    margin: 0 0 1em;
}
@media screen and (max-width: 768px){
    #bbpress-forums{
        width: auto;
        padding: 5vw;
    }
    #bbpress-forums #favorite-toggle,
    #bbpress-forums #subscription-toggle{
        margin: 1em 0 0;
    }
    .bbp-footer{
        display: none;
    }
    #bbpress-forums li.bbp-body ul.forum,
    #bbpress-forums li.bbp-body ul.topic{
        border-top: 1px solid #ccc;
    }
    #bbpress-forums li.bbp-body ul.forum:first-child,
    #bbpress-forums li.bbp-body ul.topic:first-child{
        border-top: 0;
    }
    #bbpress-forums li.bbp-header{
        display: none;
    }
    #bbpress-forums .bbp-forum-info,
    #bbpress-forums .bbp-topic-title{
        width: 100%;
    }
    #bbpress-forums .bbp-forum-topic-count,
    #bbpress-forums .bbp-forum-reply-count,
    #bbpress-forums .bbp-topic-voice-count,
    #bbpress-forums .bbp-topic-reply-count{
        display: none;
    }
    /* #bbpress-forums .bbp-forum-freshness,
    #bbpress-forums .bbp-topic-freshness{
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        margin: 1em 0 0;
    } */
    span.bbp-admin-links{
        display: block;
    }
    span.bbp-reply-post-date,
    span.bbp-topic-post-date{
        font-size: 1.4rem;
    }
    .bbp-reply-permalink{
        font-size: 1.4rem;
    }
    
    #bbpress-forums #bbp-single-user-details{
        display: flex;
        width: 100%;
        justify-content: space-between;
        margin: 0 0 1.5em;
    }
    #bbpress-forums #bbp-single-user-details #bbp-user-avatar{
        width: 20vw;
    }
    #bbpress-forums #bbp-single-user-details #bbp-user-avatar img.avatar{
        width: 100%;
        height: 20vw;
        object-fit: cover;
    }
    #bbpress-forums #bbp-single-user-details #bbp-user-navigation{
        width: calc(100% - 25vw);
    }
    #bbpress-forums #bbp-single-user-details #bbp-user-navigation ul{
        display: flex;
        flex-wrap: wrap;
    }
    #bbpress-forums #bbp-single-user-details #bbp-user-navigation ul li{
        width: 50%;
    }
    #bbp-topic-search-form{
        width: 100%;
    }
    #bbpress-forums div.bbp-search-form{
        float: none;
        width: 100%;
        margin: 0 0 1em;
    }
    #bbpress-forums #bbp-user-wrapper h2.entry-title{
        padding: 0;
    }
    .bbp-search-form div{
        display: flex;
        justify-content: space-between;
        width: 100%;
    }
    .bbp-search-form input[type="text"]{
        width: calc(100% - 6em);
    }
    #bbpress-forums .bbp-forum-info .bbp-forum-content, #bbpress-forums p.bbp-topic-meta{
        line-height: 1.6;
    }
    #bbpress-forums #bbp-your-profile fieldset label[for]{
        float: none;
        width: 100%;
        text-align: left;
        padding: 0 0 0.5em;
    }
    #bbpress-forums #bbp-your-profile fieldset input,
    #bbpress-forums #bbp-your-profile fieldset textarea{
        width: 100%;
    }
    #bbpress-forums #bbp-search-form{
        width: 100%;
    }
    #bbpress-forums .bbp-breadcrumb{
        float: none;
        margin: 0 0 1em;
    }
    #bbpress-forums #bbp-user-wrapper h2.entry-title{
        margin: 0 0 0.5#bbpress-forums div.bbp-search-formem;
    }
}


#bbpress-forums .bbp-breadcrumb,
.bbp-pagination,
#bbpress-forums p.bbp-topic-meta,
li.bbp-topic-voice-count,
li.bbp-topic-freshness,
#bbpress-forums li.bbp-footer,
#bbpress-forums li.bbp-header,
.bbp-topic-edit-link,
.bbp-topic-merge-link,
.bbp-topic-close-link,
.bbp-topic-sticky-link,
.bbp-topic-super-sticky-link,
.bbp-topic-spam-link,
.bbp-topic-approve-link,
.bbp-reply-permalink,
.bbp-reply-edit-link,
.bbp-reply-move-link,
.bbp-topic-split-link,
.bbp-reply-spam-link,
.bbp-reply-approve-link,
.bbp-template-notice,
.form-allowed-tags,
.bbp-author-avatar,
.bbp-author-role
{
	display: none;
}
li.bbp-topic-title{
	width: 90%;
}
a.bbp-topic-permalink {
    font-size: 2.6rem;
    color: #3366cc;
}
@media screen and (max-width: 768px){
	a.bbp-topic-permalink{
		font-size: 2rem;
	}
}
#bbpress-forums li.bbp-body ul.topic{
	display: flex;
	align-items: center;
}
#bbpress-forums div.bbp-forum-content, #bbpress-forums div.bbp-reply-content, #bbpress-forums div.bbp-topic-content {
    margin-left: 0;
}
span.bbp-admin-links {
    color: #f4f4f4;
}
.bbp-reply-author{
	padding: 12px 0;
}
.bbp-topic-form{
	/* display: none; */
}

/* technique */
body.tech_list main{
	padding: 0;
}
body.tech_list .techlist_area{
	padding: 60px 0 75px;
	background: #131722;
}
body.tech_list .techlist_area .list > div a{
	color: #fff;
}
@media screen and (max-width: 768px) {
	body.tech_list .techlist_area{
		padding: 10% 0;
	}
}

/* recruit */
body.recruit{
	color: #000;
}
:where(body.recruit) a{
	color: initial;
}
.consent_box .c-check .udl{
	color: #00e;
}