@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Cabin:ital,wght@0,400..700;1,400..700&family=Cormorant+Garamond:ital,wght@0,300..700;1,300..700&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Murecho:wght@100..900&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');


html, body {
	/*font-family: "Noto Serif JP","游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;*/
	color: #130D59;
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif, sans-serif;
	letter-spacing: 1px;
}
body {
	font-size: 1rem;/*14px*/
	line-height: 1.6;
	background-color: #fff;
}

@media only screen and (max-width: 759px) {
		body {
		font-size: 0.857rem;/*12px*/
		line-height: 1.4;
	}
}

@media only screen and (max-width: 758px) {
	.for_pc{
		display: none;
	}	
}
@media only screen and (min-width: 759px) {
	.for_sp{
		display: none;
	}
}


/*-----MAINVISUAL------------------------------*/

.mainvisual {
	position: relative;
	height: 100vh;
	background: url("../img/bg_mainvisual.jpg") no-repeat center center;
	background-size: cover;
}
.mainvisual .maincopy {
	position: absolute;
    bottom: 20%;
    left: 10%;
    width: 850px;
    z-index: 10;
	color: #fff;
	
  /* アニメーションの定義 */
  animation: slideInAndStop 3s forwards; /* 5秒かけてアニメーションし、終了状態で停止 */

}
@keyframes slideInAndStop {
  0% {
    transform: translateX(50%); /* 開始時：右端から完全に外れた位置の場合は100% */
  }
  80% {
    transform: translateX(0); /* 80%の時点で最終位置（左から0%）に到達 */
  }
  100% {
    transform: translateX(0); /* 100%の時点でも最終位置で停止 */
  }
}



.mainvisual .maincopy h2 {
	font-family: "Noto Serif JP";
	font-weight: 500;
	font-size: 5.7rem;	
}
.mainvisual .maincopy .subcopy{
	font-family: "Noto Serif JP";
	padding: 1em 0 0 1em;
    font-size: 2.3rem;
    border-top: #fff 1px solid;	
}




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

.mainvisual {
	height: 100vh;
	background: url("../img/bg_mainvisual.jpg") no-repeat center center;
}
.mainvisual .maincopy {
	bottom: 32%;
    width: 95%;
	/*left: 50%;*/
	left: 2%;
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
.mainvisual .maincopy h2 {
	font-size: 2.7rem;
	text-align: center;
}
.mainvisual .maincopy .subcopy{
	padding: 1em 0 0 2em;
    font-size: 1.3rem;
}
}


/*.mainvisual .video-wrapper{
	position: relative;
	height: 100vh;
	width: 100%;
}

.mainvisual .video-wrapper video {
	width: 100%;
 	height: 100%;
	-o-object-fit: cover;
    	object-fit: cover;
	-o-object-position: center;
    	object-position: center;
}

.video-wrapper div.catch-copy {
	position: absolute;
	bottom: 20%;
    left: 10%;
    width: 850px;
    z-index: 10;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
  text-align: center;
  font-size: calc(22px + 4vw);
  text-shadow: 1px 1px 20px #000;
  color: #fff;
  margin: auto;
}
.video-wrapper div.catch-copy h2 {
    font-family: "Noto Serif JP";
    font-weight: 500;
    font-size: 5.7rem;
}
.video-wrapper div.catch-copy p {
font-family: "Noto Serif JP";
    padding: 1em 0 0 1em;
    font-size: 2.3rem;
    border-top: #fff 1px solid;
}
@media only screen and (max-width: 759.9px) {
	
.video-wrapper div.catch-copy {
	position: absolute;
	top: 50%;
    bottom: 50%;
    left: 10px;
    width: 90%;
    z-index: 10;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
  text-align: center;
  font-size: calc(22px + 4vw);
  text-shadow: 1px 1px 20px #000;
  color: #fff;
  margin: auto;
}
.video-wrapper div.catch-copy h2 {
    font-size: 2.5rem;
}
.video-wrapper div.catch-copy p {
    padding: 1em 0 0 1em;
    font-size: 1.3rem;
    text-align: left;
}
}
*/

/*-----HEADER------------------------------*/

.headerBlock{
	z-index: 10;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: auto;
}

header h1 img{
	width: 100%;
}
header ul {
	margin: 0;
	display: flex;
	justify-content: center;
	align-items: flex-end;
}
header ul li {
	margin: 0 0 0 10px;
	font-size: 1rem;
}
header ul li a {
position: relative;
}
header ul li a::after {
	text-decoration: none;
	position: absolute;
	left: 0;
	content: '';
	width: 100%;
	height: 2px;
	background: #fff;
	bottom: -1px;             
	transform: scale(0, 1);     
	transform-origin: left top; 
	transition: transform 0.4s; 
}
header ul li a:hover::after {
	transform: scale(1, 1); 
}

ul.c-iconList {
    display: flex;
    flex-wrap: wrap;
}
ul.c-iconList li {
	margin: 0 0.8em!important;
}

@media only screen and (max-width: 759px) {
.headerBlock{
	height: auto;
}

header ul li {
	margin: 0;	
    border-bottom: 1px solid #fff;	
	padding-top: 1em;
    width: 100%;
    text-align: center;
	
}
/*header ul li:last-child {
	border-bottom: 1px solid #000;
}*/

	
header ul li {
	margin: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
    padding: 0.5em 0;
	font-size: 1.5rem;
}
header ul li a::after {
	height: 0;
	background: none;
}

header ul li:last-child {
    border-bottom: none;
}
header ul.header li {
	width: 45%;
}
}

/*------ハンバーガー--------------*/

.c-header {
  align-items: center;
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  padding: 1rem 2rem;
  width: 100%;
}
.c-header__logo { }
.c-header__list {
  box-sizing: border-box;
  display: flex;
  margin: 0;
  padding: 0;
}
.c-header__list-item {
  list-style: none;
  text-decoration: none;
}
.c-header__list-link {
  color: #fff;
  display: block;
  margin-right: 20px;
  text-decoration: none;
  padding: 10px 0px;
}
.c-header__list-link:hover {
  filter: opacity(0.6);
}
.c-hamburger-menu { position: relative; }

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

.c-header {
	padding: 0.5rem 1rem;
	width: 100%;
}
.c-header__logo img { max-width: 50%; }
.c-hamburger-menu__list {
    background: #408DB5;
    align-items: center;
    display: flex;
    flex-direction: column;
    left: 0;
    padding: 2rem;
    position: absolute;
    transform: translateX(-100%);
    transition: 0.3s;
    top: 100%;
    width: 100%;
	height: 80vh;
  }
  #hamburger:checked ~ .c-hamburger-menu__list {
    transform: translateX(0%);
    transition: 0.3s;
	z-index:999;
  }
	
.c-header__list-link {
  color: #fff;
  display: block;
  margin-right: 0;
  /*margin-right: 20px;*/
  text-decoration: none;
  padding: 10px 0px;
}
}

.c-hamburger-menu__input {
  display: none;
}
.c-hamburger-menu__bg {
  background: #fff;
  cursor: pointer;
  display: none;
  height: 100vh;
  left: 0;
  opacity: 0.4;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}
#hamburger:checked ~ .c-hamburger-menu__bg {
  display: block;
}
.c-hamburger-menu__button { display: none; }

@media screen and (max-width: 759px) {
  .c-hamburger-menu__button {
    align-items: center;
    appearance: none;
    background-color: transparent;
    border: none;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 5px;
    height: 32px;
    justify-content: center;
    width: 32px;
  }
}
.c-hamburger-menu__button-mark {
    background-color: #fff;
    display: block;
    height: 1px;
    transition: 0.3s;
    width: 20px;
}
@media screen and (max-width: 759px) {
  #hamburger:checked
    ~ .c-hamburger-menu__button
    .c-hamburger-menu__button-mark:nth-of-type(1) {
    transform: translate(2px, 1px) rotate(45deg);
    transform-origin: 0%;
  }
  #hamburger:checked
    ~ .c-hamburger-menu__button
    .c-hamburger-menu__button-mark:nth-of-type(2) {
    opacity: 0;
  }
  #hamburger:checked
    ~ .c-hamburger-menu__button
    .c-hamburger-menu__button-mark:nth-of-type(3) {
    transform: translate(2px, 3px) rotate(-45deg);
    transform-origin: 0%;
  }
}







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

#container{
	min-width: 100%; 
    background-color: transparent; 
	overflow: hidden;
}

/*---introduce-----------------------------*/

#introduce{
	background: url("../img/bg_introduce.jpg") no-repeat center right;
	background-size: cover;
	height: 100vh;
	margin: 0;
}
#introduce .intro_block{
	position: relative;
	background: url("../img/introduce_en.png") no-repeat bottom left;
	background-position: 0 95%;
	width: 1300px;
	height: 100vh;
	margin: 0 auto;
}
#introduce .intro_wrap{
	font-family: "Noto Serif JP";
	position: absolute;
	top: 20%;
    left: 5%;
}
#introduce .intro {
    margin-bottom: 7em;
}
#introduce .intro h2.copy { 
	font-size: 2.9rem; 
	font-weight: 500;
    padding-bottom: 0.3em;
}
#introduce .intro h2.copy02{ 
	font-size: 2.9rem;
	font-weight: 500;
	padding-left: 3.5em
}
#introduce .intro h2.copy02 span{
	display: inline-block;
    background: #130d59;
    padding: 0em 0.2em;
    font-size: 3.4rem;
    color: #fff;
    margin: 0 0.2em;
}
#introduce .intro_wrap .copy03{
	padding-left: 2em;
    font-size: 30px;
    font-weight: 600;
    line-height: 1.8;
}
@media only screen and (max-width: 759px) {
#introduce{
	background: url("../img/bg_introduce_sp.png") no-repeat bottom right;
	background-size: auto;
	height: 64vh;
	margin: 0;
}
#introduce .intro_block{
	background: url("../img/introduce_en.png") no-repeat bottom left;
	background-position: 0 100%;
	background-size: 100%;
	width: 90%;
	height: 300px;
}
#introduce .intro_wrap{
	top: 15%;
    left: 0;
    letter-spacing: 0;
}
#introduce .intro {
    margin-bottom: 1em;
}
#introduce .intro h2.copy { 
	font-size: 1.8rem; 
    padding-bottom: 0.3em;
}
#introduce .intro h2.copy02{ 
	font-size: 1.8rem;
	padding-left: 0;
}
#introduce .intro h2.copy02 span{
    padding: 0em 0.1em;
    font-size: 1.8rem;
    margin: 0 0.1em;
}
#introduce .intro_wrap .copy03{
	padding-left: 0;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.7;
}
}

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

#solution{
	background: #000;
	height: 100vh;
	margin: 0;
	color: #fff;
}
#solution .solution_title{
	width: 1300px;
	margin: 0 auto;
	padding: 4em 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#solution .solution_title .solution_title_wrap{}
#solution .solution_title .solution_title_wrap h2{ 
	font-size: 3.8rem;
	font-family: "Cormorant Garamond", serif;
    font-weight: 500;
    letter-spacing: 5px;
    margin-bottom: -20px;
}
#solution .solution_title .solution_title_wrap p{ font-size: 1rem; }
#solution .solution_title .btn img{ width: 100%; }

#solution .solution_block {
	background: url("../img/bg_solution.jpg") no-repeat center center;
	background-size: cover;
	height: 100vh;
	margin: 0;
}
#solution .solution_wrap{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 1300px;
    margin: auto;
	padding: 5em 0;
}
#solution .solution_wrap .item01,#solution .solution_wrap .item02{ width: 38%; }
#solution .solution_wrap .num{
	font-size: 5rem;
	font-family: "Noto Serif JP";
}
#solution ul.so_col02{
    display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
    text-align: left;
	margin-bottom: 2em;
}
#solution .solution_wrap ul.so_col02 li:nth-child(odd){ width: 30%; }
#solution .solution_wrap ul.so_col02 li:nth-child(even) { 
	width: 68%; 
	font-family: "Noto Sans JP";
	font-size: 1.9rem;
    font-weight: bold;
}
#solution .solution_wrap .item01 p,#solution .solution_wrap .item02 p{ 
	font-family: "Noto Sans JP";
	font-size: 1.1rem;
}
#solution .solution_wrap .itembtn{
	text-align: center;
    margin-top: 2em;
} 
@media only screen and (max-width: 759px) {
#solution{
	height: auto;
}
#solution .solution_title{
	width: 90%;
	padding: 3em 0;
}
#solution .solution_title .solution_title_wrap{}
#solution .solution_title .solution_title_wrap h2{ 
	font-size: 2.1rem;
    letter-spacing: 2px;
    margin-bottom: -5px;
}
#solution .solution_title .solution_title_wrap p{ font-size: 0.8rem; }
#solution .solution_title .btn img{ width: 90%; }

#solution .solution_block {
	background: none;
	background-size: none;
	height: auto;
	margin: 0;
}
#solution .solution_wrap{
    width: 100%;
    margin: auto;
	padding: 0;
}
#solution .solution_wrap .item01{
	background: url("../img/so_bg01.png") no-repeat center center;
	background-size: cover;
	width: 100%;
    margin: auto;
	padding: 4em 0;
}
#solution .solution_wrap .item02{
	background: url("../img/so_bg02.png") no-repeat center center;
	background-size: cover;
	width: 100%;
    margin: auto;
	padding: 4em 0;
}
#solution .solution_wrap .num{
	font-size: 2rem;
	text-align: center;
}
#solution ul.so_col02{
	width: 90%;
    margin: 2em auto 1em;
}
#solution .solution_wrap ul.so_col02 li:nth-child(odd){ width: 30%; }
#solution .solution_wrap ul.so_col02 li:nth-child(even) { 
	width: 65%; 
	font-size: 1.4rem;
}
#solution .solution_wrap .item01 p,#solution .solution_wrap .item02 p{ 
	width: 90%;
	margin: auto;
	font-size: 0.9rem;
}
#solution .solution_wrap .itembtn{
	text-align: center;
    margin-top: 2em;
} 
}


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

#achieve{
	background: #E6ECEC;
	margin: 0;
	/*padding: 4em 0;*/
	padding: 1em 0 6em;
}
#achieve .achieve_title{
	width: 1300px;
	margin: 0 auto;
	padding: 4em 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#achieve .achieve_title .achieve_title_wrap{}
#achieve .achieve_title .achieve_title_wrap h2{ 
	font-size: 3.8rem;
	font-family: "Cormorant Garamond", serif;
    font-weight: 500;
    letter-spacing: 5px;
    margin-bottom: -20px;
}
#achieve .achieve_title .achieve_title_wrap p{ font-size: 1rem; }
#achieve .achieve_title .btn img{ width: 100%; }

#achieve .achieve_block{
	width: 1300px;
	margin: 0 auto;
}
#achieve .achieve_block ul.ac_col03{
    display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#achieve .achieve_block ul.ac_col03 li{ width: 29%; }
#achieve .achieve_block ul.ac_col03 li p{ 
	margin: 1em 0;
	color: #1F1616;
	font-family: "Noto Sans JP";
}
#achieve .achieve_block ul.ac_col03 li .acbtn{
	text-align: center;
    margin-top: 2em;
} 
@media only screen and (max-width: 759px) {
#achieve{
	padding: 0;
}
#achieve .achieve_title{
	width: 90%;
	padding: 3em 0;
}
#achieve .achieve_title .achieve_title_wrap{}
#achieve .achieve_title .achieve_title_wrap h2{ 
	font-size: 2.1rem;
    letter-spacing: 0;
    margin-bottom: -5px;
}
#achieve .achieve_title .achieve_title_wrap p{ font-size: 0.8rem; }
#achieve .achieve_title .btn img{ width: 90% }

#achieve .achieve_block{
	/*width: 100%;
	margin: 0 auto;*/
	width: 85%;
    margin: 0 auto;
    padding-bottom: 3em;
}
#achieve .achieve_block ul.ac_col03{
}
#achieve .achieve_block ul.ac_col03 li{ 
	width: 90%;
	margin: 0 auto 3em;
}
#achieve .achieve_block ul.ac_col03 li .an__wrap{/*SPのみ*/
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#achieve .achieve_block ul.ac_col03 li p{ width: 78%; }
#achieve .achieve_block ul.ac_col03 li .acbtn{
	width: 20%;
	text-align: right;
    margin-top: 0;
} 
}


/*---company-----------------------------*/

#company{
	position: relative;
	background: url("../img/bg_company.jpg") no-repeat center center;
	background-size: cover;
	background-attachment: fixed;
	height: 100vh;
	margin: 0;
}
#company .company_title{
	width: 1300px;
	margin: 0 auto;
	padding: 4em 0;
	color: #fff;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#company .company_title .company_title_wrap{}
#company .company_title .company_title_wrap h2{ 
	font-size: 3.8rem;
	font-family: "Cormorant Garamond", serif;
    font-weight: 500;
    letter-spacing: 5px;
    margin-bottom: -20px;
}
#company .company_title .company_title_wrap p{ font-size: 1rem; }
#company .company_title .btn{  }

#company .company_block{
	width: 1300px;
	margin: 0 auto;
}
#company .company_intro {
    margin-bottom: 7em;
	color: #fff;
	font-family: "Cormorant Garamond", serif;
}
#company .company_intro h3.copy { 
	font-size: 2.3rem; 
	font-weight: 600;
    padding-bottom: 0.3em;
	padding-left: 4em;
}
#company .company_intro h3.copy02{ 
	font-size: 2.3rem;
	font-weight: 600;
	padding-left: 6.5em
}

#company .company_block ul.com_col03{
    display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#company .company_block ul.com_col03 li{ width: 29%; }
#company .combox{ 
	background: #fff;
	border-radius: 10px;
}
#company .combox .combox_wrap{
	display: flex;
	justify-content: space-between;
	align-items: center;
} 
#company .combox .combox_wrap p{ 
	padding: 0.9em 1.5em;
    font-size: 1.5rem;
    font-weight: bold;
	color: #1F1616;
}
#company .combox .combox_wrap .combtn{
	padding-right: 2em;
}
@media only screen and (max-width: 759px) {
#company{
	background: url("../img/bg_company.jpg") no-repeat center center;
	background-size: cover;
	height: auto;
	margin: 0;
}
#company .company_title{
	width: 90%;
	margin: 0 auto;
	padding: 3em 0;
}
#company .company_title .company_title_wrap{
	padding-right: 3em;
}
#company .company_title .company_title_wrap h2{ 
	font-size: 2.1rem;
    letter-spacing: 2px;
    margin-bottom: -5px;
}
#company .company_title .company_title_wrap p{ font-size: 0.8rem; }
#company .company_title .btn { width: 50%; }

#company .company_block{
	width: 90%;
	margin: 0 auto;
}
#company .company_intro {
    margin-bottom: 3em;
}
#company .company_intro h3.copy { 
	font-size: 1.3rem;
    font-weight: 500;
    padding-bottom: 0.2em;
    padding-left: 0;
    text-align: center;
}
#company .company_intro h3.copy02{ 
	font-size: 1.3rem;
	font-weight: 500;
	padding-left: 0;
    text-align: center;
}

#company .company_block ul.com_col03{ }
#company .company_block ul.com_col03 li{ 
	width: 100%;
	margin-bottom: 2em;
}
#company .combox{ }
#company .combox .combox_wrap{ } 
#company .combox .combox_wrap p{ 
	padding: 0.9em 1em;
    font-size: 1.3rem;
}
#company .combox .combox_wrap .combtn{
	padding-right: 1em;
}
}

/*---contact-----------------------------*/

#contact{
	background: #408DB5;
}
#contact ul.con_col02{
    width: 1300px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 auto;
    padding: 5em 0;
	color: #fff;
}
#contact ul.con_col02 li:nth-child(odd){ 
	position: relative;
	width: 48%;
}
#contact ul.con_col02 li:nth-child(odd)::after{ 
	position: absolute;
	top: 0;
	left: 100%;
	margin: 0 1rem;
	content: "";
	width: 1px;
	height: 100%;
	background-color: #fff;
}
#contact ul.con_col02 li:nth-child(even) { width: 48%; }

#contact ul.con_col02 li{
	display: flex;
	justify-content: space-between;
	align-items: center;
} 
#contact ul.con_col02 li .con_col02_wrap{ 
	padding-left: 2em;
} 
#contact ul.con_col02 li .con_col02_wrap .mail{
	font-size: 3.8rem;
	font-family: "Cormorant Garamond", serif;
    font-weight: 500;
    letter-spacing: 5px;
	margin-bottom: -0.2em;
} 
#contact ul.con_col02 li .con_col02_wrap .tel{
	font-size: 1.5rem;
	font-family: "Cormorant Garamond", serif;
    font-weight: 500;
    letter-spacing: 5px;
	margin-bottom: -0.2em;
} 
#contact ul.con_col02 li .con_col02_wrap .tel span{
	font-size: 3.6rem;
	font-family: "Noto Sans JP";
    font-weight: 300;
    letter-spacing: 2px;
	margin-bottom: -0.2em;
} 
#contact ul.con_col02 li .conbtn{
	padding-right: 4em;
}
/*お問い合わせのみ掲載*/
#contact .contactBlock{
	display: flex;
    justify-content: space-between;
    align-items: center;

	width: 520px;
    margin: 0 auto;
    padding: 5em 0;
	color: #fff;
}
#contact .contactBlock_wrap{ }
#contact .contactBlock_wrap .mail{
	font-size: 3.8rem;
	font-family: "Cormorant Garamond", serif;
    font-weight: 500;
    letter-spacing: 5px;
	margin-bottom: -0.2em;
} 

@media only screen and (max-width: 759px) {
#contact{ }
#contact ul.con_col02{
    width: 90%;
    padding: 4em 0;
}
#contact ul.con_col02 li:nth-child(odd){ 
	width: 100%;
    border-bottom: #fff 1px solid;
    padding-bottom: 3em;
}
#contact ul.con_col02 li:nth-child(odd)::after{ 
	top: 0;
	left: 0;
	margin: 0;
	content: "";
	width: 0;
	height: 0;
	background-color: none;
}
#contact ul.con_col02 li:nth-child(even) { 
	width: 100%;
    padding-top: 2em;
}

#contact ul.con_col02 li{ } 
#contact ul.con_col02 li .con_col02_wrap{ padding-right: 1em; } 
#contact ul.con_col02 li .con_col02_wrap .mail{
	font-size: 2rem;
    letter-spacing: 2px;
	margin-bottom: -0.2em;
} 
#contact ul.con_col02 li .con_col02_wrap .tel{
	font-size: 0.9rem;
    letter-spacing: 2px;
	margin-bottom: -0.2em;
} 
#contact ul.con_col02 li .con_col02_wrap .tel span{
	font-size: 1.8rem;
    letter-spacing: 1px;
	margin-bottom: -0.2em;
} 
#contact ul.con_col02 li .conbtn{
	padding-right: 0;
	width: 20%;
    text-align: right;
}
/*お問い合わせのみ掲載*/
#contact .contactBlock{
	display: flex;
    justify-content: space-between;
    align-items: center;

	width: 90%;
    margin: 0 auto;
    padding: 5em 0;
	color: #fff;
}
#contact .contactBlock_wrap{ }
#contact .contactBlock_wrap .mail{
	font-size: 2rem;
    letter-spacing: 2px;
	margin-bottom: -0.2em;
} 

}

/*---news-----------------------------*/

#news{
	background: #fff;
}
#news ul.news_col03{
    width: 1300px;
    display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	margin: 7em auto;
}
#news ul.news_col03 li.necol01{
	width: 20%;
}
/*SPのみ*/
	#news ul.news_col03 li.necol01_sp{
		display: none;
	}
#news ul.news_col03 li.necol02 { 
	width: 66%;
    margin-top: 1.5em;
}
#news ul.news_col03 li.necol03 { 
	width: 10%;
	text-align: right;
}

#news ul.news_col03 li h2{	
	font-size: 4.1rem;
	font-family: "Cormorant Garamond", serif;
    font-weight: 500;
    margin-bottom: -20px;
}
#news ul.news_col03 li p{	
	font-size: 1rem;
}

#news dl {
	display: flex;
	justify-content: flex-start;
    background: #E6ECEC;
    border-radius: 10px;
}
#news dt {
	flex-basis: 15%;
	padding: 20px;
}
#news dd {
	flex-basis: 85%;
	padding: 20px;
}
#news ul.news_col03 li.necol03 .newsbtn{
    font-size: 1rem;
	padding-right: 2em;
}

@media screen and (max-width: 559px) {
#news{ }
#news ul.news_col03{
    width: 90%;
	margin: 3em auto;
}
#news ul.news_col03 li.necol01{
	display: none;
}
/*SPのみ表示*/
	#news ul.news_col03 li.necol01_sp{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
		margin-bottom: 1em;
	}
	#news ul.news_col03 li.necol01_sp .necol01_sp_wrap{
	}
	
#news ul.news_col03 li.necol02 { 
	width: 100%;
    margin-top: 0;
}
#news ul.news_col03 li.necol03 { 
	display: none;
	width: 50%;
}

#news ul.news_col03 li h2{	
	font-size: 2.1rem;
    letter-spacing: 2px;
    margin-bottom: -5px;
}
#news ul.news_col03 li p{	
	font-size: 0.8rem;
}

#news dl {
	display: flex;
	flex-flow: column;
	justify-content: flex-start;
}
#news dt {
	flex-basis: 15%;
	padding: 20px 20px 10px;
}
#news dd {
	flex-basis: 85%;
	padding: 0 20px 20px;
}
#news ul.news_col03 li.necol03 .newsbtn{
    font-size: 1rem;
	padding-right: 2em;
}
}


/*-------footer------------------------------*/

footer{
	background: #E6ECEC;
}
footer .footer_block{
    width: 1300px;
    display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	margin:auto;
	padding: 5em 0;
}
footer .footer_block .footer_block_wrap{ 
	width: 75%;
    display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
}
footer .footer_block .footer_block_wrap .ft_logo{ width: 20%; padding-right: 1em; }
footer .footer_block .footer_block_wrap ul.footer_nav{ 
    display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
footer .footer_block .footer_block_wrap ul.footer_nav li{
	padding-right: 1em;
}
footer .footer_block .copyright{
	width: 20%;
	text-align: right;	
}
@media only screen and (max-width: 759.9px) {
footer{ }
footer .footer_block{
    width: 100%;
	padding: 2em 0;
}
footer .footer_block .footer_block_wrap{ width: 100%; }
footer .footer_block .footer_block_wrap .ft_logo{ width: 100%; text-align: center; }
footer .footer_block .footer_block_wrap ul.footer_nav{ display: none; }
footer .footer_block .footer_block_wrap ul.footer_nav li{ display: none; }
footer .footer_block .copyright{
	width: 100%;
	text-align: center;	
}
}

/*------トップへ戻る-------------------------------*/

#page-top{
	position: fixed;
	background: rgb(159 159 159 / 50%);
	min-width: 50px;
	min-height: 50px;
	line-height: 50px;
	text-align: center;
	color: #fff;
	border-radius: 50%;
	bottom: 2%;
	right: 2%;
}


/*------BTN-------------------------------*/

.button_circle_w a,.button_circle_b a,.button_circle_ww a,.button_circle_line a,.button_circle_line_b a {
	/*font-size: 20px;*/
	letter-spacing: 0.1em;
	color: #fff;
	font-weight: 400;
	border: solid 1px #fff;
	border-radius: 999px;
	display: flex;
	box-sizing: border-box;
	width: 50px;
	height: 50px;
	/*width: 60px;
	height: 60px;*/
	text-align: center; 
	align-items: center; 
	padding: 17px;
	/*padding: 20px;*/
	/*margin: 24px;*/
	margin-inline: auto;
	text-decoration: none;
	cursor: pointer;
	transition: all 0.3s;
	position: relative;
}
.button_circle_w a::before,.button_circle_b a::before,.button_circle_ww a::before,.button_circle_line a::before,.button_circle_line_b a::before {
	content: "・";
}
.button_circle_w a:hover,.button_circle_b a:hover,.button_circle_ww a:hover,.button_circle_line a:hover,.button_circle_line_b a:hover {
	color: #fff;
	background: #fff;
	transition: all 0.3s;
}
.button_circle_w a:hover::before,.button_circle_b a:hover::before,.button_circle_ww a:hover::before,.button_circle_line a:hover::before,.button_circle_line_b a:hover::before {
	content: "▶";
	font-size: 0.9em;
	color: #333;
	z-index: 10;
	width: 100%;
	position: absolute;
	top: 13px;
    left: 2px;
}
/*青線*/
.button_circle_b a,.button_circle_line_b a {
	color: #130D59;
	border: solid 1px #130D59;
	background: #fff;
}
.button_circle_b a:hover::before,.button_circle_line_b a:hover::before {
	color: #130D59;
}
/*中央が青*/	
.button_circle_ww a:hover::before{
	color: #408DB5;
}
/*ラインが動く*/
.button_circle_line a::after,.button_circle_line_b a::after{
	content: '';
	width: 84%;
	height: 1px;
	position: absolute;
	top: 24px;
    left: -16px;
    /*z-index: -1;*/
    /*transform: scale(0,1);  線のx軸の長さを0 */
	transition: .5s;
	transform-origin: left top; 
}
/*ラインが動く_白*/
.button_circle_line a::after{
	background-color: #fff;
}
/*ラインが動く_青*/
.button_circle_line_b a::after{
	background-color: #130D59;
}
.button_circle_line a:hover::after{
    left: 3px;
}
.button_circle_line_b a:hover::after{
    left: 3px;
	background-color: #fff;
}
@media only screen and (max-width: 759px) {
	
.button_circle_w a:hover::before,.button_circle_b a:hover::before,.button_circle_ww a:hover::before,.button_circle_line a:hover::before,.button_circle_line_b a:hover::before {
	top: 17px;
    left: 2px;
}
}



/* iPad用のスタイルを追加 */
@media only screen and (min-device-width: 759px) and (max-device-width: 1024px) {
	
#container{
	min-width: 100%; 
    background-color: transparent; 
	overflow: hidden;
}

	
#introduce{
	height: 50vh;
}
#introduce .intro_block{
	height: 50vh;
}
#introduce .intro_wrap{
	top: 13%;
}
#introduce .intro {
    margin-bottom: 7em;
}

#solution{
	height: 55vh;
}
#solution .solution_title{
	width: 90%;
	padding: 4em 2em;
}
#solution .solution_block {
	height: 45vh;
}
#solution .solution_wrap{
    width: 95%;
	padding: 3em 0;
}
#solution .solution_wrap .item01,#solution .solution_wrap .item02{ 
	width: 45%;
}
	

#achieve{
}
#achieve .achieve_title {
    width: 90%;
    margin: 0 auto;
    padding: 4em 2em;
}
#achieve .achieve_block {
	width: 90%;
}


#company {
    height: 55vh;	
}
#company .company_title {
    width: 90%;
    padding: 4em 2em;
}
#company .company_block {
}
#company .company_intro {
    margin-bottom: 4em;
}
#company .company_intro h3.copy02 {
    padding-left: 5.5em;
}
#company .company_block ul.com_col03 {
    width: 90%;
    margin: auto;
}

#news ul.news_col03 {
    width: 94%;
    margin: 4em auto;
}

footer .footer_block {
}
footer .footer_block .footer_block_wrap {
    width: 80%;
}
footer .footer_block .footer_block_wrap .ft_logo {
    width: 12%;
    padding: 1em;
}
footer .footer_block .footer_block_wrap ul.footer_nav li {
    font-size: 0.8rem;
}
footer .footer_block .copyright {
    width: 12%;
    padding: 0 2em;
}
}










