@charset "utf-8";
/* CSS Document */

/*---------------------------
font 要素
-------------------------------*/
.LoewNext {
    font-family: 'Loew Next';
	font-weight: 700;
}

h1 {
	font-size: 35px;
	width: 100%;
	font-weight: 700;
	margin-bottom: 0.5em;
	line-height: ;
}

h2 {
	font-size: 25px !important;
	font-weight: 700;
	margin-bottom: 1em
}

h2 span {
	font-size: 16px;
    font-family: 'Loew Next';
	color: #BAE3FA;
	display: block;
	
}

h3 {
	text-align: center;
}

/*---------------------------
footer 要素
-------------------------------*/
.go-contact {
	width:auto;
	height: 450px;
	background: url(../images/footer_contact.png)  no-repeat 0 / cover;
	background-position: 50% 50%;
　position: relative;
}

.go-contact::before {
　width:100%;
　height:100%;
　z-index: 0;
　content: “”;
　display: block;
　position: absolute;
　top: 0;
　left: 0;
　background-color: rgba(0,0,0,0.5);
}

.contact-box {
	width: fit-content;
　height:92px;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
　display: flex;
　justify-content: center;
　align-items: center;
　color: #141212;
	background-color: rgba(255,255,255,0.6);
　text-align: center;
　padding: 2rem;
}

@media screen and (max-width: 650px) {
.contact-box {
	width: 80%;
	}
}
.contact-box p {
    text-align: center;
	margin: 1em 3rem;
	font-size: 22px;
	font-weight: 700;
	
}

.contact-box p span {
	color: #fff;
	display: block;
	font-size: 14px;
}


.contact-box p a {
	color: #000;
}



@media screen and (max-width: 900px) {
	.contact-info {
		height: 300px;
	}
}


/*---------------------------
index 要素
-------------------------------*/

.bg-primary {
    margin-bottom: 200px;
}

.ftco-section img {
	width: 100px;
}

.index-service-box {
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
	border-radius: 8px;
	padding: 2em 1em;
	height: 100%;
}


h3.heading {
	font-size: 18px;
	font-weight: 700;
}
.index-service-img {
	width: 100%;
	text-align: center;
}

.index-service-img  img {
	width: 83px;
	margin: 20px auto;
}

.index-service-txt {
	font-size: 14px;
}

/*---------------------------
about 要素
-------------------------------*/
.about-box {
  display: flex;
  justify-content: space-between;
	align-items: center;
  max-width: 1000px;
  padding: 40px;
  margin: auto;	
}

.about-box-left  {
  width: 48%;
	position: relative;
}


.about-ttl {
    border-bottom: 1px #3C3C3C solid;
    font-weight: 600;
    font-size: 1.1em;
    color: #3C3C3C;
    margin-bottom: 20px;
    padding-bottom: 20px;
    position: relative;
    z-index: 10;
}

.about-en {
    font-family: 'Loew Next';
	position: absolute;
	color: #EBF8FF;
	font-weight: 500;
	font-size: 65px;
	left: 0;
	top:0;
	z-index: -1;
    transform: translate(0, -37%);
}

.about-en.__white {
	color: #fff !important;
}

.about-ttl span {
	color: #6CCAFF;
	display: block;
	font-weight: 700;
	font-size: 0.8em
}

.about-box img{
  width: 100%;
  height: auto;
}
.about-box.reverse{
  flex-direction: row-reverse;
}

.about-box .column{
  width: 48%;
}

/*右側へ要素を広げる（2カラム）*/
.about-box .column-outside-right{
    flex: 1;
    margin-right: calc(50% - 50vw);
    margin-left: 0%;
}

/*左側へ要素を広げる（2カラム）*/
.about-box .column-outside-left{
    flex: 1;
    margin-left: calc(50% - 50vw);
    margin-right: 0%;
}


.about-box.__mission .about-en {
    transform: translate(15px, -37%);
}

.about-box.__mission .about-ttl,
.about-box.__mission .about-txt {
	padding-left: 1em
}



/*-----代表挨拶要素------*/
.message {
  background: linear-gradient(90deg,#E1F2FB 0%, #E1F2FB 70%, #fff 70%, #fff 100%);
	padding: 100px 0;
	margin-bottom: 100px
}

.msg-ttl-area {
	position: relative;
}

.about-msg-area {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.msg-img-area {
	width: 40%;
}

.msg-img-area img {
	width: 100%;
	height: 315px;
	object-fit: cover;
}


.msg-area {
	width: 58%
}

.msg-area .name {
	text-align: right;
	font-size: 0.8em
}



/*-----会社概要要素------*/
.profile {
	margin-bottom: 100px;
}

.profile .about-box {
	align-items: flex-start;
}

.about-box .column2 {
  width:70%;
}

/*右側へ要素を広げる（2カラム）*/
.about-box .column2-outside-right{
    flex: 1;
    margin-right: calc(50% - 50vw);
    margin-left: 0%;
}


.company-overview {
	width: 90%;
	margin-right: auto;
}

.company-overview .item {
  padding: 24px 0;
  border-bottom: 1px solid #ddd;
}


@media screen and (min-width: 560px) {
  .company-overview .item {
    display: grid;
    /*項目名：名称の横幅比率*/
    grid-template-columns: 1fr 5fr;
    /*項目名：名称の間の余白*/
    column-gap: 32px;
    -webkit-column-gap: 32px;
    -moz-column-gap: 32px;
  }
}










/*----------------------------
scroll_up ｜下から上へ出現
----------------------------*/
.scroll_up {
  transition: 0.8s ease-in-out;
  transform: translateY(30px);
  opacity: 0;
}
.scroll_up.on {
  transform: translateY(0);
  opacity: 1.0;
}

/*----------------------------
scroll_left ｜左から出現
----------------------------*/
.scroll_left {
    -webkit-transition: 0.8s ease-in-out;
    -moz-transition: 0.8s ease-in-out;
    -o-transition: 0.8s ease-in-out;
    transition: 0.8s ease-in-out;
    transform: translateX(-30px);
    opacity: 0;
    filter: alpha(opacity=0);
    -moz-opacity: 0;
}
.scroll_left.on {
    opacity: 1.0;
    filter: alpha(opacity=100);
    -moz-opacity: 1.0;
    transform: translateX(0);
}

/*----------------------------
scroll_right ｜右から出現
----------------------------*/
.scroll_right {
    -webkit-transition: 0.8s ease-in-out;
    -moz-transition: 0.8s ease-in-out;
    -o-transition: 0.8s ease-in-out;
    transition: 0.8s ease-in-out;
    transform: translateX(30px);
    opacity: 0;
    filter: alpha(opacity=0);
    -moz-opacity: 0;
}
.scroll_right.on {
    opacity: 1.0;
    filter: alpha(opacity=100);
    -moz-opacity: 1.0;
    transform: translateX(0);
}
