/***** base **********************************************************/
body {
    font-family: 'M PLUS Rounded 1c', sans-serif;
    background-image: url('../images/soramame_bg_1920.jpg');
    background-position: center;
    background-size: cover;
    background-repeat: repeat;
    color: #707070 !important;
    letter-spacing: 0.15em;
}

#insidebody{
	overflow:hidden;
}

.container-small {
    width: 80%;
    max-width: 1040px;
    margin-right: auto;
    margin-left: auto;
}

p {
    line-height: 2;
}

a {
    text-decoration: none !important;
}

ul {
    list-style-type: none;
}

/*header*/
.navbar {
    height:auto;
}

.navbar-brand img {
    height: 2.8rem;
}





.navbar a {
    color: #707070 !important;
    font-size: 1rem;
}

.navbar-expand-lg .navbar-nav .nav-link {
    padding: 0.75rem 1rem;
}

.navbar #headericon{
	font-size:2rem;
}

.navbar .headersmart{
	display:flex;
	align-items:center;
}

.navbar .headersmart a{
	display:block;
	margin-right:1.5rem;
}

.circle {
    position: relative;
    display: flex;
    justify-content: center;
}

.circle:hover::before {
    content: "●";
    color: #F8AE93;
    font-size: 0.5rem;
    position: absolute;
    top: 0%;
}

.circle:hover::after {
    content: "●";
    color: #F8AE93;
    font-size: 0.5rem;
    position: absolute;
    bottom: 0%;
}

.telephone {
    padding-left: 1rem;
}

/*footer*/
.footer-nav {
    color: #FFF;
    background-color: #4C80A2;
    padding-top: 2rem;
    padding-bottom: 5rem;
}

#sortup {
    text-align: center;
    margin-bottom: 3rem;
}

#sortup img {
    width: 4rem;
}

.footer-nav a {
    color: #FFF;
}

.footer-nav .nav a {
    display: block;
    padding-left: 0.5rem;
	line-height:1.8;
}

.footer-nav .nav a:hover {
    background-color: rgba(255,255,255,.3);
}

.footer-nav .copy {
    display: block;
    text-align: center;
    font-size: 0.8rem;
    margin-top: 6rem;
}

.footer-nav .nav p{
    text-align: left;
    font-size: 1.3rem;
    margin-bottom: 0.75rem;
	margin-top:2rem;
}

.footer-nav ul{
    font-size: 0.9rem;
    padding: 0;
}

/*googlemap*/
.ggmap {
    width: 100%;
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
    margin-top: 5rem;
}
     
.ggmap iframe,
.ggmap object,
.ggmap embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 80%;
}

/*maincontents*/
.maincontents h3{
    margin-top: 12.5rem;
	margin-bottom:1.5rem;
	font-size:1.5rem;
}

.maincontents p, .maincontents ol, .maincontents ul, .maincontents li, #activity time{
	font-size:0.875rem;
	line-height:2;
}

/***** top **********************************************************/








#top .whiteback{
    background-color:#FFF;
	border-radius: 50% 60% 70% 70%/30% 20% 40% 40%;
	margin:-0.01% -40% -20% -40%;
	padding:0.01% 40% 20% 40%;
}

#top .whitebackwrap{
	margin:120px 0 240px 0;
}

#top .imglist {
    padding: 0;
}

#top .imglist li {
    margin-bottom:2rem;
}

#top .imglist li:hover{
    background-image:linear-gradient(rgba(0,0,0,0.8),rgba(0,0,0,0.8));
    height:90%;
}

#top .imglist a {
    margin-bottom: 1.5rem;
    margin-left: auto;
    margin-right: auto;
    transition: background-color 0.5s ease;
    position:relative;
}

#top .imglist a img {
    width: 100%;
    transition: opacity 0.5s ease;
    opacity: 1;
} 

#top .imglist a:hover img {
    opacity: 0.5;
}

#top .imglist a:hover .imgtitle {
    opacity: 1;
    transform: scale(1.25, 1.25);
}

#top .imgtitle {
    font-size: 1.5rem;
    line-height: 1.2;
    text-align:center;
    color: #FFF;
    opacity: 0;
    position: absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    margin:auto;
    width:100%;
    height:100%;
    transition: opacity,transform 0.5s ease;
}

#top .imgtitlespan{
    display:inline-block;
    text-align:left;
}

/*#top .banner {
    background-image:linear-gradient(rgba(0,0,0,0.3),rgba(0,0,0,0.3));
	border:1px;
	min-height:64px;
}*/

/***** activity **********************************************************/

#activity .main_image {
    background-image: url('../images/gray_1920.jpg');
    background-position:35%;
    background-repeat: no-repeat;
    background-size: cover;
    height: 100vh;
	position:relative;
}

#activity .main_image_title{
	font-size:32px;
	position:absolute;
	right:5%;
	bottom:5%;
}

#activity .main_image_title_circle{
	display:inline-block;
	background-color:#FFF;
	opacity:0.7;
	border-radius:50%;
	width:64px;
	height:64px;
	text-align:center;
	line-height:64px;
}

#activity .allwhite{
    background-color: #FFF;
    margin:64px 0;
    padding:48px 16px;
}

#activity h3 {
    border-bottom: 1px dotted #707070;
    color: #707070;
	margin-top:0;
    margin-bottom:24px;
	font-size:1.5rem;
}

#activity img {
    
}

#activity .team-teshigoto {
    font-size: 1rem;
    padding-left: 2.875rem;
    padding-right: 2.875rem;
    padding-top: 0.5625rem;
    padding-bottom: 0.5625rem;
    display: inline;
    color: #FFF;
    background-color: #FA9068;
}

#activity .team-shugei {
    font-size: 1rem;
    padding-left: 2.875rem;
    padding-right: 2.875rem;
    padding-top: 0.5625rem;
    padding-bottom: 0.5625rem;
    display: inline;
    color: #FFF;
    background-color: #4C80A2;
}

#activity .team-farm {
    font-size: 1rem;
    padding-left: 2.875rem;
    padding-right: 2.875rem;
    padding-top: 0.5625rem;
    padding-bottom: 0.5625rem;
    display: inline;
    color: #FFF;
    background-color: #C0D458;
}

#activity .team-sorairo {
    font-size: 1rem;
    padding-left: 2.875rem;
    padding-right: 2.875rem;
    padding-top: 0.5625rem;
    padding-bottom: 0.5625rem;
    display: inline;
    color: #FFF;
    background-color: #4C80A2;
}

#activity .team-soramame {
    font-size: 1rem;
    padding-left: 2.875rem;
    padding-right: 2.875rem;
    padding-top: 0.5625rem;
    padding-bottom: 0.5625rem;
    display: inline;
    color: #FFF;
    background-color: #7EA1A1;
}

#activity .team-event {
    font-size: 1rem;
    padding-left: 2.875rem;
    padding-right: 2.875rem;
    padding-top: 0.5625rem;
    padding-bottom: 0.5625rem;
    display: inline;
    color: #FFF;
    background-color: #FA9068;
}

#activity time {
    display: block;
	margin:16px 0;
}

#activity .page-link {
    border-style: none;
}

#activity .active .page-link {
    background-color: #4C80A2;
}

/***** company **********************************************************/

#company .main_image{
    background-image: url('../images/sora_companyhero_1920.jpg');
    background-position:80%;
    background-repeat: no-repeat;
    background-size: cover;
    height: 100vh;
}

#company .allwhite{
    background-color: #FFF;
    margin:64px 0;
    padding:48px 16px;
}

#company h3{
	margin-top:0;
}

#company p.item{
	margin-top:16px;
	margin-bottom:0;
}


/*PCのレイアウト*/
@media screen and (min-width:768px) {
    /*googlemap*/
    .ggmap {
        margin-top: 2rem;
    }

    .ggmap iframe,
    .ggmap object,
    .ggmap embed {
        height: 90%;
    }
}

/*lg以上*/
@media (min-width: 992px){
    .navbar {
    	height: 96px;
	}
	#top .whiteback{
		background-color:#FFF;
		border-radius: 50% 50% 40% 40%/50% 50% 60% 50%;
		margin:-0.1% -10% -10% -10%;
		padding:0.1% 10% 10% 10%;
	}
	#top .whitebackwrap{
		margin:120px 0 240px 0;
	}
	
	/*activity*/
	#activity .allwhite{
		margin:120px 0;
		padding:120px 64px;
	}
	
	#activity .main_image_title{
		font-size:64px;
		position:absolute;
		right:5%;
		bottom:5%;
	}

	#activity .main_image_title_circle{
		width:128px;
		height:128px;
		line-height:128px;
	}
	
	#activity h3 {
		font-size:2rem;
	}
	
	#activity time {
		display: block;
		margin-bottom:24px;
		margin-top:-1px;
	}
	
	#activity .team-teshigoto, #activity .team-shugei, #activity .team-farm{
	
	}

	/*company*/
	#company .allwhite{
		margin:120px 0;
		padding:120px 64px;
	}

	#company p.item{
		margin-top:0;
	}
}

/*lgから1439px*/
@media (min-width: 992px) and (max-width: 1439px) {
	.container{
		max-width:1080px;
	}
	.navbar a {
        font-size: 1.03rem;
    }
    
	.navbar-brand img {
		height: 3rem;
	}
    
    .navbar-expand-lg .navbar-nav .nav-link {
        padding: 0.75rem 0.75rem;
    }
    
    .telephone {
        padding-left: 0.75rem;
    }
	
	.maincontents h3{
		margin-top: 15rem;
		margin-bottom:4rem;
		font-size:2rem;
	}

	.maincontents p, .maincontents ol, .maincontents ul, .maincontents li, #activity time{
		font-size:1rem;
		line-height:2;
	}

}

/*xl*/
@media (min-width: 1200px) {    
    #top .imglist {
        display: flex;
        justify-content: space-around;
    }
    
    #top .imglist li {
        width: 30%;
        margin-left: 0;
        margin-right: 0;
    }
}
/*1440px以上*/
@media (min-width: 1440px) {
    .container {
        max-width: 1440px;
    }
	.navbar-brand img {
		height: 4.125rem;
	}
	.navbar a {
        font-size: 1.5rem;
    }

	.maincontents h3{
		margin-bottom:5rem;
		font-size:3rem;
	}

	.maincontents p, .maincontents ol, .maincontents ul, .maincontents li, #activity time{
		font-size:1.25rem;
		line-height:2;
	}
}

/* slider */
.slider img{
	object-fit:cover;
	width:100%;
	height:100vh;
	margin: 0 auto;
	text-align:center;
}
.slider img.coverPositionRight{
	object-position:90% 50%;
}
.slider img.coverPositionLeft{
	object-position:20% 50%;
}

/* object-fit [IE_Edge] */
.objectFit{
	font-family:'object-fit: cover;'
}

/*control*/
.cwhiteback{
	background-color:#fff;
	padding:16px 32px;
	margin:32px 0;
	width:100%;
	height:auto;
}
.strongBtn{
	display:block;
	background-color:#4C80A2;
	padding:8px;
	margin:8px;
	text-align:center;
	color:#fff;
}

.normalBtn{
	display:block;
	padding:8px;
	margin:8px;
	text-align:center;
}

.btnGroup{
	display:flex;
	justify-content:flex-start;
}

.btnGroup input{
	display:inline-block;
	margin:0 16px;
}

.maincontents a{
	color:#707070;
}

.strongBtn a{
	color:#fff;
}

.controlUl li{
	padding:16px;
	font-size:110%;
}

.formGroup{
	margin:0 32px;
}

.imgFit{
	width:80%;
}




/***** activity archive 202005 **********************************************************/
#activity .allwhiteArchive{
    background-color:#FFF;
    margin:64px 0;
    padding:32px;
}

#activity .activityArchive p{
	margin:0;
	font-size:14px;
}
#activity .activityArchive .activityArchiveTitle{
	font-size:18px;
}
#activity .activityArchive .activityArchiveTitle2{
	font-size:18px;
	margin-top:32px;
}
#activity .activityArchive .activityArchiveInner{
	margin-left:16px;
}

#activity .activityArchive .activityArchiveInner > p:hover{
	text-decoration:underline;
}

@media(min-width:768px){
	#activity .activityArchive .activityArchiveInner{
		display:flex;
	}
	#activity .activityArchive .activityArchiveInner > p{
		margin-left:32px;
	}
}
