@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@300;400;500;600;700&display=swap');

html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,hr,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video {
margin:0;
padding:0;
border:0;
outline:0;
vertical-align:baseline;
background:transparent;
}

article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {
display:block;
margin:0
}

body {
-webkit-text-size-adjust:100%;
line-height: 1;
-webkit-text-size-adjust: none;
position: relative;
touch-action: manipulation;
font-family:"游ゴシック体",YuGothic,"游ゴシック","Yu Gothic","メイリオ","Hiragino Kaku Gothic ProN","Hiragino Sans",sans-serif;
font-size:1.6rem;
font-weight:500;
letter-spacing:.04em;
line-height:1;
}

li {
list-style:none;
}

a,button {
-webkit-tap-highlight-color:transparent;
cursor:pointer;
}

img,picture {
max-width:100%;
height:auto;
vertical-align:top
}

input,select,textarea {
padding:0;
border-style:none;
border-radius:0;
background-color:transparent;
outline:none;
-webkit-appearance:none;
-moz-appearance:none;
appearance:none;
font-family:inherit;
line-height:1
}

.clearfix::after {
content:"";
display:table;
clear:both;
}

*,::before,::after {
-webkit-box-sizing:border-box;
box-sizing:border-box;
}

html {
font-size:62.5%;
}

body {

}
@media screen and (max-width: 767px) { body { font-size: 1.4rem; } }

/* -------------------------------- basics -------------------------------- */


@media screen and (max-width: 767px) { body { min-width: 0; } }

button {
	color: #000;
	font-family: "游ゴシック体",YuGothic,"游ゴシック","Yu Gothic","メイリオ","Hiragino Kaku Gothic ProN","Hiragino Sans",sans-serif;
}

a {
text-decoration:none;
color:#000;
}

.pro-c a {
opacity: 1;
transition: 0.3s;
}

.pro-c a:hover {
opacity: 0.7;
}

.site-id {
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
left: 0;
top: 0;
z-index: 998;
height: 112px;
-webkit-transition: height .3s ease-out;
transition: height .3s ease-out;
background: #fff;
position: absolute;
padding: 12px 40px 0;
}

.no-local-nav .site-id {
position:absolute;
}

.site-id.static {
position:static;
}

.site-id a,.site-id span {
display:flex;
-webkit-box-align:center;
-ms-flex-align:center;
align-items:center;
overflow:hidden;
}

.site-id a:hover {
opacity:0.7;
filter:alpha(opacity=70);
-moz-opacity:0.7px;
-webkit-transition:0.3s ease-in-out;
-moz-transition:0.3s ease-in-out;
-o-transition:0.3s ease-in-out;
transition:0.3s ease-in-out;
}

.site-id a img,.site-id span img {
display:block;
}

.site-id a img:first-child,.site-id span img:first-child {
width:48px;
}

.site-id a img:last-child,.site-id span img:last-child {
width:150px;
opacity:1px;
-webkit-transform:translate3d(0, 0, 0);
transform:translate3d(0, 0, 0);
-webkit-transition:opacity .2s;
transition:opacity .2s;
margin:0 0 4px;
}

a:link,a:visited {
color:#000;
}

@media screen and (max-width: 1100px) {
.site-id {
position:fixed;
height:65px;
width:40%;
padding:3px 0 0 20px;
background:none;
-webkit-transition:none;
transition:none
}

.site-id.static {
position:fixed
}

.site-id a img:first-child,.site-id span img:first-child {
width:32px
}

.site-id a img:last-child,.site-id span img:last-child {
width:110px;
margin:0 0 2px 4px;
-webkit-transition:none;
transition:none
}

.site-id.txt-hidden {
pointer-events:auto;
}

.site-id.txt-hidden a img:last-child,.site-id.txt-hidden span img:last-child {
opacity:1
}

.site-id.shortened {
height:65px
}
}


/* ---- header: global navigation ---- */
.global-nav {
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-align:center;
-ms-flex-align:center;
align-items:center;
-webkit-box-pack:end;
-ms-flex-pack:end;
justify-content:flex-end;
position:relative;
z-index:997;
height:72px;
padding:0 30px 0 0;
background:#fff
}

.global-nav > ul {
display:-ms-flexbox;
display:flex;
align-items:center;
height:100%
}

.global-nav > ul li {
margin-right:40px
}

.global-links {
position:relative;
pointer-events:auto
}

.global-nav > ul a {
align-items:center;
position:relative;
display:block;
font-weight:bold;
font-size:1.5rem;
pointer-events:auto
}

.global-nav > ul .jp-text {
width:100%
}

.global-nav > ul a::before,.global-nav > ul a::after {
border-bottom:solid 2px #ee710e;
bottom:-10px;
content:"";
display:block;
position:absolute;
transition:all .3s ease;
width:0
}

.global-nav > ul .nav01:hover::before,.global-nav > ul .nav01:hover::after {
width:47%
}

.global-nav > ul .nav02:hover::before,.global-nav > ul .nav02:hover::after {
width:58%
}

.global-nav > ul .nav03:hover::before,.global-nav > ul .nav03:hover::after {
width:20%
}

.global-nav > ul .nav04:hover::before,.global-nav > ul .nav04:hover::after {
width:59%
}

.global-nav > ul a::before {
left:50%
}

.global-nav > ul a::after {
right:50%
}

.global-nav li a span.en {
opacity:1;
margin:0 auto;
font-size:16px;
font-family:'Quicksand',sans-serif
}

.global-nav li a:hover span.en {
opacity:0
}

.global-nav li a span.jp {
position:absolute;
top:50%;
left:50%;
opacity:0;
transform:translate(-50%,-50%);
white-space:nowrap;
pointer-events:none
}

.global-nav li a:hover span.jp {
opacity:1;
margin:0 auto
}

@media screen and (max-width: 1100px) { .global-nav { display: none; } }


.global-nav .contact {
width:130px;
margin-left:15px
}

.global-nav .contact a {
display:block;
width:130px;
margin:0 auto;
padding:9px 0;
border-radius:50px;
background-color:#000;
color:#fff;
font-size:15px;
font-weight:bold;
text-align:center;
-webkit-transition:background-color .2s;
transition:background-color .5s;
font-family:'Quicksand',sans-serif
}

.global-nav .contact a:hover,.global-nav .contact a:active {
background-color:#ee710e;
text-decoration:none;
color:#fff;
}


/* ---- sp menu: body ---- */

#sp-menu {
display:none
}

@media screen and (max-width: 1100px) {
.pagefix {
overflow:hidden;
height:100%
}

#sp-menu {
display:inline;
float:right
}

#menu-inner {
padding:20px 20px 0 0;
position:absolute;
right:0;
z-index:100
}

#sp-menu #menu-label {
color:#fff;
font-size:9px!important;
font-weight:bold;
margin:22px 0 0!important;
width:26px
}

#sp-menu #menu-label img {
width:100%
}

#sp-menu #menu-trigger,#sp-menu #menu-trigger span {
display:inline-block;
transition:all .4s;
box-sizing:border-box
}

#sp-menu #menu-trigger {
position:relative;
width:44px;
height:26px
}

#sp-menu #menu-trigger span {
position:absolute;
left:0;
width:100%;
height:3px;
background-color:#000
}

#sp-menu #menu-trigger span:nth-of-type(1) {
top:0
}

#sp-menu #menu-trigger span:nth-of-type(2) {
top:12px
}

#sp-menu #menu-trigger span:nth-of-type(3) {
bottom:0
}

#sp-menu.active #menu-trigger span:nth-of-type(1) {
-webkit-transform:translateY(11px) rotate(-45deg);
transform:translateY(11px) rotate(-45deg)
}

#sp-menu.active #menu-trigger span:nth-of-type(2) {
opacity:0
}

#sp-menu.active #menu-trigger span:nth-of-type(3) {
-webkit-transform:translateY(-12px) rotate(45deg);
transform:translateY(-12px) rotate(45deg)
}

#menu-list {
background:#fff;
height:0;
left:0;
position:absolute;
top:0;
padding:0;
width:100%;
overflow:hidden;
transition:.5s;
z-index:20
}

#sp-menu.active #menu-list {
height:calc(100vh)
}

#sp-menu #menu-list > #menu-list-inner {
margin:0;
transition:.5s;
height:calc(100vh);
overflow:auto;
-webkit-overflow-scrolling:touch
}

#sp-menu #menu-list #menu-list-inner nav > ul {
padding:100px 0 0;
margin:0
}

#sp-menu.active #menu-list #menu-list-inner #sp_menu-main_passo {
background:#f7f7f7
}

#sp-menu.active #menu-list #menu-list-inner #sp_menu-main {
background:#ffffff
}

#sp-menu #menu-list #menu-list-inner nav > ul > li {
list-style:none;
opacity:0;
transition:.5s;
margin-bottom:0
}

#sp-menu.active #menu-list #menu-list-inner nav > ul > li {
opacity:1
}

#sp-menu.active #menu-list #menu-list-inner nav > ul > li:nth-child(2) {
transition-delay:.05s
}

#sp-menu.active #menu-list #menu-list-inner nav > ul > li:nth-child(3) {
transition-delay:.1s
}

#sp-menu.active #menu-list #menu-list-inner nav > ul > li:nth-child(4) {
transition-delay:.15s
}

#sp-menu.active #menu-list #menu-list-inner nav > ul > li:nth-child(5) {
transition-delay:.2s
}

#sp-menu.active #menu-list #menu-list-inner nav > ul > li:nth-child(6) {
transition-delay:.25s
}

#sp-menu.active #menu-list #menu-list-inner nav > ul > li:nth-child(7) {
transition-delay:.3s
}

#sp-menu.active #menu-list #menu-list-inner nav > ul > li:nth-child(8) {
transition-delay:.35s
}

#sp-menu.active #menu-list #menu-list-inner nav > ul > li:nth-child(9) {
transition-delay:.4s
}

#sp-menu.active #menu-list #menu-list-inner nav > ul > li {
transition-delay:0!important
}

#sp-menu #menu-list #menu-list-inner nav > ul > li > a,#sp-menu #menu-list #menu-list-inner nav > ul > li > span {
color:#000;
text-decoration:none;
padding:11px 0 45px;
display:block;
font-size:24px;
font-family:'Quicksand',sans-serif;
font-weight:bold;
text-align:center
}

#sp-menu #menu-list #menu-list-inner nav > ul > li > ul {
display:none;
padding:0 0 0 14px;
margin:0
}

#sp-menu #menu-list #menu-list-inner nav > ul > li > ul > li {
list-style:none;
margin-bottom:0
}

#sp-menu #menu-list #menu-list-inner nav > ul > li > ul > li.current::before {
content:'';
background-size:5px;
width:5px;
margin-left:-5px;
height:10px;
float:left;
margin-top:12px
}

#sp-menu #menu-list #menu-list-inner nav > ul > li > ul > li:last-child {
margin-bottom:14px
}

.top-news-list .text
#sp-menu #menu-list #menu-list-inner nav > ul > li > ul > li > a {
color:#010101;
text-decoration:none;
padding:7px;
display:block;
font-size:14px
}

#sp_menu-main .contact a {
display:block;
width:53%;
margin:0 auto;
padding:12px 0;
border-radius:50px;
background-color:#000;
color:#fff;
font-size:24px;
font-weight:700;
text-align:center;
-webkit-transition:background-color .2s;
transition:background-color .5s;
font-family:'Quicksand',sans-serif
}

#sp_menu-main .contact a:hover,.global-nav .contact a:active {
background-color:#ee710e;
text-decoration:none;
color:#fff;
}
}

/* -------------------------------- header -------------------------------- */

header {
    height: calc(100px - 4rem);
    right: 0;
    bottom: 0;
    left: 0;
    position: absolute;
    top: 0;
	position: fixed;
	z-index: 10;
}

#top-heading-wrapper {
    overflow: hidden;
    position: relative;
    height: 100vh;
    min-height: 600px;
	z-index: 1000;
}

#top-heading {
	width: 100%;
    height: 100%;
	position: relative;
}

@media screen and (max-width: 1100px) { 
	header {
    height: calc(100px - 4rem);
    right: 0;
    bottom: 0;
    left: 0;
    position: fixed;
    top: 0;
	z-index: 10;
}
}

/* -------------------------------- footer -------------------------------- */

footer {
width:100%;
padding-bottom:20px;
background:url(/image/bg-footer.png)center / cover
}

footer .footer-inner {
padding:150px 0 100px;
display:-webkit-flex;
display:flex;
-webkit-justify-content:center;
justify-content:center;
-webkit-align-items:center;
align-items:center
}

footer .copy {
text-align:center;
font-size:10px;
opacity:.7
}

footer .footer-inner .logo {
width:135px;
margin-right:84px
}

footer .footer-inner .logo:hover,footer .footer-inner .sns img:hover {
opacity:.7;
filter:alpha(opacity=70);
-moz-opacity:.7;
-webkit-transition:.3s ease-in-out;
-moz-transition:.3s ease-in-out;
-o-transition:.3s ease-in-out;
transition:.3s ease-in-out
}

footer .footer-inner .sns ul {
display:flex
}

footer .footer-inner .sns li {
width:30px;
margin-left:26px
}

.pagetop {
margin:0 auto 20px;
width:83px
}

.pagetop a:hover {
opacity:.7;
filter:alpha(opacity=70);
-moz-opacity:.7;
-webkit-transition:.3s ease-in-out;
-moz-transition:.3s ease-in-out;
-o-transition:.3s ease-in-out;
transition:.3s ease-in-out
}

@media screen and (max-width: 767px) {
footer .footer-inner {
padding:150px 20px 100px
}

footer .footer-inner .logo {
width:34%;
margin-right:30px
}

footer .footer-inner .sns li {
width:45px;
margin:0 4%
}

.pagetop {
margin:0 auto 20px;
width:18%
}
}

/* -------------------------------- others -------------------------------- */
.heading {
position:relative;
padding-bottom:20px;
background:url(/image/bg-others.png)center / cover;
height:546px
}

.pr-heading {
position:relative;
padding-bottom:20px
}

.pr-heading .thumbnail img {
width: 100%;
height:946px;
object-fit:cover
}

.heading-inner {
margin:0 auto;
padding:0 70px;
max-width:1438px
}

.heading-inner h1 {
padding:240px 70px 10px 10px;
font-size:60px;
display:inline-block;
font-family:'Quicksand',sans-serif;
border-bottom:4px solid #fff;
color:#fff;
font-weight:700
}

.subTitle-bgcover {
position:relative;
background:url(/image/news-bgcover.png) no-repeat 46.9% top;
margin-top:-138px
}

.heading-subTitle {
margin:0 auto;
padding:0 70px;
max-width:1438px
}

.heading-subTitle .subTitle {
position:relative;
width:100%;
background:#fff;
margin-bottom:100px;
padding:68px 0 100px
}

.heading-subTitle .subTitle h2 {
font-weight:500;
padding:0 40px 10px 0;
border-bottom:2px solid #000;
display:inline-block;
font-size:25px
}

.heading-subTitle2 {
margin:0 auto;
padding:0 70px;
max-width:1100px
}

.heading-subTitle2 .subTitle {
position:relative;
width:100%;
background:#fff;
margin-bottom:100px;
padding:30px 0 0
}

.heading-subTitle2 .tag-name-box {
margin:0 0 50px
}

.heading-subTitle2 .tag-name {
margin-right:10px;
font-size:12px;
color:#999
}

.heading-subTitle2 .category {
margin-bottom:30px;
color:#666;
font-size:22px;
font-weight:bold;
letter-spacing:.2em
}

.heading-subTitle2 .subTitle h1 {
font-weight:700;
font-size:42px;
line-height:1.5em
}

.container {
position:relative;
margin:0 auto 230px;
max-width:1100px;
padding:0 70px
}

.container2 {
margin:0 auto;
padding:0 70px;
max-width:1438px;
position:relative;
z-index:1
}

.container .post-content {
margin-bottom:150px
}

.container p {
font-size:17px;
margin-bottom:1.5em;
line-height:1.9
}

.left-0 {
left:0!important
}

.detail-content .date {
display:inline-block;
font-weight:bold;
font-size:19px;
margin:0 20px 0 0;
vertical-align:middle;
font-family:'Quicksand',sans-serif
}

.detail-content .category {
display:inline-block;
background:#000;
color:#fff;
font-weight:bold;
font-size:14px;
padding:4px 20px;
border-radius:60px;
line-height:1em
}

.detail-content .day {
display:block;
margin-bottom:36px
}

.detail-content h3 {
font-size:45px;
margin-bottom: 1em;
font-weight:500;
line-height:1.3
}

.detail-content h4 {
font-size:25px;
font-weight:500;
margin-bottom:1.2em;
line-height:1.3
}

.container .news-c img {
margin:100px 0
}

.search-box {
position:absolute;
top:-240px;
right:7%
}

.search-box span {
margin-right:23px;
color:#696969;
font-family:'Quicksand',sans-serif
}

.search-box input {
width:300px;
padding:10px 28px 8px;
border-radius:60px;
background:#f2f2f2;
font-size:14px
}

.search-box button {
padding:0;
border:none;
background:transparent
}

.search-box button img {
display:block;
width:20px;
position:absolute;
top:11px;
right:20px
}

.pagination {
display:flex;
justify-content:center;
align-items:center;
margin-bottom:230px
}

.detail-content .view-btn-n {
position:relative;
display:inline-block
}

.detail-content .view-btn-n a {
width:170px;
display:inline-block;
border:2px solid #000;
padding:12px 0;
text-align:center;
border-radius:60px;
font-size:17px;
font-weight:700;
font-family:'Quicksand',sans-serif
}

.detail-content .view-btn-n .view-more-hover {
position:absolute;
transition:all .3s ease-out;
display:inline-block;
width:17px;
left:138px;
height:17px
}

.detail-content .view-btn-n .view-more-hover::before {
content:"";
display:block;
position:absolute;
top:8px;
left:0;
width:100%;
height:2px;
background:#000
}

.detail-content .view-btn-n .view-more-hover::after {
content:"";
display:block;
position:absolute;
top:2px;
right:-5px;
width:13px;
height:13px;
border:2px solid;
border-color:transparent transparent #000 #000;
transform:rotate(-135deg)
}

.detail-content .view-btn-n a:hover .view-more-hover {
width:50px
}

.detail-content {
margin-top:50px
}

.detail-content .view-btn-p {
position:relative;
display:inline-block
}

.detail-content .view-btn-p a {
width:170px;
display:inline-block;
border:2px solid #000;
padding:12px 0;
text-align:center;
border-radius:60px;
font-size:17px;
font-weight:700;
font-family:'Quicksand',sans-serif
}

.detail-content .view-btn-p .view-more-hover {
position:absolute;
right:139px;
transition:all .3s ease-out;
display:inline-block;
width:14px;
height:14px
}

.detail-content .view-btn-p .view-more-hover::before {
content:"";
display:block;
position:absolute;
top:8px;
left:0;
width:100%;
height:2px;
background:#000
}

.detail-content .view-btn-p .view-more-hover::after {
content:"";
display:block;
position:absolute;
top:2px;
left:-4px;
width:13px;
height:13px;
border:2px solid;
border-color:transparent transparent #000 #000;
transform:rotate(42deg)
}

.detail-content .view-btn-p a:hover .view-more-hover {
width:50px
}

.others .news-block {
width:100%;
margin:0;
padding:0
}

.entry-title {
text-align:center;
margin:0 0 50px;
font-size:20px
}

.news-list-icon {
width:30px;
margin:0 30px
}

.news-list-icon a:hover {
opacity:.7;
filter:alpha(opacity=70);
-moz-opacity:.7;
-webkit-transition:.3s ease-in-out;
-moz-transition:.3s ease-in-out;
-o-transition:.3s ease-in-out;
transition:.3s ease-in-out
}

.news-list .news-top {
display:block;
margin-bottom:20px
}

.news-list li {
position:relative;
z-index:1
}

.news-list li a {
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
text-indent:-999px;
z-index:2
}

.news-list li:hover {
opacity:.7
}

.news-list .text {
display:inline-block;
width:75%
}

.news-list .text span {
margin-bottom:16px;
font-weight:bold;
font-size:17px
}

.news-list .text p {
font-size:14px;
line-height:1.7
}

.news-list .view-more-hover {
position:absolute;
transition:all .3s ease-out;
top:28%;
margin-left:5%;
display:inline-flex;
width:50px;
height:50px;
z-index:0
}

.news-list .view-more-hover::before {
content:"";
display:block;
position:absolute;
top:8px;
left:0;
width:100%;
height:2px;
background:#000
}

.news-list .view-more-hover::after {
content:"";
display:block;
position:absolute;
top:-1px;
right:-5px;
width:20px;
height:20px;
border:2px solid;
border-color:transparent transparent #000 #000;
transform:rotate(-135deg)
}

.news-list li:hover .view-more-hover {
width:80px
}

.others .container .tag-name {
margin-right:10px;
font-size:12px;
color:#999
}

.others .container .text .tag-name-box {
margin-top:30px
}

.view-more {
text-align:center
}

.view-more .view-btn {
margin:150px auto 0;
display:inline-flex
}

.view-more .view-btn a {
border:2px solid #000;
padding:15px 80px;
border-radius:60px;
font-size:25px;
font-weight:700;
font-family:'Quicksand',sans-serif
}

.view-more .view-btn .view-more-hover {
position:absolute;
transition:all .3s ease-out;
margin-left:30px;
display:inline-block;
width:25px;
height:25px
}

.view-more .view-btn .view-more-hover::before {
content:"";
display:block;
position:absolute;
top:12px;
left:0;
width:100%;
height:2px;
background:#000
}

.view-more .view-btn .view-more-hover::after {
content:"";
display:block;
position:absolute;
top:3px;
right:-5px;
width:20px;
height:20px;
border:2px solid;
border-color:transparent transparent #000 #000;
transform:rotate(-135deg)
}

.view-more .view-btn a:hover .view-more-hover {
width:90px
}

@media screen and (max-width: 767px) {
.heading {
max-height:278px
}

.heading-inner h1 {
padding:125px 10px 5px 3px;
font-size:31px;
border-bottom:2px solid #fff;
transform:scale(1,1);
font-weight:700
}

.pr-heading .thumbnail img {
height:278px
}
	
.pr-heading {
padding-bottom:0
}

.heading-inner,.container2 {
padding:0 20px
}

.heading-subTitle {
width:100%;
padding:0 20px
}

.heading-subTitle .subTitle {
margin-bottom:80px;
padding:28px 0 5px
}

.heading-subTitle .subTitle h2 {
font-weight:700;
padding:0 20px 10px 0;
font-size:15px
}

.heading-subTitle2 {
width:100%;
padding:0 20px
}

.heading-subTitle2 .subTitle {
margin-bottom:60px;
padding:28px 0 5px
}
.heading-subTitle2 .category {
font-size: 14px;
}
.heading-subTitle2 .tag-name-box {
    margin: 0 0 30px;
}

.heading-subTitle2 .subTitle h2 {
font-weight:700;
padding:0 20px 10px 0;
font-size:15px
}

.subTitle-bgcover {
position:relative;
background:url(/image/sp_news-bgcover.png) no-repeat 86% top;
margin-top:-30px
}

.container {
margin:0 auto 140px;
padding:0 20px
}

.others #contact-block {
padding:0 20px!important
}

.container .post-content {
margin-bottom:90px
}

.detail-content {
margin-top:27px
}

.news-list .text span {
font-size:15px;
margin-bottom:7px
}

.news-list .text p {
font-size:10px
}

.detail-content .date {
font-size:15px
}

.detail-content .category {
font-size:10px;
padding:4px 10px
}

.detail-content .day {
margin-bottom:20px
}

.detail-content h3 {
font-size:20px;
font-weight:700
}

.detail-content h4 {
font-size:16px;
font-weight:700
}

.container .post-content img {
margin:60px 0
}

.detail-content p {
font-size:13px;
margin-bottom:1.5em;
line-height:1.9
}

.detail-content .view-btn-p a,.detail-content .view-btn-n a {
width:130px;
padding:8px 0;
font-size:14px
}

.news-list-icon {
width:20px;
margin:0 20px
}

.detail-content .view-btn-p .view-more-hover {
right:108px;
width:8px;
height:12px
}

.detail-content .view-btn-p .view-more-hover::before {
top:7px;
left:0
}

.detail-content .view-btn-p .view-more-hover::after {
top:3px;
left:-4px;
width:9px;
height:9px
}

.detail-content .view-btn-p a:hover .view-more-hover {
width:20px
}

.detail-content .view-btn-n .view-more-hover {
width:8px;
left:107px;
height:17px
}

.detail-content .view-btn-n .view-more-hover::before {
top:7px;
left:0
}

.detail-content .view-btn-n .view-more-hover::after {
top:3px;
right:-5px;
width:9px;
height:9px
}

.pagination {
margin-bottom:140px
}

.others .news-block {
width:100%
}

#others .container .tag-name {
font-size:11px
}

.others .container .tag-name-box {
margin:10px 0 0!important
}

.others .container .tag-name {
font-size:11px
}

.search-box {
position:absolute;
top:-110px;
right:20px
}

.search-box span {
display:none
}

.search-box input {
width:140px;
padding:8px 12px 7px;
border-radius:60px;
background:#f2f2f2;
font-size:10px
}

.search-box button img {
display:block;
width:13px;
position:absolute;
top:9px;
right:13px
}

.news-list .view-more-hover {
position:absolute;
top:25%;
width:20px;
height:50px
}

.news-list .view-more-hover::after {
content:"";
display:block;
position:absolute;
top:2px;
right:-5px;
width:14px;
height:14px;
border:2px solid;
border-color:transparent transparent #000 #000;
transform:rotate(-135deg)
}
	
.news-list .text {
width: 85%;
}

.news-list li:hover .view-more-hover {
width:30px
}

.view-more .view-btn {
width:80%;
margin:90px auto 0
}

.view-more .view-btn a {
width:88%;
padding:15px 0;
border-radius:60px;
font-size:20px;
display:inline-block
}

.view-more .view-btn .view-more-hover {
margin-left:3%;
width:20px;
height:20px
}

.view-more .view-btn .view-more-hover::before {
top:10px;
left:0;
width:100%;
height:2px
}

.view-more .view-btn .view-more-hover::after {
top:3px;
right:-5px;
width:17px;
height:17px
}

.view-more .view-btn a:hover .view-more-hover {
width:40px;
}

.heading-subTitle2 .subTitle h1 {
font-size:30px
}
}

@media screen and (max-width: 320px) {
.detail-content .view-btn-p a,.detail-content .view-btn-n a {
width:110px
}

.news-list-icon {
width:20px;
margin:0 10px
}
}

/* -------------------------------- scroll-next -------------------------------- */

.scroll-next {
position:absolute;
bottom:60px;
left:50%;
z-index:100;
height:3em;
transform:translate(-50%,-50%);
-webkit-transform:translate(-50%,-50%);
-ms-transform:translate(-50%,-50%)
}

.scroll-next p {
margin-bottom:10px;
color:#fff;
font-family:'Quicksand',sans-serif;
font-weight:600;
font-size:15px;
letter-spacing:.2em
}

.scroll-next .arrow {
width:36px;
margin:0 auto;
overflow:hidden
}

.animated {
animation:move-y 1s infinite alternate ease-in-out;
display:inline-block;
color:red
}

@keyframes move-y {
from {
transform:translateY(-30px)
}

to {
transform:translateY(0)
}
}

@media screen and (max-width: 1100px) {
.scroll-next p {
font-size:11px
}

.scroll-next .arrow {
width:26px
}
.scroll-next {
bottom:5%;
}
}


/* -------------------------------- background -------------------------------- */

.bg {
position:relative;
overflow:hidden;
width:100%;
z-index:0;
padding-bottom:330px;
background:#f3eee8;
background:-moz-linear-gradient(left,#e4d9e1 0%,#ede4db 100%);
background:-webkit-linear-gradient(left,#e8e8e8 0%,#dfe1e8 100%);
background:linear-gradient(to right,#e8e8e8 0%,#eff1f7 100%);
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e4d9e1',endColorstr='#ede4db',GradientType=1)
}

.shape {
border-radius:50%;
position:absolute;
width:37em;
height:30em;
-moz-filter:blur(4em);
-ms-filter:blur(4em);
filter:blur(4em)
}

#shape1 {
left:-10%;
top:0;
background-color:#e7ddd3;
z-index:2
}

#shape2 {
left:80%;
top:15%;
background-color:#d2d6e2;
z-index:5
}

#shape3 {
left:35%;
top:26%;
background-color:#e2d3dd;
z-index:3
}

#shape4 {
left:0;
top:30%;
background-color:#e2e0d6;
z-index:-4
}

#shape5 {
left:0;
top:50%;
background-color:#CAD5DF;
z-index:-4
}

#shape6 {
left:0;
top:80%;
background-color:#e2d6de;
z-index:-4
}

.bg-blur01 {
animation-name:bg-blur01;
animation-duration:7s;
animation-iteration-count:infinite;
animation-fill-mode:forwards
}

@keyframes bg-blur01 {
0% {
transform:scale(2.5) translateX(10%) translateY(10%)
}

40% {
transform:scale(2) translateX(90%) translateY(90%)
}

70% {
transform:scale(1.8) translateX(90%) translateY(80%)
}

100% {
transform:scale(2.5) translateX(10%) translateY(10%)
}
}

.bg-blur02 {
animation-name:bg-blur02;
animation-duration:12s;
animation-iteration-count:infinite;
animation-fill-mode:forwards
}

@keyframes bg-blur02 {
0% {
transform:scale(1.5) translateX(0%) translateY(5%)
}

50% {
transform:scale(2.5) translateX(-20%) translateY(-80%)
}

100% {
transform:scale(1.5) translateX(0%) translateY(5%)
}
}

.bg-blur03 {
animation-name:bg-blur03;
animation-duration:11s;
animation-iteration-count:infinite;
animation-fill-mode:forwards
}

@keyframes bg-blur03 {
0% {
transform:scale(1.5) translateX(10%) translateY(0)
}

50% {
transform:scale(2.5) translateX(90%) translateY(30%)
}

100% {
transform:scale(1.5) translateX(10%) translateY(0)
}
}

.bg-blur04 {
animation-name:bg-blur04;
animation-duration:8s;
animation-iteration-count:infinite;
animation-fill-mode:forwards
}

@keyframes bg-blur04 {
0% {
transform:scale(2.5) translateX(20%) translateY(-10%)
}

50% {
transform:scale(1.5) translateX(90%) translateY(90%)
}

100% {
transform:scale(2.5) translateX(20%) translateY(-10%)
}
}

.bg-blur05 {
animation-name:bg-blur04;
animation-duration:12s;
animation-iteration-count:infinite;
animation-fill-mode:forwards
}

@keyframes bg-blur05 {
0% {
transform:scale(1.5) translateX(20%) translateY(10%)
}

50% {
transform:scale(3.5) translateX(50%) translateY(40%)
}

100% {
transform:scale(1.5) translateX(20%) translateY(10%)
}
}

.bg-blur06 {
animation-name:bg-blur06;
animation-duration:9s;
animation-iteration-count:infinite;
animation-fill-mode:forwards
}

@keyframes bg-blur06 {
0% {
transform:scale(2.5) translateX(60%) translateY(10%)
}

50% {
transform:scale(1.5) translateX(40%) translateY(60%)
}

100% {
transform:scale(2.5) translateX(60%) translateY(10%)
}
}





/* ------------------------------mainvisual-------------------------------- */
.main-scroll {
position:absolute;
right:51px;
bottom:30px;
-webkit-transition:.5s all ease-out 0s;
-o-transition:.5s all ease-out 0s;
transition:.5s all ease-out 0s;
opacity:1;
width:21px;
height:133px
}

.main-scroll.-hide {
opacity:0
}

.main-scroll__txt {
width:11px;
position:absolute;
right:0;
top:0
}

.main-scroll__icon {
width:1px;
height:100%;
position:absolute;
left:0;
top:0
}

.main-scroll__iconwrap {
width:100%;
height:1px;
position:relative;
-webkit-animation:icon-scroll__anim 3.5s linear 0s infinite;
animation:icon-scroll__anim 3.5s linear 0s infinite
}

.main-scroll__iconwrap2 {
width:100%;
height:100%;
position:absolute;
left:0;
bottom:0;
-webkit-animation:icon-scroll__anim2 3.5s linear 0s infinite;
animation:icon-scroll__anim2 3.5s linear 0s infinite
}

.main-scroll__iconwrap2 > .line {
width:1px;
height:100%;
background:#422914;
position:absolute;
left:50%;
top:0
}

.top-visual01 {
position:absolute;
width:80%;
top:47%;
left:50%;
transform:translate(-50%,-50%);
-webkit-transform:translate(-50%,-50%);
-ms-transform:translate(-50%,-50%)
}

@media screen and (max-width: 896px) {
.top-visual01 {
width:100%;
top:46%
}

.mainvisual01 {
animation-name:sp_mainvisual01!important
}

#top-heading-wrapper {
height:95vh;
min-height:auto;
min-height:initial
}
}

@keyframes sp_mainvisual01 {
0% {
filter:blur(10px)
}

100% {
filter:blur(0)
}

from {
opacity:0;
transform:translateY(20px);
transform:scale(1)
}

to {
opacity:1;
transform:translateY(0);
transform:scale(0.7)
}
}

.top-visual02 {
position:absolute;
width:27%;
margin-top:-2%;
top:50%;
left:50%;
transform:translate(-50%,-50%);
-webkit-transform:translate(-50%,-50%);
-ms-transform:translate(-50%,-50%)
}

@media screen and (max-width: 896px) {
.top-visual02 {
width:60%;
top:46%;
margin-top:-1%
}
}

.top-visual03 {
position:absolute;
margin-top:10%;
width:36%;
top:50%;
left:50%;
transform:translate(-50%,-50%);
-webkit-transform:translate(-50%,-50%);
-ms-transform:translate(-50%,-50%)
}

@media screen and (max-width: 896px) {
.top-visual03 {
width:80%;
top:46%;
margin-top:20%
}
}

.mainvisual01 {
animation-name:mainvisual01;
animation-duration:4s;
animation-iteration-count:1;
animation-fill-mode:forwards
}

.mainvisual02 {
margin:30px 0;
filter:blur(11px);
animation-name:mainvisual02;
animation-duration:9s;
animation-iteration-count:1;
animation-fill-mode:forwards
}

.mainvisual03 {
animation-name:mainvisual03;
animation-duration:10s;
animation-iteration-count:1;
text-align:center;
animation-fill-mode:forwards
}

.element {
animation-name:scale;
animation-duration:10s
}



@keyframes mainvisual01 {
0% {
filter:blur(10px)
}

100% {
filter:blur(0)
}

from {
opacity:0;
transform:translateY(20px);
transform:scale(1)
}

to {
opacity:1;
transform:translateY(0);
transform:scale(0.41)
}
}

@keyframes mainvisual02 {
0% {
opacity:0;
filter:blur(10px)
}

30% {
opacity:0;
filter:blur(10px)
}

100% {
opacity:1;
filter:blur(0)
}
}

@keyframes mainvisual03 {
0% {
opacity:0
}

40% {
opacity:0;
transform:translateY(20px)
}

60% {
opacity:0;
transform:translateY(20px)
}

100% {
opacity:1;
transform:translateY(0)
}
}

main {
min-height:calc(100vh - 250px + 9.35rem);
padding-bottom:250px;
-moz-box-sizing:border-box;
-webkit-box-sizing:border-box;
-ms-box-sizing:border-box;
box-sizing:border-box;
width:100%
}



/* -------------------------------- CONCEPT -------------------------------- */
#concept-block {
margin:0 auto;
max-width:1298px;
padding-top:140px;
margin-top:-140px;
z-index:100
}

.concept-block {
padding-top:6rem;
margin:6rem 0;
position:relative;
z-index:100
}

#concept-block .title {
width:108px;
color:#fff;
position:absolute;
left:30%;
z-index:100
}

#concept-block .contents {
padding-top:100px;
max-width:750px;
margin-left:48%
}

#concept-block .contents h3 {
font-size:31px;
line-height:1.4;
font-family:'Quicksand',sans-serif
}

#concept-block .contents p {
margin-top:70px;
line-height:2.5em;
font-size:18px;
font-weight:600
}

#concept-block .contents p span {
display:block
}


@media screen and (max-width: 767px) {
#concept-block {
padding:65px 20px 0;
margin-top:-65px;
}

.concept-block {
padding-top:0
}

#concept-block .title {
width:20%;
left:0
}

#concept-block .contents {
padding-top:30px;
margin-left:28%
}

#concept-block .contents h3 {
font-size:25px
}

#concept-block .contents p {
margin-top:40px;
line-height:2.5em;
font-size:16px
}

#concept-block .contents p span {
display:inline
}

.bg {
padding-bottom:200px
}
}




/* -------------------------------- NEWS -------------------------------- */
#news-block {
max-width:1298px;
margin:0 auto
}

.news-bgcover {
position:relative;
background:url(/image/news-bgcover.png) no-repeat center top;
margin-top:-138px
}

.news-block {
width:990px;
padding:65px 0 0;
margin:0 0 230px;
position:relative;
background:#fff
}

#news-block .title {
width:57px;
position:absolute;
left:30px
}

#news-block .contents {
padding-top:135px;
max-width:70%;
margin-left:20%
}

#news-block .contents h3 {
font-size:17px;
line-height:1.4;
border-bottom:2px solid #000;
right:50px;
padding:0 0 10px 40px;
position:absolute;
display:inline-block;
top:40px
}

#news-block .view-btn {
position:absolute;
right:50px;
top:120px
}

#news-block .view-btn a {
border:2px solid #000;
padding:7px 35px;
border-radius:60px;
font-size:15px;
font-family:'Quicksand',sans-serif;
font-weight:700
}

#news-block .view-btn .view-more-hover {
position:absolute;
transition:all .3s ease-out;
margin-left:10px;
display:inline-flex;
width:12px;
height:20px
}

#news-block .view-btn .view-more-hover::before {
content:"";
display:block;
position:absolute;
top:8px;
left:0;
width:100%;
height:2px;
background:#000
}

#news-block .view-btn .view-more-hover::after {
content:"";
display:block;
position:absolute;
top:4px;
right:-5px;
width:10px;
height:10px;
border:2px solid;
border-color:transparent transparent #000 #000;
transform:rotate(-135deg)
}

#news-block .view-btn a:hover .view-more-hover {
width:50px
}

.news-block .date {
display:inline-block;
font-weight:bold;
font-size:19px;
margin:0 20px 0 0;
vertical-align:middle;
font-family:'Quicksand',sans-serif
}

.news-block .category {
display:inline-block;
background:#000;
color:#fff;
font-weight:bold;
font-size:14px;
padding:4px 20px;
border-radius:60px;
line-height:1em
}

.news-block .disb {
display:block
}

.top-news-list .news-top {
margin-bottom:20px;
display:block
}

.news-block ul li {
margin:0 0 50px
}

.others .news-block ul li {
height:240px;
overflow:hidden;
margin:0
}

.news-block ul li:last-child {
margin:0
}

.news-inner {
position:relative;
z-index:0
}

.top-news-list .view-more-hover {
position:absolute;
transition:all .3s ease-out;
top:65%;
margin-left:5%;
display:inline-flex;
width:50px;
height:50px;
z-index:0
}

.top-news-list .view-more-hover::before {
content:"";
display:block;
position:absolute;
top:8px;
left:0;
width:100%;
height:2px;
background:#000
}

.top-news-list .view-more-hover::after {
content:"";
display:block;
position:absolute;
top:-1px;
right:-5px;
width:20px;
height:20px;
border:2px solid;
border-color:transparent transparent #000 #000;
transform:rotate(-135deg)
}

.top-news-list li:hover .view-more-hover {
width:100px
}

.top-news-list li:hover {
opacity:.7
}

.top-news-list li {
position:relative;
z-index:1
}

.top-news-list li a {
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
text-indent:-999px;
z-index:2
}

.top-news-list .text {
display:inline-block;
width:90%
}

.top-news-list .text span {
margin-bottom:16px;
font-weight:bold;
font-size:17px
}

.top-news-list .text p {
font-size:14px;
line-height:1.6
}

@media screen and (max-width: 767px) {
.news-block {
width:100%;
margin:0 0 140px;
background:none
}

.others .news-block {
margin:0
}

.news-bgcover {
position:relative;
background:url(/image/sp_news-bgcover.png) no-repeat 86% top;
margin-top:-138px
}

#news-block .title {
width:12%;
left:0
}

#news-block {
padding:0 20px
}

#news-block .contents {
padding-top:135px;
max-width:66%;
margin-left:25%
}

.top-news-list .text p {
font-size:12px
}

.top-news-list .text span {
font-size:15px
}

.top-news-list .text {
display:inline-block;
width:90%
}

#news-block .contents h3 {
font-size:13px;
line-height:1;
right:40px;
padding:0 0 6px 40px;
top:40px
}

.top-news-list .view-more-hover {
top:50%;
margin-left:5%;
width:20px;
height:50px
}

.top-news-list li:hover .view-more-hover {
width:25px
}

.top-news-list .view-more-hover::before {
top:8px;
left:0;
width:100%;
height:2px
}

.top-news-list .view-more-hover::after {
top:2px;
right:-5px;
width:14px;
height:14px
}

.news-block .date {
font-size:16px
}

.news-block .category {
font-size:11px;
line-height:11px;
}

.top-news-list .news-top {
margin-bottom:20px
}

#news-block .view-btn a {
padding:6px 30px;
font-size:13px
}

#news-block .view-btn {
right:40px;
top:90px
}

#news-block .view-btn .view-more-hover {
margin-left:6px;
width:10px;
height:20px
}

#news-block .view-btn .view-more-hover::before {
top:6px;
left:0;
width:100%
}

#news-block .view-btn .view-more-hover::after {
top:3px;
right:-5px;
width:9px;
height:9px
}

.others .news-block ul li {
height:190px
}
}

/* -------------------------------- INFO -------------------------------- */
#info-block {
margin:0 auto 74px;
max-width:1298px;
padding-top: 140px;
margin-top: -140px;
}

.info-block {
position:relative
}

#info-block .title {
width:57px;
margin-top:20px;
position:absolute;
left:30px;
z-index: 1;
}

#info-block .contents {
padding-top:100px;
max-width:660px;
margin-left:45%
}

#info-block .contents h3 {
font-size:17px;
line-height:1.4;
border-bottom:2px solid #000;
right:20px;
padding:0 0 10px 40px;
position:absolute;
display:inline-block;
top:0
}

#info-block .contents h4 {
width:180px
}

#info-block .contents p {
margin-top:55px;
line-height:2.2em;
font-size:18px
}

@media screen and (max-width: 767px) {
#info-block {
padding:65px 20px 0;
margin-top: -65px;
}

#info-block .contents h3 {
font-size:13px;
line-height:1;
right:0;
padding:0 0 6px 40px
}

#info-block .title {
width:12%;
left:0
}

#info-block .contents {
margin-left:25%
}

#info-block .contents h4 {
width:180px;
width:130px
}

#info-block .contents {
padding-top:180px
}

#info-block .contents p {
margin-top:35px;
font-size:16px;
line-height:2em;
letter-spacing:-.02em
}

#info-block .contents p span {
display:block
}
}


/* -------------------------------- googlemap -------------------------------- */
#google-map {
margin:0 auto 230px;
max-width:100%
}

#google-map iframe {
filter:grayscale(1);
-webkit-filter:grayscale(1)
}

.google-map {
position:relative;
padding-bottom:28%;
height:0;
overflow:hidden
}

.google-map iframe {
position:absolute;
top:0;
left:0;
width:100%!important;
height:100%!important
}

@media screen and (max-width: 767px) {
#google-map {
margin:0 auto 140px
}

.google-map {
padding-bottom:100%
}
}


/* -------------------------------- contact -------------------------------- */
#contact-block {
margin:0 auto 230px;
max-width:1298px
}

.others #contact-block {
margin:0 auto 230px;
padding:0 70px;
max-width:1438px
}

.contact-block {
position:relative
}

#contact-block .title {
margin-top:20px;
position:absolute;
right:23px;
width:60px
}

.others #contact-block .title {
right:0
}

#contact-block .contents {
padding-top:65px;
text-align:center
}

#contact-block .contents h3 {
font-size:17px;
line-height:1.4;
border-bottom:2px solid #000;
left:20px;
padding:0 40px 10px 0;
position:absolute;
display:inline-block;
top:0
}

.others #contact-block .contents h3 {
left:0
}

#contact-block .contents p {
line-height:2.2em
}

#contact-block .view-btn {
margin:36px auto;
display:inline-block
}

#contact-block .view-btn a {
border:2px solid #000;
padding:20px 90px;
border-radius:60px;
font-size:30px;
font-weight:700
}

#contact-block .view-btn .view-more-hover {
position:absolute;
transition:all .3s ease-out;
margin-left:40px;
display:inline-block;
width:25px;
height:25px
}

#contact-block .view-btn .view-more-hover::before {
content:"";
display:block;
position:absolute;
top:14px;
left:0;
width:100%;
height:2px;
background:#000
}

#contact-block .view-btn .view-more-hover::after {
content:"";
display:block;
position:absolute;
top:5px;
right:-5px;
width:20px;
height:20px;
border:2px solid;
border-color:transparent transparent #000 #000;
transform:rotate(-135deg)
}

#contact-block .view-btn a:hover .view-more-hover {
width:90px
}

@media screen and (max-width: 767px) {
#contact-block {
margin:0 auto 140px;
padding:0 20px
}

#contact-block .contents h3 {
font-size:13px;
line-height:1;
border-bottom:2px solid #000;
left:0
}

#contact-block .title {
right:0;
width:12%
}

#contact-block .contents {
padding-top:132px
}

#contact-block .contents p {
line-height:2em;
text-align:left;
padding-left:10px
}

#contact-block .view-btn {
width:100%;
margin:90px auto 0
}

#contact-block .view-btn a {
width:90%;
display:inline-block;
padding:20px 0;
font-size:27px;
letter-spacing:.1em
}

#contact-block .view-btn .view-more-hover {
width:20px;
height:20px;
margin-left:1.5%
}

#contact-block .view-btn .view-more-hover::after {
top:6px;
right:-4px;
width:17px;
height:17px
}

#contact-block .view-btn a:hover .view-more-hover {
width:40px
}
}


/* -------------------------------- PUBLIC PROJECT -------------------------------- */
#public-project-block {
margin:0 auto 150px;
max-width:1298px;
position:relative;
z-index:1
}

.public-project-block {
overflow:hidden;
margin-bottom:60px
}

.others .public-project-block {
margin-bottom:230px
}

.others .container2 .public-project-block h2 {
margin-bottom:20px;
font-size:30px;
font-weight:700;
font-family:'Quicksand',sans-serif
}

.others .container2 .public-project-block h3 {
margin-bottom:80px;
font-size:17px
}

#public-project-block .title {
margin-top:20px;
width:60px;
position:absolute;
right:23px
}

#public-project-block .public-project-title {
position:relative;
z-index:0
}

#public-project-block .contents {
padding-top:100px;
text-align:center
}

#public-project-block h3 {
font-size:17px;
line-height:1.4;
border-bottom:2px solid #000;
margin-left:20px;
padding:0 40px 10px 0;
display:inline-block;
top:0
}

#public-project-block .contents p {
margin-top:40px;
line-height:2.5em
}

#public-project-block .view-btn {
position:absolute;
left:20px;
top:80px
}

#public-project-block .view-btn a {
border:2px solid #000;
padding:7px 35px;
border-radius:60px;
font-size:15px;
font-family:'Quicksand',sans-serif;
font-weight:700
}

#public-project-block .view-btn .view-more-hover {
position:absolute;
transition:all .3s ease-out;
margin-left:10px;
display:inline-flex;
width:12px;
height:20px
}

#public-project-block .view-btn .view-more-hover::before {
content:"";
display:block;
position:absolute;
top:8px;
left:0;
width:100%;
height:2px;
background:#000
}

#public-project-block .view-btn .view-more-hover::after {
content:"";
display:block;
position:absolute;
top:4px;
right:-5px;
width:10px;
height:10px;
border:2px solid;
border-color:transparent transparent #000 #000;
transform:rotate(-135deg)
}

#public-project-block .view-btn a:hover .view-more-hover {
width:50px
}

.public-project-block .title {
width:75%;
margin-top:-25px;
padding:15px 15px 25px 0;
background:#fff;
position:relative
}

.public-project-block .text {
font-size:12px;
line-height:1.8em
}

.public-project-block .category {
margin-bottom:15px;
color:#666;
font-size:12px;
font-weight:bold;
letter-spacing:.2em
}

.public-project-block .p-title {
font-size:22px;
font-weight:bold;
line-height:1.4em
}

.public-project-block .tag-name-box {
margin:23px 0
}

.public-project-block .week-name {
background:#e6e6e6;
color:#666;
padding:7px 20px;
border-radius:60px;
font-family:'Quicksand',sans-serif;
font-weight:bold;
display:inline-block
}

.public-project-block .tag-name {
margin-right:10px;
font-size:11px;
color:#999
}

.public-project-arrow {
margin:0 auto 230px;
max-width:1298px;
position:relative
}

.public-project-arrow .arrow {
display:-webkit-flex;
display:flex;
margin:0 20px;
justify-content:space-between
}

.public-project-arrow .arrow .prev-btn {
width:170px;
left:0
}

.public-project-arrow .arrow .next-btn {
width:170px;
right:0
}

.public-project-arrow .prev-btn:hover,.public-project-arrow .next-btn:hover {
opacity:.7;
filter:alpha(opacity=70);
-moz-opacity:.7;
-webkit-transition:.3s ease-in-out;
-moz-transition:.3s ease-in-out;
-o-transition:.3s ease-in-out;
transition:.3s ease-in-out;
cursor:pointer
}

.others .project-list {
display:flex;
flex-wrap:wrap
}

.others .project-list li {
height:700px;
margin:0 65px 0 0;
width:calc(33.3333333% - 130px / 3)
}

.others .project-list li:nth-child(3n) {
margin-right:0
}

.container .pro-c img {
margin:0 0 50px;
}

.container .pro-c h2 {
margin:100px 0 1em;
font-size:25px;
	line-height: 2em;
}

.container .pro-c h3 {
margin:100px 0 30px;
font-size:23px;
	line-height: 2em;
}

.lecturers-profile-box {
padding:55px;
background:#f6f6f6;
display:flex
}

.lecturers-profile-box h3 {
font-size:22px!important;
margin:0 0 30px!important
}

.lecturers-profile-box img {
width:185px;
height:auto;
margin:0!important;
height: 185px;
object-fit: cover;
}

.lecturers-profile-box .wp-block-media-text__media {
width:245px
}

.lecturers-profile-box .wp-block-media-text__content {
width:70%
}

.entry-box {
margin-top:100px;
padding:55px;
border:5px solid #f2f2f2;
}

.entry-box h3 {
font-size:25px!important;
margin:0 0 50px!important;
}

.entry-box dl {
display:flex;
flex-wrap:wrap;
margin-bottom:60px;
line-height:1.5;
font-size:18px;
}

.entry-box dl dt {
width:25%;
font-weight:700
}

.entry-box dl dd {
width:75%;
margin-bottom:20px;
}

.entry-box dl dd:last-child {
margin-bottom:0;
}

.entry-box dl dd:before {
content:"：";
margin-left:-17px;
}

.info-box {
display:flex;
padding:55px;
border:5px #f2f2f2 solid;
}

.info-box .left {
margin-right:20%;
}

.info-box .left p {
color:#999;
font-size:30px;
font-family:'Quicksand',sans-serif;
font-weight:700;
line-height:1;
}

.info-box .right {
width:100%;
}

.info-box .right .title {
font-size:25px;
font-weight:700;
}

.info-box .right p {
font-size:17px;
line-height:1;
}

.info-box .right dl {
display:flex;
flex-wrap:wrap;
line-height:1.5;
font-size:17px;
}

.info-box .right dl dt {
width:25%;
font-weight: 700;
}

.info-box .right dl dd {
width:75%;
margin-bottom:20px;
}

.info-box .right dl dd:last-child {
margin-bottom:0
}

.info-box .right dl dd:before {
content:"：";
margin-left:-17px
}

.slider-wrapper {
position:relative;
z-index:0
}

.slider {
width:120%
}

.slick-slide {
padding-left:70px
}

.slick-track a:hover .thumbs {
border-radius:80px;
-webkit-border-radius:80px;
-moz-border-radius:80px;
-webkit-transition:.3s ease-in-out;
-moz-transition:.3s ease-in-out;
-o-transition:.3s ease-in-out;
transition:.3s ease-in-out
}

.slick-track a:hover .thumbs,.slick-track a:hover .p-title,.slick-track a:hover .text {
opacity:.7;
filter:alpha(opacity=70);
-moz-opacity:.7;
-webkit-transition:.3s ease-in-out;
-moz-transition:.3s ease-in-out;
-o-transition:.3s ease-in-out;
transition:.3s ease-in-out
}

.slick-track a:hover .p-title {
text-decoration:underline
}

.project-list a:hover .thumbs {
border-radius:80px;
-webkit-border-radius:80px;
-moz-border-radius:80px;
-webkit-transition:.3s ease-in-out;
-moz-transition:.3s ease-in-out;
-o-transition:.3s ease-in-out;
transition:.3s ease-in-out
}

.project-list a:hover .thumbs,.project-list a:hover .p-title,.project-list a:hover .text {
opacity:.7;
filter:alpha(opacity=70);
-moz-opacity:.7;
-webkit-transition:.3s ease-in-out;
-moz-transition:.3s ease-in-out;
-o-transition:.3s ease-in-out;
transition:.3s ease-in-out
}

.project-list a:hover .p-title {
text-decoration:underline
}

.thumbs {
position:relative;
width:100%;
height:0;
padding-bottom:100%;
overflow:hidden
}

.thumbs>img {
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
width:auto;
height:auto;
max-width:100%;
max-height:initial
}

.thumbs .mask {
width:100%;
height:100%;
position:absolute;
top:0;
left:0;
opacity:0;
-webkit-transition:all .2s ease;
transition:all .2s ease;
z-index:1
}

.slick-track a:hover .mask,.project-list a:hover .mask {
opacity:1
}

.thumbs .more-view {
font-size:200%;
text-align:center;
padding-top:46%;
color:#fff;
font-family:'Quicksand',sans-serif
}


:focus {
outline:none
}

@media screen and (max-width: 767px) {
.slider {
width:150%
}

.slick-slide {
padding-left:20px
}
.thumbs .more-view {
font-size:140%;
}
.project-list a:hover .thumbs {
border-radius:20px;
-webkit-border-radius:20px;
-moz-border-radius:20px;
}
}

@media screen and (max-width: 767px) {
#public-project-block {
margin:0 auto 140px
}

#public-project-block h3 {
margin-left:20px;
font-size:13px;
line-height:1;
left:0
}

#public-project-block .view-btn a {
padding:6px 30px;
font-size:13px
}

#public-project-block .view-btn {
top:90px
}

#public-project-block .view-btn .view-more-hover {
margin-left:6px;
width:10px;
height:20px
}

#public-project-block .view-btn .view-more-hover::before {
top:6px;
left:0;
width:100%
}

#public-project-block .view-btn .view-more-hover::after {
top:3px;
right:-5px;
width:9px;
height:9px
}

.public-project-arrow {
margin:0 auto 140px
}

#public-project-block .title {
right:20px;
width:11%
}

.public-project-block .title {
margin-top: -16px;
padding: 15px 10px 28px 1px;
margin-left: -1px;
}

.public-project-block .p-title {
font-size:18px;
letter-spacing:.2em
}

.others .public-project-block {
margin-bottom:140px
}

.others .public-project-block .p-title {
font-size:12px
}

.others .public-project-block .category {
margin-bottom:8px;
font-size:10px
}

.others .public-project-block .title {
padding:8px 5px 10px 0
}

.others .public-project-block .week-name {
font-size:11px
}

.others .public-project-block .tag-name-box {
margin:14px 0
}

.public-project-arrow .arrow {
padding:0 20px;
margin:0
}

.public-project-arrow .arrow .prev-btn {
width:30%;
left:0
}

.public-project-arrow .arrow .next-btn {
width:30%;
right:0
}

.public-project-block .week-name {
font-size:13px
}


.info-box .left {
margin-right:0
}

.info-box .left p {
font-size:24px
}

.info-box .right {
width:100%
}

.info-box .right .title {
font-size:19px
}

.info-box .right p {
font-size:17px;
line-height:1
}

.info-box .right dl {
display:flex;
flex-wrap:wrap;
line-height:1.5
}

.info-box .right dl dt {
width:25%;
width: 100% !important;
display: block;
}

.info-box .right dl dd {
width:75%;
margin-bottom:20px
}

.info-box .right dl dd:last-child {
margin-bottom:0
}

.info-box .right dl dd:before {
content:"：";
margin-left:-17px
}

.container .pro-c h2 {
margin:60px 0 1em;
font-size:19px
}

.entry-box h3 {
margin:0 0 50px!important;
font-size:19px!important
}

.container p {
font-size:13px
}

.lecturers-profile-box {
padding:30px;
display:block
}

.lecturers-profile-box .wp-block-media-text__media {
width:100%
}

.lecturers-profile-box img {
width:100%;
height:auto;
margin:0 0 40px!important
}

.lecturers-profile-box .wp-block-media-text__content {
width:100%
}

.lecturers-profile-box h3 {
font-size:18px!important;
margin:0 0 30px!important
}

.entry-box {
margin-top:60px;
padding:30px
}

.entry-box dl {
margin-bottom:40px;
line-height:1.5;
font-size:15px
}

.entry-box dl dt {
width:65%
}

.entry-box dl dd {
width:35%;
margin-bottom:20px
}
}

@media screen and (max-width: 970px) {
.info-box {
display:block;
margin-bottom:50px;
padding:25px;
}
	
.wp-block-image {
margin-bottom:0;
}

.info-box .left {
margin-right:0
}

.info-box .left p {
font-size:24px
}

.info-box .right {
width:100%
}

.info-box .right .title {
font-size:19px
}

.info-box .right p {
font-size:17px;
line-height:1
}

.info-box .right dl {
font-size: 14px;
}

.info-box .right dl dt {
width:100%
}

.info-box .right dl dd {
width:100%;
margin-bottom:20px
}

.info-box .right dl dd:last-child {
margin-bottom:0
}

.info-box .right dl dd:before {
content:"：";
margin-left:-17px;
display: none;
}
}

@media screen and (max-width: 767px) {
.others .project-list li {
max-height:400px;
margin:0 25px 0 0;
width:calc(50% - 50px / 4)
}

.others .project-list li:nth-child(2n) {
margin-right:0
}
.others .project-list li:nth-child(3n) {
margin-right: auto;
}
}


/* -------------------------------- CONTACT -------------------------------- */
.stepBar {
display:flex;
max-width:440px;
position:relative;
margin:0 auto;
text-align:center
}

.stepBar li {
font-size:20px;
list-style:none;
position:relative;
width:33.333%;
display:flex;
justify-content:center
}

.stepBar li.visited:first-child:before {
background:#000000;
content:"";
width:103px;
height:2px;
position:absolute;
top:39px;
right:0
}

.stepBar li:first-child:before {
background:#b3b3b3;
content:"";
width:110px;
height:2px;
position:absolute;
top:39px;
right:0
}

.stepBar li.visited:nth-child(2):before {
background:#000000;
content:"";
width:50%;
height:2px;
position:absolute;
top:39px;
}

.stepBar li:after {
background:#b3b3b3;
content:"";
width:100%;
height:2px;
position:absolute;
top:39px
}

.step01,.step02,.step03 {
height:80px;
margin-bottom:120px
}

.step01 .stepBar li:nth-child(2):before {
background:#000000;
content:"";
width:37%;
height:2px;
position:absolute;
top:39px;
left:0;
z-index:1
}

.step02 .stepBar li:first-child:before {
left:0;
width:65%;
z-index:1
}

.step02 .stepBar li:first-child:after {
background:#000
}

.step02 .stepBar li:last-of-type:before {
left:0;
width:65%;
z-index:1
}

.step02 .stepBar li:last-child:after {
background:#b3b3b3;
content:"";
width:70%;
height:2px;
position:absolute;
top:39px;
z-index:0;
right:0
}

.step02 .stepBar li.visited:nth-child(2):before {
width:140%;
left:0;
z-index:2
}

.stepBar li:last-child:after {
background:#b3b3b3;
content:"";
width:100%;
height:2px;
position:absolute;
top:39px;
z-index:0
}

.step03 .stepBar li:last-child:after {
background:#000
}

.step03 .stepBar li:nth-child(2):after {
background:#000;
z-index:-1
}

.step03 .stepBar li:first-child:before {
width:130%;
z-index:0;
left:0
}

.stepBar li span {
background:#fff;
border:2px solid #b3b3b3;
color:#b3b3b3;
display:inline-block;
height:80px;
line-height:79px;
position:absolute;
width:80px;
-moz-border-radius:50%;
-webkit-border-radius:50%;
z-index:6;
border-radius:50%
}

.stepBar .visited:after {
background:#000000
}

.stepBar .visited span {
background:#000000;
color:#fff;
border:2px solid #000
}

.contact-form .red {
color:#ff1215
}

.form-comment {
text-align:center
}

.form-comment p {
font-size:16px
}

.form-comment .must {
font-size:15px
}

.contact-form input,.contact-form textarea {
background:#f2f2f2;
width:100%;
font-size:16px
}

.contact-form textarea {
height:230px
}

.contact-form .form-group {
display:flex;
align-items:center;
margin-top:50px
}

.contact-form .form-group .title {
width:20%
}

.contact-form .form-group .content {
width:80%;
background:#f2f2f2;
padding:17px 14px
}

.g-recaptcha {
margin:120px 0 50px
}

.contact-btn {
text-align:center;
margin:50px auto;
position:relative
}

.contact-btn .view-btn {
display:block;
position:relative
}

.contact-btn .view-btn button {
border:2px solid #000;
background:#fff;
padding:20px 100px;
border-radius:60px;
font-size:30px;
font-weight:700
}

.contact-btn .view-more-hover {
position:absolute;
top:34px;
transition:all .3s ease-out;
display:inline-block;
width:25px;
height:25px;
margin-left:-50px
}

.contact-btn .view-more-hover::before {
content:"";
display:block;
position:absolute;
top:9px;
left:0;
width:100%;
height:2px;
background:#000
}

.contact-btn .view-more-hover::after {
content:"";
display:block;
position:absolute;
top:0;
right:-3px;
width:20px;
height:20px;
border:2px solid;
border-color:transparent transparent #000 #000;
transform:rotate(-135deg)
}

.contact-btn .view-btn:hover .view-more-hover {
width:90px
}

.enter .contact-btn-check,.check .view-btn {
display:none
}

.contact-btn .contact-btn-back {
display:inline-block;
position:relative
}

.contact-btn .contact-btn-back button {
border:2px solid #000;
background:#fff;
padding:20px 0;
width:300px;
border-radius:60px;
font-size:30px;
font-weight:700
}

.contact-btn .view-more-hover2 {
position:absolute;
top:34px;
transition:all .3s ease-out;
display:inline-block;
width:25px;
height:25px;
right:240px
}

.contact-btn .view-more-hover2::before {
content:"";
display:block;
position:absolute;
top:9px;
left:-7px;
width:100%;
height:2px;
background:#000
}

.contact-btn .view-more-hover2::after {
content:"";
display:block;
position:absolute;
top:0;
left:-10px;
width:20px;
height:20px;
border:2px solid;
border-color:transparent transparent #000 #000;
transform:rotate(45deg)
}

.contact-btn .contact-btn-back:hover .view-more-hover2 {
width:90px
}

.contact-btn .contact-btn-send {
display:contents;
position:relative
}

.contact-btn .contact-btn-send button {
border:2px solid #000;
background:#fff;
padding:20px 0;
width:300px;
border-radius:60px;
font-size:30px;
font-weight:700
}

.contact-btn .view-more-hover3 {
position:absolute;
top:34px;
transition:all .3s ease-out;
display:inline-block;
width:25px;
height:25px;
margin-left:-50px
}

.contact-btn .view-more-hover3::before {
content:"";
display:block;
position:absolute;
top:9px;
left:0;
width:100%;
height:2px;
background:#000
}

.contact-btn .view-more-hover3::after {
content:"";
display:block;
position:absolute;
top:0;
right:-3px;
width:20px;
height:20px;
border:2px solid;
border-color:transparent transparent #000 #000;
transform:rotate(-135deg)
}

.contact-btn .contact-btn-send:hover .view-more-hover3 {
width:90px
}

.recaptcha_policy {
padding:0;
margin:0;
text-align:center;
font-size:10px!important;
color:#444!important
}

.recaptcha_policy a {
font-size:11px!important;
color:#111!important
}

.grecaptcha-badge {
visibility:hidden
}

.recaptcha_policy {
margin-top:120px
}

.mw_wp_form .error {
font-size:80%;
color:#ff1215;
display:block;
border:1px solid #ff1215;
padding:3px 15px;
margin-top:10px;
background:#fff
}




@media screen and (max-width: 767px) {
.stepBar {
max-width:100%;
margin:0 auto 80px
}

.stepBar li {
font-size:15px
}

.stepBar li:first-child:before {
width:100%!important;
top:32px!important
}

.stepBar li:after {
top:32px
}

.stepBar li:last-child:after {
width:100%;
height:2px;
top:32px!important
}

.stepBar li.visited:nth-child(2):before {
top:32px
}

.stepBar li span {
height:60px;
line-height:58px;
width:60px
}
	
.step01,.step02,.step03 {
height:60px;
margin-bottom:70px
}

.step01 .stepBar li:nth-child(2):before {
top:32px
}

.step02 .stepBar li:first-child:before {
left:0;
width:64%!important;
z-index:1
}

.step03 .stepBar li:last-child:after {
background:#000
}

.step03 .stepBar li:nth-child(2):after {
background:#000;
z-index:-1
}

.step03 .stepBar li:first-child:before {
width:140%!important;
z-index:0;
left:0
}

.contact-btn {
text-align:center;
margin:50px auto;
position:relative
}

.contact-btn .view-btn {
width:100%;
display:inline-block
}

.contact-btn .view-btn button {
padding:17px 0;
font-size:24px;
width:90%;
letter-spacing:.1em;
display:inline-block
}

.contact-btn .view-more-hover {
position:absolute;
top:34px;
transition:all .3s ease-out;
display:inline-block;
width:25px;
height:25px;
margin-left:-50px
}

.contact-btn .view-more-hover::before {
top:2px
}

.contact-btn .view-more-hover::after {
top:-6px;
right:-3px;
width:17px;
height:17px
}

.contact-btn .submitBtn:hover {
}

.contact-btn .view-btn:hover .view-more-hover {
width:50px
}

.contact-btn .contact-btn-back {
width:100%;
display:inline-block;
margin-bottom:30px
}

.contact-btn .contact-btn-back button {
padding:14px 0;
width:90%;
font-size:24px
}

.contact-btn .view-more-hover2 {
top:25px;
width:20px;
height:25px;
right:77%
}

.contact-btn .view-more-hover2::before {
top:9px;
left:-7px
}

.contact-btn .view-more-hover2::after {
top:1px;
left:-10px;
width:17px;
height:17px
}

.contact-btn .contact-btn-back:hover .view-more-hover2 {
width:50px
}

.contact-btn .contact-btn-send {
width:100%;
display:inline-block
}

.contact-btn .contact-btn-send button {
padding:14px 0;
width:90%;
font-size:24px
}

.contact-btn .view-more-hover3 {
top:25px;
width:25px;
height:25px;
left:90%
}

.contact-btn .view-more-hover3::before {
top:9px;
left:0;
width:100%
}

.contact-btn .view-more-hover3::after {
top:1px;
right:-3px;
width:17px;
height:17px
}

.contact-btn .contact-btn-send:hover .view-more-hover3 {
width:50px
}
	
.contact-form .form-group {
margin-top:35px
}

.form-group {
display:block!important
}

.contact-form .form-group .title,.contact-form .form-group .content {
display:block;
width:100%;
font-size:1.6rem
}

.contact-form .form-group .title {
margin-bottom:10px
}

.form-comment .sp-clear {
display:block
}

.form-comment .must {
font-size:13px
}

.recaptcha_policy {
margin-top:70px
}

.contact-btn {
margin:35px auto
}
}









