html{
	margin:0 auto !important;
}

h2{
  font-size: 30px;
}

/* ===========================================
                    header
============================================*/
header {
  position: fixed;    /* 画面上部に固定 */
  top: 0;             /* 一番上に配置 */
  left: 0;            /* 左端に配置 */
  width: 100%;        /* 横幅いっぱいにする */
  z-index: 1000;      /* 他の要素より手前に表示させる */
  background-color: #fff; /* 背景色（スクロール時に下の文字と重ならないため） */
}

header #description{
  padding: 5px 0;
  background-color: #DCDCDC;
}

header #description p{
  font-size: 12px;
}

header p{
  width: 1200px;
  margin: 0 auto;
  color: #969696;
}

header p.logo{
  width: 300px;
  float: left;
}

header p img{
  width: 80%;
  padding: 10px 0;
}

header .menu-content{
  width: 1200px;
  margin: 0 auto;
}

nav ul{
  width: 600px;
  float: right;
  padding: 40px 0 30px;
}

nav ul li{
  display: inline-block;
  color: #969696;
  padding: 0 20px;
}

/* ===========================================
                mainvisual
============================================*/
.mainvisual{
  height: 600px;
  background: url(../sfplus/assets/img/header.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  margin-top: 135px;
}


/* ==========================================
                    main
============================================*/

main{
  
}

.news{
  background-color: #1D2087;
}

.release{
  background-color: #000;
}

.media{
  background-color: #4D4D4D;
}


#contents-box .wrap{
  width: 1200px;
  margin: 30px auto;
  position: relative;
}

#contents-box .wrap h2{
  margin-top: 100px;
  text-align: center;
}

#contents-box .wrap .subttl{
  font-size: 14px;
  text-align: center;
}

#contents-box .wrap .news_list{
  width: 80%;
  margin: 30px auto;
}

#contents-box .wrap .news_list p{
  border-bottom: 1px solid #000;
  padding: 20px 0;
  font-size: 16px;
}

#contents-box .wrap .btn{
  width: 12%;
  float: right;
  padding: 5px;
  background-color: #000;
  color: #fff;
  text-align: center;
}

#contents-box .wrap .comment{
  width: 400px;
  position: absolute;
  right: 0;
  z-index: -1;
  padding: 35px;
}

#contents-box .wrap .comment img{
  width: 100%;
}

#contents-box .wrap .news_list p span{
  margin: 0 30px;
  padding: 5px 35px;
  color: #fff;
}


.possibility{
  background: url(../sfplus/assets/img/town_bg.jpg);
  background-size: cover;
  background-position: center;
  padding: 80px 0;
  margin-top: 200px;
}

.possibility p{
  color: #fff;
  text-align: center;
  font-size: 14px;
  line-height: 2;
}

.possibility .ttl{
  font-size: 40px;
  padding: 20px 0;
}

#service-box{
  width: 1200px;
  margin: 0 auto;
}

#service-box h2{
  margin-top: 100px;
  text-align: center;
}

#service-box .subttl{
  font-size: 14px;
  text-align: center;
}

#service-box .p_service{
  background: url(../sfplus/assets/img/performance_bg.jpg);
  background-size: cover;
  background-position: center;
  margin: 50px 0;
  padding: 50px 0;
}

#service-box .p_service p{
  width: 470px;
  margin-left: auto;
  margin-right: 0;
  padding: 20px 0;
  line-height: 2;
  text-align: center;
}

#service-box .p_service .ttl{
  font-size: 24px;
}

#service-box .p_service .txt {
    text-align: left;
    margin-left: auto;
    margin-right: 0;
    width: 470px;
}

#service-box .p_service .txt p{
    text-align: left;
    width: 50%;
    margin: 0 auto;
    padding: 0
}

#service-box .p_service .line{
  height: 100px;
  overflow: hidden;
}

#service-box .p_service .txt .detail_btn{
  width: 300px;
  margin-top: 20px;
  padding: 10px 0;
  border-radius: 50px;
  text-align: center;
  color: #fff;
  background-color: #1D2087;
}


#service-box .p_referral{

    background: url(../sfplus/assets/img/hospitality_bg.jpg);
  background-size: cover;
  background-position: center;
  margin: 50px 0;
  padding: 50px 0;
}

#service-box .p_referral p{
  width: 470px;
  margin-left: 0;
  margin-right: auto;
  padding: 20px 0;
  line-height: 2;
  text-align: center;
}

#service-box .p_referral .ttl{
  font-size: 24px;
}

#service-box .p_referral .txt {
    text-align: left;
    margin-left: 0;
    margin-right: auto;
    width: 470px;
}

#service-box .p_referral .txt p{
    text-align: left;
    width: 70%;
    margin: 0 auto;
    padding: 0
}

#service-box .p_referral .line{
  height: 100px;
  overflow: hidden;
}

#service-box .p_referral .txt .detail_btn{
  width: 300px;
  margin-top: 20px;
  padding: 10px 0;
  border-radius: 50px;
  text-align: center;
  color: #fff;
  background-color: #1D2087;
}

#service-box .r_outsourse{
  background: url(../sfplus/assets/img/team_bg.jpg);
  background-size: cover;
  background-position: center;
  margin: 50px 0;
  padding: 50px 0;
  position: relative;
}

#service-box .r_outsourse p{
  width: 500px;
  margin-left: auto;
  margin-right: 0;
  padding: 20px 0;
  line-height: 2;
  text-align: center;
}

#service-box .r_outsourse .ttl{
  font-size: 24px;
}

#service-box .r_outsourse .txt {
    text-align: left;
    margin-left: auto;
    margin-right: 0;
    width: 500px;
}

#service-box .r_outsourse .txt p{
    text-align: left;
    width: 50%;
    margin: 0 auto;
    padding: 0
}

#service-box .r_outsourse .line{
  height: 100px;
  overflow: hidden;
}

#service-box .r_outsourse .txt .detail_btn{
  width: 330px;
  margin-top: 20px;
  padding: 10px 0;
  border-radius: 50px;
  text-align: center;
  color: #fff;
  background-color: #1D2087;

}

#service-box .r_outsourse .comment{
    width: 800px;
    position: absolute;
    right: 0;
    z-index: -1;
    padding: 30px;
}

#service-box .r_outsourse .comment img{
  width: 100%;
}



#office-box{
  margin-top: 250px;
}

#office-box h2{
  margin-top: 100px;
  text-align: center;
}

#office-box .subttl{
  font-size: 14px;
  text-align: center;
}



#office-box .company_map{
  width: 1200px;
  margin: 0 auto;
  position: relative;
}

#office-box .company_map .tokyo{
  border-bottom: 1px solid #4D4D4D;
  padding: 30px 0;
}

#office-box .company_map .tokyo p{
  width: 40%;
  display: inline-block;
  vertical-align: top;
}


#office-box .company_map .fukuoka{
  padding: 30px 0;
}


#office-box .company_map .tokyo span,
#office-box .company_map .fukuoka span{
  font-size: 50px;
}

.gmnoprint span{
  font-size: 100%!important;
}

#office-box .company_map .fukuoka .place,
#office-box .company_map .tokyo .place {
    width: 48% !important;
    display: inline-block;
    vertical-align: bottom;
}

#office-box .company_map .tokyo .place p,
#office-box .company_map .fukuoka .place p{
  width: 49%;
  display: inline-block;
  vertical-align: bottom;
}

#office-box .company_map .tokyo .place p img,
#office-box .company_map .fukuoka .place p img{
  width: 30%;
}

#office-box .company_map .tokyo .place .tower img{
  width: 40%;
  margin: 0 0 -35px 50px;
}

#office-box .company_map .fukuoka .place .tower img{
  width: 35%;
  margin: 0 0 -35px 50px;
}

#office-box .company_map .tokyo .map,
#office-box .company_map .fukuoka .map{
  width: 45%;
  display: inline-block;
  vertical-align: bottom;
  padding: 0 30px;
}

#office-box .company_map .tokyo .map #tokyo_map,
#office-box .company_map .fukuoka .map #fukuoka_map {
width: 100%;
height: 400px;
}

#office-box .company_map .tokyo .map p,
#office-box .company_map .fukuoka .map p{
  width: 100%;
  display: inline-block;
  vertical-align: top;
}

#office-box .company_map .tokyo .map img,
#office-box .company_map .fukuoka .map img{
  width: 100%;
}

#office-box .company_map .comment{
  width: 700px;
  position: absolute;
  bottom: -12%;
  right: 0;
  z-index: -1;
  padding: 15px;
}

#office-box .company_map .comment img{
  width: 100%;
}

#contact-box{
  margin-top: 200px;
}

#contact-box h2{
  margin-top: 100px;
  text-align: center;
}

#contact-box .subttl{
  font-size: 14px;
  text-align: center;
}

#contact-box div {
  width: 1200px;
  margin: 50px auto;
  text-align: center;
}

#contact-box div p{
  width: 100%;
  line-height: 2;
}

#contact-box div .c_info{
  text-align: right;
  padding: 20px;
}

#contact-box div p img{
  width: 30%;
}



footer{
  width: 100%;
  background: url(../sfplus/assets/img/contact_bg.jpg);
  padding: 30px 0;
}

.footer_menu{
  width: 850px;
  margin: 0 auto;
  padding: 30px 0;
  border-bottom: 1px solid #fff;
}

.footer_menu ul{
  width: 780px;
  margin: 0 auto;
}

.footer_menu ul li{
  width: 190px;
  display: inline-block;
  vertical-align: top;
  line-height: 2;
  color: #fff;
  font-size: 13px;
}

.footer_menu ul li:nth-child(2){
  width: 250px;
}

.footer_menu ul li:nth-child(4){
  width: 130px;
}

.footer_menu ul .md{
  font-size: 16px;
}

.copyright{
  width: 850px;
  margin: 0 auto;
  padding: 30px 0;
}

.copyright div{
  width: 45%;
  display: inline-block;
  vertical-align: top;
} 

.copyright div.social{
    width: 53%;
    margin-left: auto;
    margin-right: 0;
    display: inline-block;
    text-align: right;
    padding: 20px 0;
}

.copyright #f_logo img{
  width: 50%;
}

.copyright div p{
  width: 10%;
  display: inline-block;
  vertical-align: middle;
  font-size: 10px;
}

.copyright div p:nth-child(3){
  width: 25%;
  color: #fff;
}

.copyright div p img{
  width: 50%;
}


@media screen and (min-width:768px) and (max-width:1200px){

#contents-box .wrap{
  width: 100%;
}

#service-box{
  width: 100%;
}

#service-box .p_service{
  background-position: right;
}

#service-box .p_referral{
  background-position: left;
}

#service-box .r_outsourse{
  background-position: right;
}

#office-box .company_map{
  width: 100%;
}

#contact-box div{
  width: 100%;
}

#office-box .company_map .tokyo .place, 
#office-box .company_map .fukuoka .place{
  width: 48%;
}

#office-box .company_map .tokyo span, 
#office-box .company_map .fukuoka span{
  font-size: 42px;
}

}


@media screen and (max-width:767px){


header p{
  width: 95%;
}

header #description p{
  font-size: 10px;
}

header p.logo{
  width: 60%;
}

header p.logo img{
  width: 100%;
  padding: 5% 3%;
}

header .menu-content{
  width: 100%;
}

nav ul{
  width: 65%;
}

.mainvisual{
  height: 50vw;
  background-position: center;
}

#contents-box .wrap{
  width: 100%;
}

#contents-box .wrap h2{
  margin-top: 10%;
}

#contents-box .wrap .news_list p{
  line-height: 2;
  padding: 5% 3%;
  font-size: 12px;
}

#contents-box .wrap .btn{
  width: 25%;
  padding: 5%;
}

#contents-box .wrap .comment{
  width: 45%;
  bottom: -25%;
}


#contents-box .wrap .news_list p span{
  margin: 0 10px;

}

#service-box{
  width: 100%;
}

#service-box h2{
  margin-top: 20%;
}

#service-box .sp_bg{
  width: 100%;
  margin-top: 5%;
}

#service-box .sp_bg p{
  line-height: 0;
}

#service-box .sp_bg img{
  width: 100%;
}

#service-box .p_service,
#service-box .p_referral,
#service-box .r_outsourse{
  background: url(../sfplus/assets/img/sp_bg.jpg);
      background-size: cover;
    background-position: center;
    margin: 0;
}

#service-box .p_service p,
#service-box .p_referral p,
#service-box .r_outsourse p{
  width: 80%;
      margin-left: auto;
    margin-right: auto;
    padding: 0;
}

#service-box .p_service .txt,
#service-box .p_referral .txt,
#service-box .r_outsourse .txt {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    padding: 5% 0;
}


#service-box .p_service .txt p,
#service-box .p_referral .txt p{
  width: 90%;
}


#service-box .r_outsourse .txt p{
  width: 100%;
}

.possibility{
  margin-top: 20%;
}

.possibility .ttl{
  font-size: 20px;
  padding :3%;
}

.possibility p{
  padding: 3%;
  font-size: 12px;
}

#service-box .p_service .txt .detail_btn{
  width: 70%;
}

#service-box .p_referral p{
  width: 80%;
}

#service-box .p_referral .txt {
    width: 80%;
}
#service-box .p_service .txt .detail_btn,
#service-box .p_referral .txt .detail_btn{
  width: 70%;
}
#service-box .r_outsourse p{
  width: 80%;
}

#service-box .p_service .line,
#service-box .p_referral .line,
#service-box .r_outsourse .line{
  height: 70px;
}

#service-box .r_outsourse .txt {
    width: 80%;
}

#service-box .r_outsourse .txt .detail_btn{
  width: 70%;

}

#service-box .r_outsourse .comment{
    width: 90%;
}

#office-box{
  margin-top: 30%;
}

#office-box .company_map{
  width: 100%;
}

#office-box .company_map .comment{
  width: 80%;
  bottom: 0;
}

#office-box .company_map .tokyo .place, 
#office-box .company_map .fukuoka .place{
  width: 100%;
}

#office-box .company_map .tokyo .map, 
#office-box .company_map .fukuoka .map{
  width: 90%;
  display: block;
  margin: 10% auto;
  padding: 0;
}

#office-box .company_map .tokyo .place p, 
#office-box .company_map .fukuoka .place p{
  width: 45%;
}

#office-box .company_map .tokyo span, 
#office-box .company_map .fukuoka span{
  font-size: 30px;
}

#contact-box{
  margin-top: 10%;
}

#contact-box div {
  width: 100%;
}

#contact-box div p{
  width: 90%;
  margin: 0 auto;
  padding: 0;
  text-align: center;
  display: block;
}

#contact-box div p img{
  width: 60%;
}

#contact-box div .c_info{
  text-align: center;
  font-size: 12px;
}

footer{
  padding: 0;
}

.footer_menu{
  width: 95%;
  margin: 5% auto;
}

.footer_menu ul{
  width: 95%;
}

.footer_menu ul li{
  width: 22%;
  font-size: 10px;
}

.footer_menu ul li:nth-child(2){
  width: 25%;
  margin-right: 2.2%;
}

.footer_menu ul li:nth-child(4){
  width: 22%;
}

.footer_menu ul .md{
  font-size: 13px;
}



.copyright{
  width: 80%;
  padding: 5% 0 3%;
}

.copyright div{
  width: 80%;
  display: block;
  margin: 0 auto;
  text-align: center;
}

.copyright div.social{
  width: 100%;
  margin: 0 auto;
  display: inline-block;
  text-align: center;
  padding: 20px 0;
}

.copyright #f_logo img{
  width: 80%;
}

.copyright div p {
  width: 20%;
}

.copyright div p:nth-child(3){
  width: 35%;
}

}


@media screen and (max-width:375px){
.footer_menu{
  width: 100%;
  margin: 5% auto;
}

.footer_menu ul{
  width: 98%;
}

.footer_menu ul li{
  width: 20%;
  font-size: 10px;
}

.footer_menu ul li:nth-child(2){
  width: 26%;
  margin-right: 2.2%;
}

.footer_menu ul li:nth-child(4){
  width: 26%;
}
}

.service-mainvisual, #service-box, .service-content {
    width: 100% !important;
    max-width: 100vw !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* サービスページのレイアウト崩れを強制的に直す設定 */
.sb-service, .service-content {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important; /* 枠線を含めて100%に収める */
}

/* ページ全体の横揺れを物理的にカットする */
html, body {
    overflow-x: hidden !important;
}