@charset "utf-8";

#service .secOrdermade__item .secOrdermade__txtbox a { position: relative; display: block; width: 100%; background: #fff; border: 1px solid #0f9790; padding: 12px 0; text-align: center; color: #0f9790; line-height: 100%; margin-top: 12px;}
#service .secOrdermade__item .secOrdermade__txtbox a:after { position: absolute; content: ""; right: 5%; top: 50%; transform: translateY(-50%); -webkit-transform: translateY(-50%); display: block; width: 10px; height: 5px; clip-path: polygon(0 0, 100% 0, 50% 100%); background: #0f9790; }


#service #pointcloud { background: #f4fafb; padding: 75px 0 83px; margin-bottom: 100px; text-align: center;}
#service #pointcloud .point_inner { width: 1150px; margin: 0 auto;}
#service #pointcloud h4 { font-size: 36px; letter-spacing: 0.06em; color: #40a69f; line-height: 100%; font-weight: 700;}
#service #pointcloud .cando { margin-bottom: 114px;}
#service #pointcloud .cando h4 { margin-bottom: 62px;}
#service #pointcloud .cando ul { display: flex; justify-content: space-between; align-items: center; margin-bottom: 50px;}
#service #pointcloud .cando ul:last-child { justify-content: center; margin-bottom: 0;}
#service #pointcloud .cando li { width: 317px; padding: 48px 0 33px; background: #fff no-repeat; border-radius: 50%;}
#service #pointcloud .cando ul:last-child li { padding-bottom: 38px; margin: 0 47px;}
#service #pointcloud .cando li:nth-of-type(1) { background-image: url(/image.jsp?id=16635); background-size: 105px auto; background-position: center 82px;}
#service #pointcloud .cando li:nth-of-type(2) { background-image: url(/image.jsp?id=16636); background-size: 129px auto; background-position: center 81px;}
#service #pointcloud .cando li:nth-of-type(3) { background-image: url(/image.jsp?id=16637); background-size: 170px auto; background-position: center 90px;}
#service #pointcloud .cando ul:last-child li:nth-of-type(1) { background-image: url(/image.jsp?id=16638); background-size: 206px auto; background-position: center 101px;}
#service #pointcloud .cando ul:last-child li:nth-of-type(2) { background-image: url(/image.jsp?id=16639); background-size: 199px auto; background-position: center 79px;}
#service #pointcloud .cando li .top { font-size: 24px; color: #40a69f; font-weight: 700; line-height: 100%; margin-bottom: 160px; font-feature-settings: "palt";}
#service #pointcloud .cando li p:not(.top) { font-size: 16px; letter-spacing: 0.05em; font-weight: 500; line-height: 160%; font-feature-settings: "palt"; }
#service #pointcloud .cando ul:last-child li .top { margin-bottom: 181px;}

#service #pointcloud .forte { margin-bottom: 54px;}
#service #pointcloud .forte h4 { margin-bottom: 62px;}
#service #pointcloud .forte ol { border-top: 1px solid #009e96;}
#service #pointcloud .forte li { display: flex; justify-content: center; align-items: flex-start; border-bottom: 1px solid #009e96;}
#service #pointcloud .forte li:nth-of-type(1) { padding: 30px 50px 28px;}
#service #pointcloud .forte li:nth-of-type(2) { padding: 38px 50px 36px; flex-flow: row-reverse;}
#service #pointcloud .forte li:nth-of-type(3) { padding: 38px 50px 58px; }
#service #pointcloud .forte li .txt { width: 47%; margin-right: 16px; }
#service #pointcloud .forte li:nth-of-type(2) .txt { width: calc( 50% + 38px ); padding-left: 38px; margin-right: 0;}
#service #pointcloud .forte li .txt h5 { display: flex; align-items: center; font-size: 30px; letter-spacing: 0.06em; color: #009e96; margin-bottom: 25px;}
#service #pointcloud .forte li .txt h5 span { display: block; width: 80px; min-height: 80px; padding: 15px 0 12px; font-size: 18px; font-weight: 700; color: #fff; line-height: 100%; background: #009e96; border-radius: 50%; margin-right: 24px;}
#service #pointcloud .forte li .txt h5 span em { display: block; font-size: 40px; font-weight: 700; font-family: Helvetica, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; color: #fff; letter-spacing: 0; line-height: 100%; font-feature-settings: "palt"; margin-top: 5px;}
#service #pointcloud .forte li .txt p { font-size: 17px; line-height: 180%; font-weight: 500; text-align: left; font-feature-settings: "palt";}
#service #pointcloud .forte li:not(:nth-of-type(1)) img { margin-top: 5px;}


#service #pointcloud .price { }
#service #pointcloud .price h4 { margin-bottom: 32px;}
#service #pointcloud .price p { font-size: 20px; letter-spacing: 0.06em; font-weight: 500; margin-bottom: 40px; font-feature-settings: "palt";}
#service #pointcloud .price a { display: block; width: 580px; margin: 0 auto;}
#service #pointcloud .price a img { width: 100%; height: auto;}


#service #pointcloud .note-box { padding: 10px 16px; margin: 1rem 0 2rem; background: #daf2da; box-shadow: 6px 6px 0 0 rgba(0, 0, 0, 0.05); color: #111; border-left: 6px solid #57D494; }
#service #pointcloud .note-box p { font-size: 1rem !important; }
#service #pointcloud .note-box_link a { color:#263e8b; text-decoration: underline; }
#service #pointcloud .note-box_link a:hover { color:#009991; }

/* ----------------------- library ----------------------- */

#library { }
#library .secLibrary { margin-bottom: 100px;}
#library .secLibrary .secLibrary__nav { margin-bottom: 75px;}
#library .secLibrary .secLibrary__navList { justify-content: center;}
#library .secLibrary .secLibrary__navItem { width: 382px; margin: 0 63px;}

#library .secLibrary .secLibrary__cont { }
#library .secLibrary .library__item { border-bottom: 1px solid #009e96; padding: 93px 0 0; line-height: 100%;}
#library .secLibrary #seminar { border-top: 1px solid #009e96;}
#library .secLibrary .library__item h3 { font-size: 18px; letter-spacing: 0.1em; margin-bottom: 54px;}
#library .secLibrary .library__item h3 small { display: block; font-size: 18px; letter-spacing: 0.06em; line-height: 100%; font-weight: 700; color: #009e96; margin-bottom: 9px;}
#library .secLibrary .library__item h3 span { display: block; font-size: 60px; font-family: Helvetica, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; font-weight: 700; letter-spacing: 0; line-height: 100%; color: #009e96; margin-bottom: 19px;}
#library .secLibrary .library__item ul { display: flex; align-items: flex-start; flex-flow: wrap;}
#library .secLibrary .library__item .library__listItem { width: 378px; margin-bottom: 82px; font-feature-settings: "palt";}
#library .secLibrary .library__item .library__listItem:not(:nth-of-type(3n)) { margin-right: calc( ( 100% - ( 378px * 3 ) ) / 2 );}
#library .secLibrary .library__item .library__listItem .listItemThumb { position: relative; margin-bottom: 19px;}
#library .secLibrary .library__item .library__listItem .listItemThumb:after { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); -webkit-transform: translate(-50%,-50%); content: ""; display: block; width: 46px; height: 46px; background: url(/image.jsp?id=16644) no-repeat center center / 100%; }
#library .secLibrary .library__item .library__listItem .listItemThumb.article-link:after { display: none; }

#library .secLibrary .library__item .library__listItem .listItemThumb img { width: 100%;}
#library .secLibrary .library__item .library__listItem .listItemTitle { font-size: 16px; line-height: 180%; font-weight: 500; letter-spacing: 0.1em; margin-bottom: 14px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; text-overflow: ellipsis;}
#library .secLibrary .library__item .library__listItem .listItemData { font-size: 16px; letter-spacing: 0.1em; font-weight: 500; color: #737373; margin-bottom: 17px;}
#library .secLibrary .library__item .library__listItem .listItemTaglist { display: flex; justify-content: flex-start; align-items: center; margin-bottom: 24px;}
#library .secLibrary .library__item .library__listItem .listItemTaglist .listItemTagItem { font-size: 12px; color: #009e96; letter-spacing: 0.03em; font-weight: 500; line-height: 100%; padding: 7px 12px; border: 1px solid #009e96; border-radius: 20px;}
#library .secLibrary .library__item .library__listItem .listItemTaglist .listItemTagItem:nth-of-type(2) { margin: 0 11px;}
#library .secLibrary .library__item .library__listItem .listItemWatch { font-size: 16px; color: #009e96; letter-spacing: 0.1em; font-weight: 500; text-align: center;}
#library .secLibrary .library__item .library__listItem .listItemWatch:after { content: ""; display: inline-block; width: 21px; height: 21px; background: url(/image.jsp?id=16645) no-repeat center center / 100%; margin-left: 12px; vertical-align: -5px;}


@media only screen and (max-width: 1186px) {
#library .secLibrary .library__item ul { justify-content: space-between;}
#library .secLibrary .library__item .library__listItem:not(:nth-of-type(3n)) { margin-right: 0;}
#library .secLibrary .library__item .library__listItem { width: 48%;}
}



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

#service #pointcloud { padding: 50px 0; margin-bottom: 50px;}
#service #pointcloud .point_inner { width: 100%; padding: 0 4.26667%;}
#service #pointcloud h4 { font-size: 24px;}
#service #pointcloud .cando { margin-bottom: 40px;}
#service #pointcloud .cando h4 { margin-bottom: 40px;}
#service #pointcloud .cando ul { flex-flow: wrap; margin-bottom: 0px;}
#service #pointcloud .cando li { width: 44vw; height: 44vw; padding: 5% 0 0; margin: 0 0 4%;}
#service #pointcloud .cando ul:last-child li { padding-bottom: 0; margin: 0 auto 30px;}
#service #pointcloud .cando li:nth-of-type(1) { background-size: 37% auto; background-position: center 44%;}
#service #pointcloud .cando li:nth-of-type(2) { background-size: 40% auto; background-position: center 40%;}
#service #pointcloud .cando li:nth-of-type(3) { background-size: 57% auto; background-position: center 45%;}
#service #pointcloud .cando li:nth-of-type(4) { background-image: url(/image.jsp?id=16638); background-size: 67% auto; background-position: center 44%;}
#service #pointcloud .cando ul:last-child li:nth-of-type(2) { background-size: 69% auto; background-position: center 50%;}
#service #pointcloud .cando li .top { font-size: 15px; margin-bottom: 25vw;}
#service #pointcloud .cando li p:not(.top) { font-size: 10px;}
#service #pointcloud .cando li:nth-of-type(4) .top { margin-bottom: 63%;}
#service #pointcloud .cando ul:last-child li .top { margin-bottom: 63%;}

#service #pointcloud .forte { margin-bottom: 54px;}
#service #pointcloud .forte h4 { margin-bottom: 40px;}
#service #pointcloud .forte ol { border-top: 1px solid #009e96;}
#service #pointcloud .forte li { display: block;}
#service #pointcloud .forte li:nth-of-type(1) { padding: 25px 15px;}
#service #pointcloud .forte li:nth-of-type(2) { padding: 25px 15px;}
#service #pointcloud .forte li:nth-of-type(3) { padding: 25px 15px;}
#service #pointcloud .forte li .txt { width: 100%; margin-right:0; }
#service #pointcloud .forte li:nth-of-type(2) .txt { width: 100%; padding-left: 0;}
#service #pointcloud .forte li .txt h5 { font-size: 20px; margin-bottom: 20px;}
#service #pointcloud .forte li .txt h5 span { width: 50px; min-height: 50px; padding: 8px 0; font-size: 12px; margin-right: 10px;}
#service #pointcloud .forte li .txt h5 span em { font-size: 24px;}
#service #pointcloud .forte li .txt p { font-size: 14px; line-height: 180%; margin-bottom: 15px;}
#service #pointcloud .forte li:not(:nth-of-type(1)) img { margin-top: 0px;}


#service #pointcloud .price { }
#service #pointcloud .price h4 { margin-bottom: 24px;}
#service #pointcloud .price p { font-size: 14px; margin-bottom: 20px;}
#service #pointcloud .price a { width: 100%;}

/* ----------------------- library ----------------------- */

#library { }
#library .secLibrary { margin-bottom: 50px;}
#library .secLibrary .secLibrary__nav { margin-bottom: 50px;}
#library .secLibrary .secLibrary__navList { justify-content: center;}
#library .secLibrary .secLibrary__navItem { width: 100%; margin: 0 0 30px;}

#library .secLibrary .secLibrary__cont { }
#library .secLibrary .library__item {  padding: 36px 0 0; }
#library .secLibrary #mapdata { padding: 50px 0 0;}
#library .secLibrary .library__item h3 { font-size: 14px; margin-bottom: 25px; letter-spacing: 0.02em; line-height: 180%;}
#library .secLibrary .library__item h3 small { font-size: 15px; margin-bottom: 10px;}
#library .secLibrary .library__item h3 span { font-size: 38px; margin-bottom: 5px;}
#library .secLibrary .library__item ul { display: block;}
#library .secLibrary .library__item .library__listItem { width: 100%; margin-bottom: 38px;}
#library .secLibrary .library__item .library__listItem:last-child { margin-bottom: 50px;}
#library .secLibrary .library__item .library__listItem .listItemThumb { position: relative; margin-bottom: 25px;}
#library .secLibrary .library__item .library__listItem .listItemThumb:after { width: 41px; height: 41px;}
#library .secLibrary .library__item .library__listItem .listItemTitle { font-size: 14px; letter-spacing: 0.03em; margin-bottom: 14px;}
#library .secLibrary .library__item .library__listItem .listItemData { font-size: 14px; letter-spacing: 0.03em; margin-bottom: 15px;}
#library .secLibrary .library__item .library__listItem .listItemTaglist { margin-bottom: 18px;}
#library .secLibrary .library__item .library__listItem .listItemTaglist .listItemTagItem { font-size: 11px; letter-spacing: 0.03em; padding: 6px 10px;}
#library .secLibrary .library__item .library__listItem .listItemTaglist .listItemTagItem:nth-of-type(2) { margin: 0 5px;}
#library .secLibrary .library__item .library__listItem .listItemWatch { font-size: 14px; letter-spacing: 0.05em;}
#library .secLibrary .library__item .library__listItem .listItemWatch:after { width: 17px; height: 17px;  margin-left: 6px; vertical-align: -4px;}

#service #pointcloud .note-box p { margin-bottom: 0 !important; }


}
