@charset "utf-8";


/* ----------------------------------------------------------------

 01. Base

----------------------------------------------------------------- */

html{
overflow-y:scroll;
font-size:75%;
}

body{ font-family:Arial, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;line-height:1.5; color:#333; font-size: 11pt; margin: 0; opacity: 0; }

img{
vertical-align:bottom;
}

h1,
h2,
h3,
h4,
h5,
h6{
margin:0;
font-size:1em;
}

p{
margin:0;
}

/*
ol,
*/
ul{
margin:0;
padding:0;
}

li{
list-style:none;
}

dl,
dd{
margin:0;
}

small{
font-size:100%;
}

a{
color:inherit;
text-decoration:inherit;
}


/* header
-------------------------------------------------- */
#top .header-logo {
	height: 110px;
	width:100%;
	background: #eeeef3;
}
#top .header-logo img {
    margin: 0 auto;
    padding-top: 20px;
    left: 0;
    right: 0;
    position: absolute;
    height: 56px;
    width: 277px;
}
#top header {
	display: block;
}
#top header .visual {
	margin:0;
	background-color:#333;
	text-align: center;
}
#top header .visual img {
	max-width: 100%;
	height: auto;
}

@media screen and (max-width: 767px) {
	#top .header-logo {
		height: 97px;
	}
}

/* slider
-------------------------------------------------- */

.single-item img {
    width: 100%;
}
.single-item :focus {
	outline: none;
}
.single-item__right {
    font-family: 'Avenir','ヒラギノ角ゴシック';
    position: absolute;
    font-size: 4.5vw;
    line-height: 1.1em;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    color: #fff;
    background: rgba(255, 101, 0, 0.9);
    padding: 2.3vw 2.5vw 1vw 2vw;
    right: 0;
    width: 41vw;
    opacity: .9;
}
.single-item__left {
    font-family: 'Avenir','ヒラギノ角ゴシック';
    position: absolute;
    font-size: 4.3vw;
    line-height: 1.1em;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    color: #fff;
    background: rgba(255, 101, 0, 0.9);
    padding: 2.56vw 0 1.3vw 3vw;
    right: 0;
    width: 41vw;
}
.single-item__right:before {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    margin: auto;
    left : -200px;
    width: 200px;
    height: 100%;
    background-image: url(../img/img_title_left.png);
    background-repeat: no-repeat;
    background-size: 100% 100%;
}
.single-item__left:before {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    margin: auto;
    right: -200px;
    width: 200px;
    height: 100%;
    background-image: url(../img/img_title_right.png);
    background-repeat: no-repeat;
    background-size: 100% 100%;
}
.single-item__right {
    right: 0;
}
.single-item__left {
    left: 0;
}
.single-item__subtitle {
	font-size: 1.5vw;
    font-weight: normal;
    letter-spacing: 0.3vw;
}
.slick-prev:before,
.slick-next:before {
    display: none;
}
.slick-next {
    right: 0;
}

@media screen and (max-width: 767px) {
	.single-item__right,
	.single-item__left {
			position: relative;
			width: initial;
			font-size: 2em;
			top: 50%;
			-webkit-transform: initial;
			transform: initial;
			padding: 20px 15px 15px;
			opacity:1;
		}
	.single-item__right:before,
	.single-item__left:before {
		display:none;
	}
	.single-item__subtitle {
		font-size: .4em;
		font-weight: normal;
		letter-spacing: 0.3vw;
	}
}

/* main
-------------------------------------------------- */
#top main h2 {
    text-align: center;
    color: #ff6600;
    font-size: 2.4em;
    margin-top: 80px;
    letter-spacing: .1em;
}

@media screen and (max-width: 767px) {
	#top main h2 {
		font-size: 1.3em;
		margin-top: 25px;
	}
}

/* content-service
-------------------------------------------------- */
.content-service {
	margin: auto;
	width: 1000px;
}
.content-service__box {
	display:flex;
	margin: 50px -10px 0;
}
.content-service__inner {
	width: calc(33.33% - 20px);
	border: 1px solid #bfbfbf;
	margin: 0 10px;
	display: flex;
	flex-direction: column;
	box-shadow: 0 2px 5px rgba(0,0,0,0.3);
}
.content-service__title {
    padding: 15px 10px;
    text-align: center;
    color: #fff;
    background: linear-gradient(#4e8fc0, #0d3661);
}
.content-service__image {
	padding: 15px;
	text-align: center;
    height: 118px;
    justify-content: space-around;
    align-items: center;
    display: flex;
}
.content-service__image img {
	width: 90%;
}
.content-service__title span {
	font-weight: bold;
}
.content-service__text {
	background: #eee;
	padding: 20px;
	flex-basis: 154px;
}

@media screen and (max-width: 767px) {
	.content-service {
		margin: auto;
		width: 100%;
		padding: 20px;
		box-sizing: border-box;
	}
	.content-service__box {
		display:block;
		margin-top: 20px;
	}
	.content-service__inner {
		width: calc(100% - 20px);
		margin-top: 20px;
	}
	.content-service__text {
		flex-basis: 0;
	}
}

/* content-press
-------------------------------------------------- */
.content-press {
	margin: auto;
	width: 1000px;
}

/* content-news
-------------------------------------------------- */
.content-press__list {
	margin-top: 50px;
}
.content-press__item {
 	display: flex;
 	align-items: baseline;
 	margin-top: 10px;
}
.content-press__day {
	color: #4c4c4c;
	margin-right: 40px;
	width: 110px;
}
.content-press__category {
    margin-right: 60px;
    padding: 5px 10px;
    background: #f60;
    color: #fff;
    font-size: 0.7em;
}
.content-press__link {
	flex-basis: 687px;
}
.content-press__link a {
	position:relative;
}
.content-press__link a[href$=".pdf"]:before {
 	content: "";
    position: absolute;
    width: 20px;
    height: 20px;
    left: 0;
    right: 0;
    margin-left: -20px;
    background-size: 20px;
    background-image: url(https://www.softfront.co.jp/wordpress/wp-content/themes/sfweb/img/pdf_icon_32.png);
    background-position: center;
    background-repeat: no-repeat;
}

@media print, screen and (min-width: 768px) {
	.content-press__link a:hover {
	    color: #ccc;
	    text-decoration: underline;
	}
}

@media screen and (max-width: 767px) {
	.content-press {
		width: 100%;
		padding: 0 20px;
		box-sizing: border-box;
	}
	.content-press__list {
		margin-top:20px;
	}
	.content-press__item {
 	    flex-wrap: wrap;
	}
	.content-press__day {
		margin-right: 20px;
		white-space: nowrap;
	}
	.content-press__category {
		margin-right: 0;
	}
	.content-press__link{
		margin-top: 5px;
		margin-left: 20px;
	}
}

/* content-association
-------------------------------------------------- */
.content-association {
	margin: auto;
	width: 1000px;
}
.content-association__box {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -10px;
}
.content-association__box a {
	width: calc(33% - 20px);
	text-align: center;
	margin: 50px 10px 0;
}
.content-association__box span {
	display: block;
	margin-top: 10px;
}

@media print, screen and (min-width: 768px) {
	.content-association__box img:hover {
	    opacity: .5;
	    transition: .3s;
	}
	.content-association__box span:hover {
		text-decoration: underline;
	}
}

@media screen and (max-width: 767px) {
	.content-association {
		width: 100%;
		padding: 0 20px;
		box-sizing:border-box;
	}
	.content-association__box a {
	    margin-top: 20px;
	}
	.content-association__box img {
		width: 100%;
	}
}


/* content-information
-------------------------------------------------- */
.content-information {
	margin: auto;
	width: 1000px;
}
.content-information__box {
	display: flex;
	margin: 50px -5px 0;
}
.content-information__box a {
	margin: 0 5px;
	width: 25%;
	text-align: center;
	border: 1px solid #7d7d7d;
	padding: 15px;
	box-shadow: 0 2px 4px rgba(0,0,0,0.3);
	position: relative;
	color: #333;
	text-decoration: none;
	font-weight: bold;
	transition: .3s;
}
.content-information__box span:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto -10px;
    box-sizing: border-box;
    width: 4px;
    height: 4px;
    border: 4px solid transparent;
    border-left: 4px solid #ff6600;
}
@media print, screen and (min-width: 768px) {
	.content-information__box a:hover {
		opacity: .5;
		transition: .3s;
	}
}

@media screen and (max-width: 767px) {
	.content-information {
		width: auto;
		padding: 0 20px;
		box-sizing: border-box;
	}
	.content-information__box {
		display: flex;
		flex-wrap: wrap;
		margin: 20px -5px 0;
		box-sizing: border-box;
	}
	.content-information__box a {
		width: 50%;
		margin: 0;
		padding: 10px 10px 10px 20px;
		box-sizing: border-box;
		margin: 5px;
		width: calc(50% - 10px);
		align-items: center;
		display: flex;
		text-align: initial;
	}
}

/* content-ir
-------------------------------------------------- */

.content-ir {
	margin: auto;
	width: 1000px;
}
.content-ir__box {
	display: flex;
	margin-top: 50px;
}
.content-ir__box01 {
	display: flex;
	flex-basis: 670px;
	margin: 0 -5px;
}
.content-ir__box01 a {
	border: 1px solid #7d7d7d;  
	padding: 5px 5px 0;  
	margin: 0 5px;
	box-shadow: 0 2px 4px rgba(0,0,0,0.3);
	text-align: center;
	color: #333333;
	text-decoration: none;
	transition: .3s;
    width: 150px;
}
.content-ir__box01 a img {
	width: 100%;
	position: relative;
}
.content-ir__box01 span {
	margin: 10px 0;
    display: inline-block;
    font-weight: bold;
    position: relative;
}
.content-ir__box01 span:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto -10px;
    box-sizing: border-box;
    width: 4px;
    height: 4px;
    border: 4px solid transparent;
    border-left: 4px solid #ff6600;
}
.content-ir__box02 {
	flex-basis: 310px;
	margin-left: 10px;
}
.content-ir__box02 a {
	display: block;
	border: 1px solid #7d7d7d;
	background: url(../img/ir-contact.jpg);
	background-size: cover;
	position: relative;
	box-shadow: 0 2px 4px rgba(0,0,0,0.3);
	height:144px;
    padding: 1px;
}
.content-ir__box02 span {
    background: rgba(236, 105, 65, .5);
    color: #fff;
    width: 100%;
    height: 45px;
    position: absolute;
    bottom: 0;
    padding:13px;
    box-sizing:border-box;
}

@media print, screen and (min-width: 768px) {
	.content-ir__box01 a:hover,
	.content-ir__box02 a:hover {
		opacity: .5;
		transition: .3s;
	}
}

@media screen and (max-width: 767px) {
	.content-ir {
		padding: 0 20px;
		width: auto;
	}
	.content-ir__box {
		display: flex;
		flex-wrap: wrap;
		margin-top: 20px;
	}
	.content-ir__box01 {
		display: flex;
		flex-wrap: wrap;
		margin: 0 -5px;
	}
	.content-ir__box01 a {
		width: calc(50% - 10px);
		box-sizing: border-box;
		margin: 10px 5px 0;
	}
	.content-ir__box01 span:before {
		content: "";
	    position: absolute;
	    top: 0;
	    bottom: 0;
	    margin: auto -10px;
	    box-sizing: border-box;
	    width: 4px;
	    height: 4px;
	    border: 4px solid transparent;
	    border-left: 4px solid #ff6600;
	}
	.content-ir__box02 {
		flex-basis: 100%;
		margin-left: 0;
		margin-top: 20px;
	}
	.content-ir__box02 a {
		height: 190px;
	}
}

/* footer
-------------------------------------------------- */
footer{
margin-top:80px;
padding-bottom:20px;
background-color:#fff;
}

footer .pageTop{
background-color:#eeeef3;
text-align:center;
}

footer .pageTop a{
display:inline-block;
height:27px;
font-size:10px;
background:url(https://www.softfront.co.jp/wordpress/wp-content/themes/sfweb/img/ico_arrow_02@2x.png) no-repeat 50% 100%;
background-size:24px 12px;
line-height:1;
margin-top: 20px;
}

footer li{
display:block;
padding:0 10px;
border-bottom:1px solid #f8f8f8;
font-size:13px;
}

footer li a{
display:block;
padding:12px 10px 12px 0;
background:url(../img/ico_arrow_03.png) no-repeat 100% 50%;
background-size:7px 18px;
}

footer .copyright{
margin-top:10px;
font-size:9px;
text-align:center;
}

@media (min-width: 492px) {
footer{
margin-top:30px;
}
}

@media (min-width:728px) {
footer{
padding-bottom:20px;
margin-top: 80px;
}

footer > div{
position:relative;
margin:0 auto;
max-width:1004px;
}

footer ul{
display:table;
margin:10px 0 0 10px;
}

footer li{
display:table-cell;
padding:0 20px 0 0;
border-bottom:none;
font-size:11px;
vertical-align:middle;
}

footer li a{
padding:0;
background:none;
}

footer .en a{
display:block;
padding:5px 20px 5px 25px;
background:#eeeef3 url(../img/ico_arrow_01@2x.png) no-repeat 13px 50%;
background-size:4px 7px;
border-radius:14px;
}

footer .copyright{
position:absolute;
top:15px;
right:10px;
margin-top:0;
font-size:10px;
}
}

@media (min-width:990px) {
footer ul{
margin-left:0;
}

footer li a:hover{
text-decoration:underline;
}

footer .en a:hover{
text-decoration:none;
background-color:transparent;
}

footer .copyright{
right:0;
}
}
