@charset "utf-8";
/* PC/スマホ共通表示 */

.-----PC_MOBILE_COMMON_CSS_START----- {}

* {
	margin: 0px;
	padding: 0px;
	list-style-type: none;
	-webkit-text-size-adjust: 100%;
	max-height: 999999px;
	font-style: normal;
}
html,body  {
	width:100%;
	height:100%;
}
body {
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Osaka, sans-serif;
	font-size: 14px;
	line-height: 200%;
	color: #333;
}
img {
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
}
table {
	border-collapse: collapse;
}
a:link,
a:visited {
	text-decoration: none;
	color: #0066CC;
}
a:hover,
a:active {
	text-decoration: underline;
	color: #FF6600;
}
.clear {
	clear: both;	
}

.mobile_nowrap {
	display: inline;
}
.pc_nowrap {
	display: none;
}
.mobile_only {
	display:none;
}
.pc_only {
	display: block;
}

#wrapper {
	width:100%;
	height:100%;
}

#logo {
	box-sizing:border-box;
	width:calc(100% - 650px);
	height:100dvh;
	display:flex;
	align-content:center;
	align-items:center;
	flex-wrap:wrap;
	justify-content:flex-start;
	padding-left:70px;
	position: fixed;
	left:0px;
	top:0px;
	z-index: 1;
	padding-right:70px;
	padding-top:70px;
	padding-bottom:70px;
	line-height:0px;
	transition:0.3s;
}
#logo img {
	width:100%;
	max-width:701px;
	height:auto;
}
#menu {
	box-sizing: border-box;
	width: 650px;
	height:100dvh;
	display: flex;
	align-content:center;
	align-items:center;
	flex-wrap:wrap;
	justify-content:flex-start;
	position: relative;
	z-index: 1;
	transition: 0.5s;
	overflow-x: hidden;
	opacity: 1;
	margin-right: 0px;
	margin-left: auto;
}
#menu.close {
	opacity:0;
}
#menu ul {
	font-family: 'Bahnschrift','Roboto Condensed', sans-serif;
	font-size: 50px;
	color: #E7E7E7;
	font-weight:400;
	margin-bottom:0.2em;
	line-height:100%;
	display:inline-block;
}
#menu ul li {
	white-space:nowrap;
	margin-bottom:60px;
	height:1em;
}
#menu ul li:last-child {
	margin-bottom:0;
}
.actual {
	text-transform: uppercase;
}
.dummy {
	text-transform: uppercase;
}
#menu ul li a {
	color: #E7E7E7;
	text-decoration:none;
	transition:0.3s;
	display:inline-block;
}
#menu ul li a.text_shuffle {
	display:none;
}
#menu ul:hover li a  {
	opacity:0.5;
}
#menu ul:hover li a:hover {
	color: #FFF;
	text-decoration:none;
	opacity:1;
}
#bg_movie {
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	z-index: 0;
	left: 0px;
	top: 0px;
	overflow: hidden;
	position: fixed;
	background-color:#000;
}
#bg_movie #movie {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 177.77777778vh;
    height: 56.25vw;
    min-height: 100%;
    min-width: 100%;
	z-index:0;
}


.close_btn {
	position: fixed;
	top: 75px;
	right: 50px;
	z-index: 10;
	cursor: pointer;
	height: 48px;
	width: 48px;
	overflow: hidden;
	text-indent: -99999em;
	background-image: url(../common/img/close.png);
	background-repeat: no-repeat;
	background-position: center center;
	transition:0.5s;
	opacity:0;
	pointer-events: none;
}
.current .close_btn {
	opacity:1;
	pointer-events: auto;
}
.current .close_btn:hover {
	opacity:0.6;
}


.contents {
	box-sizing: border-box;
	width: 650px;
	display: block;
	position: absolute;
	z-index: 1;
	transition: 0.3s;
	top: 180px;
	right: 0px;
	padding-right: 120px;
	color: #FFF;
	display:none;
}

.contents .ttl_01 {
	font-family: 'Bahnschrift','Roboto Condensed', sans-serif;
	font-size: 60px;
	font-weight:400;
	margin-bottom:35px;
	line-height:100%;
	text-transform: uppercase;
	display:block;
	white-space:nowrap;
	height:1em;
}
.contents .ttl_02 {
	font-size: 28px;
	line-height:130%;
	font-weight: normal;
	margin-bottom: 0.4em;
}

.contents .body {
	opacity:0;
	transition:0.5s;
}
.contents.current .body {
	opacity:1;
}
.sub_ttl_01 {
	font-size: 15px;
	line-height:130%;
	font-weight: bold;
	margin-bottom: 0.5em;
}

#company dl.outline {
	box-sizing: border-box;
	width: 100%;
	display: flex;
	align-items: stretch;
	flex-wrap: wrap;
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: rgba(231,231,231,0.2);
	line-height:150%;
}
#company dl.outline > dt,
#company dl.outline > dd {
	box-sizing: border-box;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: rgba(231,231,231,0.2);
	padding-top: 1.3em;
	padding-bottom: 1.3em;
}
#company dl.outline > dt {
	width: 120px;
	padding-left: 1em;
	display:flex;
	align-content:center;
	align-items:center;
	flex-wrap:wrap;

}
#company dl.outline > dd {
	width: calc(100% - 120px);
}
#company dl.outline > dd > dl.est {
	width:100%;
	display:flex;
	flex-wrap:wrap;
}
#company dl.outline > dd > dl.est > dt {
	width:6em;
}
#company dl.outline > dd > dl.est > dd {
	width: calc(100% - 6em);	
}
#company dl.outline > dd > dl.office {
	line-height:130%;
}
#company dl.outline > dd > dl.office > dd {
	margin-bottom:1em;
}
#company dl.outline > dd > dl.office > dd:last-child {
	margin-bottom:0;
}


#business .division {
	margin-bottom:80px;
}
#business .division .main_img,
#business .division .sub_img {
	line-height:0px;
}
#business .division .main_img img,
#business .division .sub_img img {
	max-width:100%;
	height:auto;
}
#business .division .main_img+p {
	line-height:220%;
	margin-top:1.2em;
	margin-bottom:0px;
}
#business .division .sub_img {
	margin-top:1.2em;
}

#blog dl {
	box-sizing: border-box;
	width: 100%;
	display: flex;
	align-items: stretch;
	flex-wrap: wrap;
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: rgba(231,231,231,0.2);
	line-height:150%;
}
#blog dl > dt,
#blog dl > dd {
	box-sizing: border-box;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: rgba(231,231,231,0.2);
	padding: 12px;
}
#blog dl > dt {
	width: 130px;

}
#blog dl > dt .category {
	box-sizing: border-box;
	width: 100%;
	display: block;
	text-align: center;
	color: #FFF;
	line-height: 27px;
	background-color: #444444;
}
#blog dl > dd {
	width: calc(100% - 130px);
	display: flex;
	align-content: center;
	align-items: center;
	flex-wrap: wrap;
	padding-right: 1px;
}
#blog dl > dd .entry-title {
	width:100%;
	display:block;
	overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
#blog dl > dd a {
	color: #FFF;
	text-decoration: none;
}
#blog dl > dd a:hover {
	color: #FFF;
	text-decoration: underline;
}
#blog .go_to_blog {
	display:block;
	width:100%;
	padding-top:1em;
	text-align:right;
}
#blog .go_to_blog a {
	display: inline-block;
	color: #FFF;
	text-decoration: none;
	background-image: url(../common/img/arrow01.png);
	background-repeat: no-repeat;
	background-position: right center;
	padding-right: 15px;
	line-height: 14px;
	margin-right: 5px;
}
#blog .go_to_blog a:hover {
	color: #FFF;
	text-decoration: underline;
}
#blog .empty {
	padding-left:5px;
}

#inquiry .phone {
	margin-bottom:30px;
}
#inquiry .phone .number {
	font-family: 'Bahnschrift','Roboto Condensed', sans-serif;
	font-size: 38px;
	font-weight:400;
	line-height:100%;
}
#inquiry .form{
	padding-bottom:50px;
}
#inquiry .form dl {
	box-sizing: border-box;
	width: 100%;
	display: flex;
	align-items: stretch;
	flex-wrap: wrap;
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: rgba(231,231,231,0.2);
	line-height:150%;
}
#inquiry .form dl > dt,
#inquiry .form dl > dd {
	box-sizing: border-box;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: rgba(231,231,231,0.2);
	padding-top: 13px;
	padding-bottom: 13px;
}
#inquiry .form dl > dt {
	width: 195px;
	padding-left: 10px;
	display:flex;
	align-content:center;
	align-items:center;
	flex-wrap:wrap;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: rgba(231,231,231,0.2);
}
#inquiry .form dl > dt .req {
	width: 175px;
	display:flex;
	align-content:center;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
	position:relative;
}
#inquiry .form dl > dt .req:after {
	content: "必須";
	width: 38px;
	display: block;
	font-size: 12px;
	line-height: 22px;
	font-weight: normal;
	text-align: center;
	border: 1px solid #FFF;
}
#inquiry .form dl > dd {
	width: calc(100% - 195px);
	padding-left: 10px;
	padding-right: 10px;
}
#inquiry .form dl > dd input[type="text"],
#inquiry .form dl > dd input[type="email"],
#inquiry .form dl > dd textarea{
	box-sizing: border-box;
	width: 100%;
	padding: 10px;
	font-family: "メイリオ", Meiryo,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",  Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size:15px;
	line-height: 150%;
	color: #000;
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	background-color: #FFF;
}
#inquiry .form dl > dd.err_line input[type="text"],
#inquiry .form dl > dd.err_line input[type="email"],
#inquiry .form dl > dd.err_line textarea{
	background-color: #FCC;
}
#inquiry .form dl > dt.wide,
#inquiry .form dl > dd.wide {
	width: 100%;
}
#inquiry .form dl > dt.wide {
	border-bottom-style:none;
	padding-bottom:0px;
}
#inquiry .form dl > dd textarea {
	height:80px;
}

.recaptcha_wrapper {
	width: 302px;
	margin-right: auto;
	margin-left: auto;
	padding-top:15px;
}

#inquiry .form .form_btn {
	text-align:center;
	padding-top:15px;
}
#inquiry .form_btn a,
#inquiry .form_btn input[type="button"] {
	box-sizing: border-box;
	font-size: 15px;
	width: 302px;
	background-color: rgba(255,255,255,0.3);
	font-weight: bold;
	color: #FFFFFF;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
	display: block;
	border-style: none;
	padding-top: 13px;
	padding-bottom: 13px;
	cursor:pointer;
	transition:0.3s;
	text-decoration:none;
}
#inquiry .form_btn input[type="button"].edit {
	display:none;
	margin-top:20px;
	background-color: rgba(255,255,255,0.7);
	color: #333;
}
#inquiry .form_btn a:hover,
#inquiry .form .form_btn input[type="button"]:hover {
	background-color: rgba(255,255,255,0.6);
}


#inquiry .confirm_area {
	display:none;
}

#inquiry .inquiry_comp {
	display:none;
}
#inquiry .inquiry_comp .finish_msg {
	padding-top:3em;
	padding-bottom:3em;
	text-align:center;
}
#inquiry .inquiry_form .msg p{
	text-align:center;
	margin-bottom:0.5em;
}
#inquiry .inquiry_form .msg .err{

}
#inquiry .inquiry_form .err_msg {

}

.-----PC_MOBILE_COMMON_CSS_END----- {}

@media screen and (max-width: 1480px) {
.-----MAX-WIDTH_1480PX----- {}

	#logo {
		width:calc(100% - 550px);
	}
	#menu {
		width:550px;
	}
	
.-----MAX-WIDTH_1480PX_END----- {}
}
@media screen and (max-width: 1280px) {
.-----MAX-WIDTH_1280PX----- {}

	#logo {
		width:calc(100% - 500px);
	}
	#menu {
		width:500px;
	}

	#menu ul {
		font-size: 45px;
	}
	#menu ul li {
		margin-bottom:45px;
	}
	
.-----MAX-WIDTH_1280PX_END----- {}
}
@media screen and (max-width: 1080px) {
.-----MAX-WIDTH_1180PX----- {}

	#logo {
		width:calc(100% - 450px);
		padding-left:50px;
		padding-right:50px;
	}
	#menu {
		width:450px;
	}
	#menu ul {
		font-size: 40px;
	}
	#menu ul li {
		margin-bottom:40px;
	}
	
.-----MAX-WIDTH_1180PX_END----- {}
}
@media screen and (max-width: 900px) {
.-----MAX-WIDTH_900PX----- {}
	
	#logo {
		width:calc(100% - 400px);
		padding-left:40px;
		padding-right:40px;
	}
	#menu {
		width:400px;
	}
	#menu ul {
		font-size: 35px;
	}
	#menu ul li {
		margin-bottom:35px;
	}
	
.-----MAX-WIDTH_900PX_END----- {}
}


/* スマートフォン用CSS */
@media screen and (max-width: 750px) {
	
.-----MOBILE_ONLY_CSS_START----- {}

body {
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Osaka, sans-serif;
	font-size: 28px;
	line-height: 200%;
	color: #333;
}
#wrapper {
	width:100%;
	height:100%;
	display:block;
}


#logo {
	width:100%;
	height:auto;
	display:block;
	position: relative;
	padding-left:50px;
	padding-right:50px;
	padding-top:82px;
	padding-bottom:90px;
	transition:none;
}
#logo a {
	display: block;
	width: 530px;
	position: relative;
	overflow: hidden;
	text-indent: -9999em;
	height: 50px;
	background-image: url(../common/img/logo_w.png);
	background-repeat: no-repeat;
	background-position: left top;
	background-size:contain;
}
#logo img {
	display:none;
}

#menu {
	height:auto;
	display:block;
	width:100%;
	padding-right:50px;
}
#menu ul {
	width:100%;
	font-size: 70px;
}
#menu ul li {
	width:100%;
	margin-bottom:70px;
	text-align:right;
}

.contents {
	box-sizing: border-box;
	width: 750px;
	display: block;
	position: absolute;
	z-index: 1;
	transition: 0.3s;
	top: 180px;
	right: 0px;
	padding-left: 50px;
	padding-right: 50px;
	color: #FFF;
	display:none;
}
.contents .ttl_01 {
	font-size: 70px;
	margin-bottom:45px;
}
.contents .ttl_02 {
	font-size: 45px;
	line-height:130%;
	font-weight: normal;
	margin-bottom: 0.4em;
}

.sub_ttl_01 {
	font-size: 32px;
	line-height:130%;
	font-weight: bold;
	margin-bottom: 0.5em;
}

#company {
	padding-bottom:100px;
}
#company dl.outline {
	display: block;
}
#company dl.outline > dt {
	width: 100%;
	padding-left: 0;
	border-bottom-style: none;
	font-weight:bold;
	padding-bottom: 0.5em;

}
#company dl.outline > dd {
	width: 100%;
	padding-top: 0;
}
#blog dl > dt {
	width: 200px;
	border-bottom-style: none;
	padding-bottom: 0em;
	padding-top:1.3em;

}
#blog dl > dt .category {
	line-height: 50px;
}
#blog dl > dd {
	width: 100%;
	display: block;
	padding-bottom:1.3em;
}


#inquiry .phone {
	margin-bottom:60px;
}
#inquiry .phone .number {
	font-family: 'Bahnschrift','Roboto Condensed', sans-serif;
	font-size: 60px;
	font-weight:400;
	line-height:100%;
}
#inquiry .form{
	padding-bottom:120px;
}
#inquiry .form dl {
	box-sizing: border-box;
	width: 100%;
	display: flex;
	align-items: stretch;
	flex-wrap: wrap;
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: rgba(231,231,231,0.2);
	line-height:150%;
}
#inquiry .form dl > dt {
	width: 100%;
	padding-left: 10px;
	padding-right: 10px;
	border-bottom-style: none;
	padding-top: 1.3em;
	padding-bottom: 0;
}
#inquiry .form dl > dt .req {
	width: 100%;
	display:flex;
	align-content:center;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
	position:relative;
}
#inquiry .form dl > dt .req:after {
	content: "必須";
	width: 70px;
	display: block;
	font-size: 22px;
	line-height: 40px;
	font-weight: normal;
	text-align: center;
	border: 1px solid #FFF;
}
#inquiry .form dl > dd {
	width: 100%;
	padding-left: 10px;
	padding-right: 10px;
	padding-bottom: 1.3em;
}
#inquiry .form dl > dd input[type="text"],
#inquiry .form dl > dd input[type="email"],
#inquiry .form dl > dd textarea{
	box-sizing: border-box;
	width: 100%;
	padding: 1em;
	font-family: "メイリオ", Meiryo,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",  Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size:26px;
	line-height: 150%;
	color: #000;
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	background-color: #FFF;
}
#inquiry .form dl > dd.err_line input[type="text"],
#inquiry .form dl > dd.err_line input[type="email"],
#inquiry .form dl > dd.err_line textarea{
	background-color: #FCC;
}
#inquiry .form dl > dt.wide,
#inquiry .form dl > dd.wide {
	width: 100%;
}
#inquiry .form dl > dt.wide {
	border-bottom-style:none;
	padding-bottom:0px;
}
#inquiry .form dl > dd textarea {
	height:300px;
}

.recaptcha_wrapper {
	width: 302px;
	margin-right: auto;
	margin-left: auto;
	padding-top:15px;
	transform-origin:center center;
	transform:scale(1.7,1.7);
}

#inquiry .form .form_btn {
	text-align:center;
	padding-top:80px;
}
#inquiry .form_btn a,
#inquiry .form_btn input[type="button"] {
	box-sizing: border-box;
	font-size: 27px;
	width: calc(100% - 20px);
	padding-top: 15px;
	padding-bottom: 15px;
	transition:none;
	background-color: rgba(51,51,51,0.7);
	color: #FFF;
}
#inquiry .form_btn input[type="button"].edit {
	display:none;
	margin-top:40px;
	background-color: rgba(51,51,51,0.7);
	color: #FFF;
}
#inquiry .form_btn a:hover,
#inquiry .form .form_btn input[type="button"]:hover {
	background-color: rgba(255,255,255,0.6);
}


#inquiry .confirm_area {
	display:none;
}

#inquiry .inquiry_comp {
	display:none;
}
#inquiry .inquiry_comp .finish_msg {
	padding-top:3em;
	padding-bottom:3em;
	text-align:center;
}
#inquiry .inquiry_form .msg p{
	text-align:center;
	margin-bottom:0.5em;
}
#inquiry .inquiry_form .msg .err{

}
#inquiry .inquiry_form .err_msg {

}

.-----MOBILE_ONLY_CSS_END----- {}

	
}
