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


#about .contents01 h2, #about .contents01 h3, #about .contents02 h2, #about .contents03 h2, .contents03 h3, .contents03 h5, .contents03 .box-contentslink h6, .contents03 .lay03 h6, .contents03 .lay04 h6 {
     font-family: var(--title-font);
    font-weight: var(--base-font-weight2);
}

/* title-top */


#about .title-page .box-inner {
    background-image: url("../../img/about/img-title.svg");
}

#about .title-page .box-text::before {
	background-image: url("../../img/about/text-title.svg");
}

#about .container {
	padding-top: 0px;
}

#about .container section {
	margin-bottom: 0px;
}

/* contents01 */

#about .contents01-wrap {
    background-color: #FFF;
    padding-top: 120px;
    padding-bottom: 130px;
}

#about .contents01 {
	width: 100%;
    position: relative;
}

#about .contents01::before {
    content: "";
	position: absolute;
top: 0px;
	width: 92%;
	height: 65%;
    display: block;
    background : -moz-linear-gradient(50% 100% 90deg,rgba(255, 255, 255, 1) 0%,rgba(239, 244, 248, 1) 100%);
  background : -webkit-linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(239, 244, 248, 1) 100%);
  background : -webkit-gradient(linear,50% 100% ,50% 0% ,color-stop(0,rgba(255, 255, 255, 1) ),color-stop(1,rgba(239, 244, 248, 1) ));
  background : -o-linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(239, 244, 248, 1) 100%);
  background : -ms-linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(239, 244, 248, 1) 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFF', endColorstr='#EFF4F8' ,GradientType=0)";
  background : linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(239, 244, 248, 1) 100%);
}

#about .contents01a::before {
right: 0px;
    border-radius: 100px 0px 0px 0px;
    
}

#about .contents01b::before {
left: 0px;
    border-radius: 0px 100px 0px 0px;
}

@media screen and (max-width: 1920px) {
    #about .contents01::before {
	width: 96%;
}
}


#about .contents01 .box-inner {
	width: 80%;
    max-width: 1380px;
    position: relative;
    padding-top: 100px;
}

#about .contents01 .box-inner::after {
	content: "";
	position: absolute;
right: 0%;
top: 0px;
background-position: right top;
background-repeat: no-repeat;
	width: 45%;
    max-width: 600px;
    height: 500px;
    margin-top: -40px;
    margin-right: -10%;
}

#about .contents01a .box-inner::after {
	background-image: url("../../img/about/icon01.svg");
	background-size: 100% auto;
}

#about .contents01b .box-inner::after {
	background-image: url("../../img/about/icon02.svg");
	background-size: 70% auto;
}


#about .contents01 .box-title {
	margin-bottom: 70px;
}

#about .contents01 .box-detail {
	display: flex;
  justify-content: space-between;
flex-wrap: wrap;
}

#about .contents01 .box {
	width: 49%;
    border-radius: 20px;
    padding: 50px 80px;
}

#about .contents01 .box-img {
	padding: 30px 0px 20px;
}

#about .contents01 h2 {
	font-size: 55px;
color: var(--color-main);
line-height: 1.3;
letter-spacing: 0.05em;
    margin-bottom: 20px;
}

#about .contents01 h3 {
	font-size: 24px;
color: var(--color-main);
line-height: 1.3;
letter-spacing: 0em;
    text-align: center;
    position: relative;
    padding-top: 70px;
}

#about .contents01 h3::before {
	content: "";
	position: absolute;
left: 0px;
top: 0px;
background-position: center top;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 100%;
	height: 55px;
}

#about .contents01a .box:nth-child(1) h3::before {
	background-image: url("../../img/about/point01.svg");
}

#about .contents01a .box:nth-child(2) h3::before {
	background-image: url("../../img/about/point02.svg");
}

#about .contents01b .box:nth-child(1) h3::before {
	background-image: url("../../img/about/point03.svg");
}

#about .contents01b .box:nth-child(2) h3::before {
	background-image: url("../../img/about/point04.svg");
}

#about .contents01 .box p {
	line-height: 1.8;
    letter-spacing: 0em;
}


/* contents02 */

#about .contents02 {
	width: 100%;
    height: 150vh;
    position: relative;
}

#about .contents02::before {
    content: "";
	position: absolute;
left: 0px;
top: 0px;
	width: 100%;
	height: 280px;
    display: block;
    background-color: #FFF;
    margin-top: -2px;
}

#about .contents02::after {
    content: "";
	position: absolute;
left: 0px;
bottom: 0px;
	width: 100%;
	height: 30vh;
    display: block;
    background : -moz-linear-gradient(50% 100% 90deg,rgba(255, 255, 255, 1) 0%,rgba(255, 255, 255, 0) 100%);
  background : -webkit-linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
  background : -webkit-gradient(linear,50% 100% ,50% 0% ,color-stop(0,rgba(255, 255, 255, 1) ),color-stop(1,rgba(255, 255, 255, 0) ));
  background : -o-linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
  background : -ms-linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFF', endColorstr='#FFFFFF' ,GradientType=0)";
  background : linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
    margin-bottom: -2px;
}


#about .contents02 .box-detail {
    width: 70%;
    position: relative;
    background-color: var(--color-main);
    padding: 80px 7%;
    padding-left: 0px;
    display: flex;
  justify-content: flex-end;
flex-wrap: wrap;
    background-image: url("../../img/about/icon-text.svg");
background-position: right bottom;
background-repeat: no-repeat;
background-size: auto 100%;
}

#about .contents02 h2, #about .contents02 p {
     color: #FFF;
}

#about .contents02 h2 {
     font-size: 55px;
    line-height: 1.3;
    margin-bottom: 30px;
}

#about .contents02 p {
    font-size: 17px;
}



/* contents04 */

#about section.contents04 {
	width: 100%;
    height: 100vh;
    position: relative;
    margin-bottom: 0px;
}

#about .contents04::after {
    content: "";
	position: absolute;
left: 0px;
top: 0px;
	width: 100%;
	height: 30vh;
    display: block;
    background : -moz-linear-gradient(50% 0% -90deg,rgba(255, 255, 255, 1) 0%,rgba(255, 255, 255, 0) 100%);
  background : -webkit-linear-gradient(-90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
  background : -webkit-gradient(linear,50% 0% ,50% 100% ,color-stop(0,rgba(255, 255, 255, 1) ),color-stop(1,rgba(255, 255, 255, 0) ));
  background : -o-linear-gradient(-90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
  background : -ms-linear-gradient(-90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFF', endColorstr='#FFFFFF' ,GradientType=0)";
  background : linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
    margin-top: -2px;
}


/* box-pwrap */

.box-pwrap {
    position: relative;
}

.box-pwrap::before {
    content: "";
	position: fixed;
left: 0px;
top: 0px;
	 background-image: url("../../img/about/back-contents.png");
background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
	width: 100%;
  height: 100vh;
    display: block;
    z-index: -1;
}


/* contents03 */

#about .contents03 {
	width: 100%;
    padding: 130px 0px;
    background-color: #FFF;
}

#about .contents03 .box-inner {
    width: 90%;
    max-width: 1640px;
	background-color: #EFF4F8;
    border-radius: 100px;
    text-align: center;
    padding: 120px 5% 80px;
}

#about .contents03 .box-contentslink {
    display: flex;
  justify-content: center;
flex-wrap: wrap;
    gap:0px 30px;
    margin-bottom: 80px;
}

#about .contents03 .box-contentslink .box {
    width: 28%;
    max-width: 330px;
}

#about .contents03 .box-contentslink .box a {
    width: 100%;
    height: 170px;
    border-radius: 15px;
    padding-bottom: 30px;
    background-color: var(--color-main);
    position: relative;
    display: flex;
  justify-content: center;
align-items: center;
flex-wrap: wrap;
background-position: left top;
background-repeat: no-repeat;
background-size: 40px auto;
}

#about .contents03 .box-contentslink .box:nth-child(1) a {
    background-image: url("../../img/about/icon-link01.svg");
}

#about .contents03 .box-contentslink .box:nth-child(2) a {
    background-image: url("../../img/about/icon-link02.svg");
}

#about .contents03 .box-contentslink .box:nth-child(3) a {
    background-image: url("../../img/about/icon-link03.svg");
}

#about .contents03 .box-contentslink .box a::before {
    content: "";
	position: absolute;
left: 0px;
bottom: 20px;
	background-image: url("../../img/about/link-arrow01.svg");
background-position: center bottom;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 100%;
	height: 30px;
    transition: .5s;
}

#about .contents03 .box-contentslink .box a:hover::before {
bottom: 15px;
}

#about .contents03 .box-about {
    padding: 80px 5% 70px;
    border-radius: 20px;
}

#about .contents03 .box-about:not(:last-child) {
    margin-bottom: 80px;
}

#about .contents03 .box-about .box-img img {
    border-radius: 20px;
}

#about .contents03 .box-about > div:not(:last-child) {
    margin-bottom: 80px;
}

/* #about .contents03 .lay01 */

#about .contents03 .lay01 h4 img {
   height: 65px;
    width: auto;
}

#about .contents03 .lay01 h5 img {
   height: 160px;
    width: auto;
}

#about .contents03 .lay01 p {
   font-size: 18px;
    padding: 30px 0px 65px;
}


/* #about .contents03 .lay02 */

#about .contents03 .lay02 .inner {
    display: flex;
  justify-content: space-between;
flex-wrap: wrap;
    align-items: center;
    gap:0px 50px;
}

#about .contents03 .lay02 .box-img {
    width: 50%;
}

#about .contents03 .lay02 .box-detail {
    flex: 1;
    text-align: left;
}

/* #about .contents03 .lay03 */

#about .contents03 .lay03 .box {
    display: flex;
  justify-content: space-between;
    flex-wrap: wrap;
    gap:0px 20px;
    padding: 70px 0px;
}

#about .contents03 .lay03 .box:nth-child(1) {
    padding-top: 0px;
}

#about .contents03 .lay03 .box:nth-child(3) {
    padding-bottom: 0px;
}

#about .contents03 .lay03 .box:not(:last-child) {
    border-bottom-style : solid;
border-color : #E4ECF2;
border-width : 3px;
}

#about .contents03 .lay03 .box-icon {
    width: 200px;
    padding-top: 30px;
}

#about .contents03 .lay03 .box-icon h5 img {
    height: 150px;
    width: auto;
}

#about .contents03 .lay03 .box-detail {
    flex: 1;
    display: flex;
  justify-content: space-between;
    gap:0px 25px;
}

/* #about .contents03 .lay04 */

#about .contents03 .lay04 {
    display: flex;
  justify-content: space-between;
flex-wrap: wrap;
    gap:40px 0px;
}

#about .contents03 .lay04 .box {
    width: 23%;
}

#about .contents03 .lay04 .box-img {
    border-style : solid;
border-color : #E4ECF2;
border-width : 5px;
    border-radius: 20px;
}

#about .contents03 h2, #about .contents03 h3 {
    color: var(--color-main);
	font-size: 48px;
line-height: 1.3;
    margin-bottom: 60px;
}

#about #about01 h3 {
    color: #2DB0D0;
	font-size: 28px;
    margin-bottom: 20px;
}

#about #about02 h3 {
    color: #00A99D;
    margin-bottom: 0px;
}

#about #about03 h3 {
    color: #EFC335;
    margin-bottom: 0px;
}

#about .box-contentslink h6 {
    color: #FFF;
    font-size: 25px;
    line-height: 1.2;
    width: 100%;
}

#about .box-contentslink .box:nth-child(1) h6 {
    font-size: 19px;
    position: relative;
    padding-bottom: 32px;
}

#about .box-contentslink .box:nth-child(1) h6::before {
    content: "";
	position: absolute;
left: 0px;
bottom: 0px;
	background-image: url("../../img/about/logo01.svg");
background-position: center bottom;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 100%;
	height: 25px;
}

#about .contents03 .lay02 h5 {
   font-size: 25px;
color: var(--color-main);
line-height: 1.3;
    background-color: #EFF4F8;
    margin-bottom: 40px;
    padding: 10px 0px;
    border-radius: 10px;
}

#about .contents03 .lay02 h6 {
    font-size: 35px;
font-family: var(--subtitle-font);
font-weight: 700;
color: var(--color-main);
line-height: 0.8;
    margin-bottom: 20px;
}

#about .contents03 .lay03 h6, #about .contents03 .lay04 h6 {
color: var(--color-main);
line-height: 1.3;
    padding-top: 12px;
}

#about .contents03 p {
   line-height: 1.8;
}

.sp-view {
	display: none;
}

