@charset "UTF-8";

/* TOP
====================================================*/

/* --- common --- */

.clearfix:after {
	content: "";
	clear: both;
	display: block;
}

html {
	min-width:320px;
	font-family: 'Noto Sans JP', sans-serif;
	line-height:1.5;
	-ms-text-size-adjust:100%;
	-webkit-text-size-adjust:100%;
	min-height:100%;
	position: relative;
	font-size:14px;
	letter-spacing:1.4;
	color:#212121;
	scroll-behavior:smooth;
}

body {
	min-height:100vh;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-orient:vertical;
	-webkit-box-direction:normal;
	-ms-flex-direction:column;
	flex-direction:column;
}

a {
	color:#212121;
	text-decoration:none;
}

a:hover {
	text-decoration:underline;
}

ul {
	padding:0;
	margin:0;
}

ul li {
	list-style:none;
}

.sp_inline {
	display:inline-block !important;
}

.pc {
	display:none !important;
}

.pc_inline {
	display:none !important;
}

.mt0 {
	margin-top:0 !important;
}

.mt20 {
	margin-top:20px !important;
}

.mt30 {
	margin-top:30px !important;
}

.mb0 {
	margin-bottom:0 !important;
}

.mb30 {
	margin-bottom:30px !important;
}

.pb20 {
	padding-bottom:20px !important;
}

.page_anchor {
	margin-top:0;
	padding-top:0;
}

.txt_u {
	text-decoration:underline !important;
}

.txt_16 {
	font-size:16px !important;
}

.txt_dash {
	font-family: sans-serif !important;
	letter-spacing:0;
}


/* --- header --- */

header {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack:justify;
	-ms-flex-pack:justify;
	justify-content:space-between;
	-webkit-box-align:center;
	-ms-flex-align:center;
	align-items:center;
	background-color:#FFFFFF;
}

header .logo {
	margin:10px 20px;
}

header .logo img {
	max-height:30px;
}

header .menu_wrap {
	display:none;
}

header ul.sns_share li:nth-of-type(1) {
	color:#FFFFFF;
}

header .overlay {
	display:none;
}

.fixed {
	position:fixed;
	top:0;
	left:0;
	z-index:200;
	width:100%;
}


/* --- main --- */

section h2 {
	margin-bottom:30px;
	font-size:23px;
	font-weight:bold;
	text-align:center;
	line-height:2.0;
	letter-spacing:0;
}

section h2 span {
	padding-bottom:6px;
	border-bottom:#212121 2px solid;
}

section h3 {
	margin:30px auto 25px;
	font-size:20px;
	font-weight:bold;
	line-height:1;
	letter-spacing:0;
}

section h4 {
	margin:0 auto 12px;
	font-size:15px;
}

section h4 + p {
	margin-bottom:30px;
}

.slider, .slider li {
	display:block;
}

.no1 img {
	display:block !important;
}

.no2 img, .no3 img, .no4 img , .no5 img {
	display:none !important;
}

.slider.slick-initialized .no2 img, .slider.slick-initialized .no3 img, .slider.slick-initialized .no4 img, .slider.slick-initialized .no5 img {
	display:block !important;
}

.slider.slick-initialized .slick-dots li {
	display:inline-block;
}

.slick-slide {
	height:auto;
}
 
.slick-slide img {
	width: 100%;
}

.slide-arrow {
	width:35px !important;
	position:absolute;
	top:50%;
	display:block;
	-webkit-transform:translate(0, -50%);
	-ms-transform:translate(0, -50%);
	transform:translate(0, -50%);
	cursor:pointer;
	z-index:100;
}

.case_cnt_wrap .slide-arrow {
	width:40px !important;
	margin-top:-20px;
	-webkit-transform:none;
	-ms-transform:none;
	transform:none;
	opacity:0.8;
}

.prev-arrow {
	left:0;
}

.next-arrow {
	right:0;
}
 
.slick-dots {
	bottom:-34px;
}

.slick-dots li + li {
}

.slick-dots li button:before {
	font-size:20px;
	line-height:20px;
	color:#E3E3E1;
}

.slick-dots li button:hover:before {
	color:#212121;
}

.slick-dots li.slick-active button:before {
	color:#212121;
}

.slick-dotted.slick-slider {
	margin-bottom:40px !important;
}

.slick-dots li{
	width:30px!important;
}

.slick-dots li button:before{
	font-size:6px!important;
}

#about {
	padding:20px 20px 40px;
}

#about h2 span {
	border-bottom:#C7C7C7 2px solid;
}

#about p {
	font-size:14px;
	line-height:2;
}

#ip {
	padding:60px 20px;
	background-image:url(../img/ip_bg_sp.jpg);
	background-repeat:no-repeat;
	background-size:cover;
	background-position:center center;
}

#ip .sec_inner {
	max-width:900px;
}

#ip ul {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack:justify;
	-ms-flex-pack:justify;
	justify-content:space-between;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
}

#ip ul li {
	box-shadow: 4px 4px 8px -2px rgba(0, 0, 0, 0.4);
}

#case {
	padding:40px 0;
}

#case_tab, #detail_tab {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align:center;
	-ms-flex-align:center;
	align-items:center;
}

#case_tab li, #detail_tab li {
	width:140px;
	height:64px;
	padding-bottom:10px;
	font-size:12px;
	font-weight:bold;
	text-align:center;
	border-bottom:#212121 1px solid;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align:center;
	-ms-flex-align:center;
	align-items:center;
	-webkit-box-pack:center;
	-ms-flex-pack:center;
	justify-content:center;
	background-image:url(../img/tab_02.png);
	background-repeat:no-repeat;
	background-size:140px 64px;
	background-position:top center;
	cursor:pointer;
}

#detail_tab li {
	width:125px;
	height:58px;
	padding-bottom:10px;
	font-size:12px;
	font-weight:bold;
	text-align:center;
	border-bottom:#212121 1px solid;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align:center;
	-ms-flex-align:center;
	align-items:center;
	-webkit-box-pack:center;
	-ms-flex-pack:center;
	justify-content:center;
	background-image:url(../img/tab2_02.png);
	background-repeat:no-repeat;
	background-size:125px 58px;
	background-position:top center;
	cursor:pointer;
}

#case_tab li.active, #detail_tab li.active {
	text-align:center;
	border-bottom:none;
	background-image:url(../img/tab_01.png);
}

#detail_tab li.active {
	background-image:url(../img/tab2_01.png);
}

#case_tab li.active span, #detail_tab li.active span {
	width:auto;
	height:auto;
	background-color:#FFFFFF;
	display:inline;
}

#case_tab li.disabled {
	cursor: not-allowed !important;
	opacity:0.4;
	pointer-events: none;
}

#detail_tab.tab_line {
	background-image:url(../img/tab_line.png);
	background-repeat:repeat-x;
	background-size:125px 58px;
	background-position:top left;
}




.case_cnt_wrap, .detail_cnt_wrap {
	display:none;
}

.case_cnt_wrap.show, .detail_cnt_wrap.show {
	display:block;
}

.case_cnt_top {
	margin:0 20px;
}

.case_cnt_bottom p {
	white-space:normal !important;
}

.case_cnt_wrap ul li img {
	max-width:750px;
	max-height:480px;
    object-fit: contain;
	margin:0 auto;
}

#case p.case_ttl {
	margin-top:25px;
	margin-bottom:15px;
	font-size:15px;
	font-weight:bold;
}

#case p.case_txt {
	font-size:14px;
}

.biz_cp {
	max-width:1000px;
	margin:0 20px 20px;
	font-size:10px;
	text-align:right;
}

.contact {
	padding:40px 20px;
	background-color:#F5F6F8;
}

.contact ul {
	width:100%;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
}

.contact ul.flex-wrap {
	flex-wrap: wrap;
}

.contact ul.flex-wrap li:nth-of-type(3) a {
	padding:30px 15px 30px 10px;
	font-size:16px;
}

.contact ul.flex-wrap li:nth-of-type(3) a span {
	background-size:auto 30px;
}

.contact ul li {
	width:100%;
	max-width:320px;
}

.contact ul li + li {
	margin-top:20px;
}

.contact ul li a {
	width:100%;
	max-width:320px;
	padding:25px 40px;
	display:block;
	font-size:20px;
	text-align:center;
	background-color:#393939;
	background-image:url(../img/contact_arrow.png);
	background-repeat:no-repeat;
	background-size:auto 16px;
	background-position:center right 20px;
	border-radius:6px;
	color:#FFFFFF;
}

.contact ul li a:hover {
	text-decoration:none;
}

.contact ul li a span {
	padding:5px 0 5px 40px;
	display:inline-block;
	background-image:url(../img/faq_icon.png);
	background-repeat:no-repeat;
	background-size:auto 30px;
	background-position:center left;
}

.contact ul li a.icon_contact span {
	background-image:url(../img/contact_icon.png);
	background-size:auto 20px;
}

.contact ul li a.icon_pdf span {
	background-image:url(../img/pdf_icon.png);
	background-size:auto 20px;
}

.case_slider li .movie {
	padding-bottom: 0;
}

.lity-content {
	text-align:center;
}

.lity-content iframe {
	margin:auto !important;
    aspect-ratio: 16 / 9 !important;
	max-width:80% !important;
    height: auto !important;
}

.lity-close {
    display: block;
    margin: 20px auto 0;
    width: 40px;
    height: 40px;
    position: relative;
    background-image: url(../img/close2.png);
	background-size:cover;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}


/* --- footer --- */

footer {
	margin-top:auto;
	background-color:#FFFFFF;
}

#gototop {
	display:inline-block;
	position:fixed;
	bottom:10px;
	right:10px;
	z-index:99;
}

#gototop a {
	width:45px;
	display:inline-block;
}

.footer_logo {
	margin-top:40px;
}

.footer_logo img {
	max-height:50px;
	margin:0 auto;
}

.footer_menu a {
	color:#858585;
}

.footer_bottom {
	padding:15px;
	background-color:#212121;
	font-size:8px;
	text-align:center;
	color:#FFFFFF;
}

footer .notice {
	margin-bottom:6px;
}

ul.sns_share li {
    display:inline-block;
    vertical-align:middle;
}

ul.sns_share li:nth-of-type(1) {
	margin-bottom:15px;
    display:block;
	text-align:center;
	color:#767676;
}

ul.sns_share li:nth-of-type(2) {
    margin-left:4px !important;
}

ul.sns_share li + li {
    margin-left:30px;
}

/* Only SP */
@media only screen and (max-width: 800px) {


/* --- header --- */

.menu_sp {
	z-index:20000;
}

.menu_sp img {
	width:45px;
	margin-right:10px;
	padding:10px;
}

.menu_sp.open span {
	display: block;
	width: 0;
	height: 0;
	 overflow: hidden;
}

.menu_sp.open a {
	margin:10px 10px 0 0;
	width:40px;
	height:40px;
	display:block;
	background-image:url(../img/close.png);
	background-size:40px auto;
	background-repeat:no-repeat;
	background-position:top center;
	position:fixed;
	top:0;
	right:0;
}

header .overlay.open {
	width:100%;
	height:100vh;
	display:block;
	position:fixed;
	top:0;
	left:0;
	z-index:9999;
	background-color:#212121;
}

header .menu_wrap.open {
	width:100%;
	min-width:320px;
	display:block;
	position:fixed;
	top:0;
	left:0;
	right:0;
	bottom:0;
	z-index:10000;
	background-color:#212121;
	background-image:url(../img/menu_txt.png);
	background-size:85px auto;
	background-repeat:no-repeat;
	background-position:top center;
	position:fixed;
	top:45px;
	right:0;
	overflow-y:auto;
}

header .menu_wrap.open .menu {
	width:100%;
	margin-top:70px;
}

header .menu_wrap.open .menu li {
	margin:10px;
	display:block;
	background-color:#2C2C2C;
}

header .menu_wrap.open .menu li a {
	padding:20px 30px 20px 20px;
	display:block;
	color:#FFFFFF;
	background-image:url(../img/menu_arrow_sp.png);
	background-size:auto 20px;
	background-repeat:no-repeat;
	background-position:center right 15px;
	font-size:16px;
}

header .menu li a {
	background-size:22px auto;
	background-repeat:no-repeat;
	background-position:top 34px center;
}

header .menu li a:hover {
	text-decoration:none;
}

header .menu_wrap.open .menu_right {
	text-align:center;
	margin:30px 50px 30px;
}

header .menu_wrap.open .menu_right img {
	margin:0 auto;
}

.sns_share {
	text-align:center;
}


/* --- main --- */

#ip ul li {
	width:48.5%;
	margin-bottom:15px;
}

#ip ul li:nth-of-type(5), #ip ul li:nth-of-type(6) {
	margin-bottom:0;
}


#case_tab, #detail_tab {
	width:100%;
	padding:0;
    overflow-x:auto;
    white-space:nowrap;
    -webkit-overflow-scrolling: touch;
}

#case_tab li, #detail_tab li {
	flex-shrink:0;
}

.case_cnt_wrap ul, .detail_cnt_wrap ul {
	width:100%;
	padding:0 20px;
    overflow-x:auto;
    white-space:nowrap;
    -webkit-overflow-scrolling:touch;
}

.case_cnt_wrap ul li, .detail_cnt_wrap ul li {
	width:40%;
	flex-shrink:0;
}

.detail_cnt_wrap ul li + li {
	margin-left:20px;
}

#case p.case_ttl, #case p.case_txt {
}

.contact ul {
	-webkit-box-orient:vertical;
	-webkit-box-direction:normal;
	-ms-flex-direction:column;
	flex-direction:column;
}

.contact ul li {
	margin:0 auto;
	padding:0 20px;
}

.contact ul a {
	margin:auto;
}


.contact ul a {
	margin:auto;
}

/* --- footer --- */
	
.footer_menu {
	border-top:#E0E0E0 1px solid;
	border-bottom:#E0E0E0 1px solid;
}

.footer_menu li a {
	padding:20px;
	display:block;
	color:#6C6C6C;
	background-image:url(../img/footer_arrow_sp.png);
	background-size:auto 14px;
	background-repeat:no-repeat;
	background-position:center right 20px;
}

.footer_menu li + li {
	border-top:#E0E0E0 1px solid;
}

.footer_right .sns_share {
	margin:40px 0;
}

}



/* Only PC */
@media only screen and (min-width: 801px) {

/* --- common --- */

html {
	scroll-padding-top:90px;
}

a:hover, a:hover img {
	opacity:0.6;
}

.txt_u:hover {
	text-decoration:none !important;
}

.sp {
	display:none !important;
}

.sp_inline {
	display:none !important;
}

.pc {
	display:block !important;
}

.pc_inline {
	display:inline-block !important;
}

.pc_fixed {
	position:relative !important;
	top:auto !important;
	left:auto !important;
}

main.pc_fixed {
	margin-top:0 !important;
}

.sec_inner {
	max-width:1000px;
	margin:0 auto;
}

.lity-content iframe {
	max-width:none !important;
}



/* --- header --- */

header {
	height:90px;
	position:fixed;
	top:0;
	left:0;
	z-index:200;
	width:100%;
	-webkit-box-pack:start;
	-ms-flex-pack:start;
	justify-content:flex-start;
}

header .logo {
	width:auto;
	margin:0 40px 0 30px;
}

header .logo img {
	max-width:267px;
	max-height:55px;
}

header .menu_wrap {
	width:100%;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack:justify;
	-ms-flex-pack:justify;
	justify-content:space-between;
}

header .menu {
	margin:0;
	height:auto;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align:center;
	-ms-flex-align:center;
	align-items:center;
}

header .menu li + li {
	margin-left:30px;
}

header .menu li a {
	display:block;
	padding-left:13px;
	background-image:url(../img/menu_arrow.png);
	background-size:auto 8px;
	background-repeat:no-repeat;
	background-position:center left;
	font-size:16px;
}

header .menu li a:hover {
	text-decoration:none;
}

header .menu_right {
	margin-right:20px;
}

header .menu_right img {
	max-height:70px;
}

header .sns_share {
	display:none;
}


/* --- main --- */

main {
	margin-top:100px !important;
}

section h2 {
	font-size:36px;
	font-weight:bold;
	text-align:center;
	letter-spacing:5;
}

.slide-arrow {
	width:40px !important;
}

.slide-arrow:hover {
	opacity:0.6;
}

.main_page .next-arrow {
	margin-left:480px;
	left:50%;
}

.main_page .prev-arrow {
	margin-left:-520px;
	left:50%;
}

.case_cnt_wrap .slide-arrow {
	width:60px !important;
	margin-top:-30px;
	opacity:1;
}

.slide-arrow:hover {
	opacity:0.6;
}

.main_page .case_cnt_wrap .next-arrow {
	margin-left:0;
	right:0;
	left:auto;
}

.main_page .case_cnt_wrap .prev-arrow {
	margin-left:0;
	right:auto;
	left:0;
}

.slick-dots li{
	width:20px!important;
}

.slick-dots li button:before{
	font-size:12px!important;
}

.main_page .main_img .slick-slide:not(.slick-center) {
    -webkit-filter:brightness(0.3);
    -moz-filter:brightness(0.3);
    -ms-filter:brightness(0.3);
    filter:brightness(0.3);
    transition:0.2s linear;
}

.main_page.main_slider .slick-slide:not(.slick-center) a {
    pointer-events:none !important;
}

.main_page .main_img .slick-slide img {
	max-width:1000px !important;
	max-height:430px !important;
}

.main_img {
	width:100%;
	max-height:430px !important;
	position:relative;
}

.main_img img {
	width:100%;
	height:auto;
	display:block;
}

#about {
	padding:60px 20px;
}

#ip {
	background-image:url(../img/ip_bg.jpg);
}

#ip ul li {
	width:32%;
}

#ip ul li:nth-of-type(1), #ip ul li:nth-of-type(2), #ip ul li:nth-of-type(3) {
	margin-bottom:18px;
}

#case {
	padding:60px 0;
}

#case_tab li:hover, #detail_tab li:hover {
	opacity:0.6;
}

#case_tab li.active:hover, #detail_tab li.active:hover {
	opacity:1;
}

section h2 {
	margin-bottom:60px;
}

section h3 {
	margin:50px auto 30px;
	font-size:30px;
}

section h4 {
	margin:0 auto 15px;
	font-size:18px;
}

section h4 + p {
	margin-bottom:35px;
}

.case_cnt_top, .case_cnt_bottom {
	max-width:750px;
	margin:0 auto;
}


#about p {
	max-width:880px;
	margin:0 auto;
	font-size:19px;
	line-height:2.4;
}

#case p.case_ttl {
	margin-top:35px;
	margin-bottom:15px;
	font-size:16px;
}

#case p.case_txt {
	font-size:14px;
}

#case_tab {
	padding:0 10px;
	background-image:url(../img/border_tab.png), url(../img/border_tab.png);
	background-size:auto auto;
	background-repeat:no-repeat;
	background-position:left bottom, right bottom;
}

.case_cnt_wrap ul {
	-webkit-box-pack:justify;
	-ms-flex-pack:justify;
	justify-content:space-between;
}

.biz_cp {
	margin:0 auto 20px;
	font-size:12px;
}

.contact {
	padding:60px 20px;
}

.contact ul {
	-webkit-box-pack:center;
	-ms-flex-pack:center;
	justify-content:center;
}

.contact ul li + li {
	margin-top:0;
	margin-left:30px;
}

.contact ul.flex-wrap li:nth-of-type(3) {
	margin:30px 0 0 0;
	max-width:670px;
}

.contact ul.flex-wrap li:nth-of-type(3) a {
	max-width:670px;
	padding:30px 15px 30px 10px;
	font-size:20px;
}

.contact ul.flex-wrap li:nth-of-type(3) a span {
	background-size:auto 30px;
}


/* --- footer --- */

.footer_top .sec_inner {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align:center;
	-ms-flex-align:center;
	align-items:center;
}

#gototop {
    bottom:20px;
    right:20px;
}

.footer_logo {
    margin:30px 40px 30px 0;
}


.footer_menu {
	margin:0;
	height:auto;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align:center;
	-ms-flex-align:center;
	align-items:center;
}

.footer_menu li + li {
	margin-left:30px;
}

.footer_menu li a {
	display:block;
	padding-left:13px;
	background-image:url(../img/menu_arrow.png);
	background-size:auto 8px;
	background-repeat:no-repeat;
	background-position:center left;
	font-size:16px;
}

.footer_right {
	width:100%;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align:center;
	-ms-flex-align:center;
	align-items:center;
	-webkit-box-pack:justify;
	-ms-flex-pack:justify;
	justify-content:space-between;
}

.footer_right .footer_menu {
	-webkit-box-ordinal-group:1;
	-ms-flex-order:1;
	order:1;
}

.footer_right .sns_share {
	margin:0;
	-webkit-box-ordinal-group:2;
	-ms-flex-order:2;
	order:2;
}

.footer_right .sns_share li + li {
	margin-left:8px;
}

.footer_right .sns_share li img {
	max-height:26px;
}

ul.sns_share li:nth-of-type(1) {
	margin-bottom:6px;
	font-size:10px;
}


ul.sns_share li:nth-of-type(2) {
    margin-left:12px !important;
}


.footer_bottom {
	padding:10px;
	font-size:8px;
	text-align:center;
	color:#FFFFFF;
}

.footer_bottom .sec_inner {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align:center;
	-ms-flex-align:center;
	align-items:center;
	-webkit-box-pack:justify;
	-ms-flex-pack:justify;
	justify-content:space-between;
}


}


/* For adjust */
@media screen and (min-width: 801px) and (max-width: 1100px) {
	
header .logo {
    margin: 0 15px 0 15px;
}

header .logo img {
	max-width:none;
	max-height:40px;
}

header .menu {
	min-width:330px;
}

header .menu li + li {
	margin-left:5px;
}

header .menu_right img {
	min-width:247px;
	min-height:50px;
}


}