/* ----------------------------------------------------------
General Settings
---------------------------------------------------------- */
.pt-viewer {background-image: url(../img/pagetitle/pt-viewer.jpg);}
.pt-project {background-image: url(../img/pagetitle/pt-project.jpg);}
.pt-commentary {background-image: url(../img/pagetitle/pt-commentary.jpg);}
.pt-link {background-image: url(../img/pagetitle/pt-link.jpg);}
.pt-publications {background-image: url(../img/pagetitle/pt-publications.jpg);}
.pt-viewer_sys {background-image: url(../img/pagetitle/pt-viewer_sys.jpg);}

/* ----------------------------------------------------------
Style for PCs
---------------------------------------------------------- */
@media screen and (min-width: 1025px) {

/* Pagetitle */
.pagetitle {
  width:100%;
  height: auto;
  display: block;
  background-position: center center;
  background-repeat: no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -ms-background-size: cover;
  background-size: cover;
}
.ptbody {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  aspect-ratio: 5 / 1;
}
.ptbody h2 {
  font-size: clamp(28px, 2vw, 40px);
  font-family:var(--font-min);
  color: var(--color-white);
  font-weight: 400;
  line-height: 1em!important;
  margin-bottom: 0.8em!important;
}
.ptbody p {
  font-size: clamp(8px, 1vw, 10px)!important;
  font-family:var(--font-min);
  color: var(--color-white);
  font-weight: 400;
  line-height: 1em;
  margin-bottom: 0;
}


/* Main */
main {
  width:100%;
  max-width:1400px;
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  padding:100px 5%;
  margin:0 auto;
}

/* Sub menu */
.submenubn {
  display: none;
}
.submenubn.smbn_active {
  display: none;
}
.submenulist {
width:270px;
height: auto;
display: block;
margin:0;
position: relative;
}
.submenulist ul {
  width:100%;
  height: auto;
  display: block;
}
.submenulist ul.sm_fixed {
  width:270px;
  position: fixed;
  top:50px;
}
.submenulist ul li {
  width: 100%;
  height: auto;
  display: block;
  font-size:14px;
  line-height: 1.25em;
  margin-bottom: 1px;
}
.submenulist ul li a {
  width:100%;
  height: auto;
  display: block;
  color: var(--color-white);
  text-decoration: none;
  padding:10px 20px 10px 10px;
  background-color: var(--color-1st);
  background-image: url(../img/ic-ar_h_r.png);
  background-repeat: no-repeat;
  background-position: 98% center;
  background-size: auto 20px;
  border-radius: 3px;
  transition: .4s all;
}
.submenulist ul li a:hover {
  background-color: var(--color-2nd);
}

/* Main contents */
.maincontents {
  width:70%;
  height: auto;
  display: block;
}

p.btt {
  width:fit-content;
  height: auto;
  display: block;
  font-size:12px!important;
  font-weight: 400!important;
  line-height:1em!important;
  margin:0 0 0 auto!important;
}
p.btt a {
  width:100%;
  height: auto;
  display: block;
  text-decoration: none;
  padding:5px 5px 5px 20px;
  color: var(--color-white);
  background-color: var(--color-5th);
  background-image: url(../img/ic-ar_u_w.png);
  background-repeat: no-repeat;
  background-position: 3px center;
  background-size: auto 80%;
  border-radius: 3px;
  transition: .4s all;
}
p.btt a:hover {
  background-color: var(--color-1st);
}

.ccsec {
  width:100%;
  height: auto;
  display: block;
  padding-bottom: 20px;
  border-bottom: 1px dotted var(--color-999);
  margin-bottom: 80px;
}

.ccsec.ccs_nomb {
  padding-bottom:0!important;
  border-bottom: none!important;
}

.ccsec h2 {
  font-size: clamp(26px, 1.5vw, 32px);
  font-weight: 400;
  font-family:var(--font-min);
  line-height: 1.24em;
  color: var(--color-black);
  margin-bottom: 0.57em;
}

.ccsec h3 {
  width:100%;
  height: auto;
  display: block;
  font-size: clamp(18px, 1.5vw, 28px);
  font-weight: 400;
  font-family:var(--font-min);
  padding:5px;
  background-color: var(--color-4th);
  border-radius: 5px;
  margin-bottom: 1em;
}

.ccsec h4 {
  font-size: clamp(18px, 1.5vw, 28px);
  font-weight: 700;
  color: var(--color-2nd);
  font-family:var(--font-min);
  margin-bottom: 0.5em;
}

.ccsec h5 {
  font-size: clamp(16px, 1.5vw, 22px);
  font-weight: 700;
  color: var(--color-1st);
  font-family:var(--font-min);
  margin-bottom: 0.5em;
}

.ccsec p {
  font-size: clamp(14px, 1vw, 18px);
  line-height: 2em;
  margin-bottom: 4em;
}


/* Link */
.linkbox  {
  width:100%;
  height: auto;
  display: block;
  padding:0px;
  border-radius: 0px;
  margin-bottom: 40px;
}
.linkbox h3 {
  font-size:16px;
  font-weight: 600;
  line-height: 1.5em;
  color:var(--color-3rd);
  padding:8px 8px;
  margin-bottom: 0.5em;
}
.linkbox h4 {
  font-size:12px;
  font-weight:400;
  line-height: 1.5em;
  color:var(--color-black);
  word-wrap: break-word;
  margin-bottom: 1em;
}
.linkbox p {
  font-size:14px;
  font-weight:400;
  line-height: 1.5em;
  color:var(--color-black);
  margin-bottom: 0;
}

}

/* ----------------------------------------------------------
Style for iPad Pro
---------------------------------------------------------- */
@media screen and (min-width: 769px) and (max-width: 1024px) {

/* Pagetitle */
.pagetitle {
  width:100%;
  height: auto;
  display: block;
  background-position: center center;
  background-repeat: no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -ms-background-size: cover;
  background-size: cover;
}
.ptbody {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  aspect-ratio: 5 / 1;
}
.ptbody h2 {
  font-size: 24px;
  font-family:var(--font-min);
  color: var(--color-white);
  font-weight: 400;
  line-height: 1em!important;
  margin-bottom: 0.6em!important;
}
.ptbody p {
  font-size: 8px!important;
  font-family:var(--font-min);
  color: var(--color-white);
  font-weight: 400;
  line-height: 1em;
  margin-bottom: 0;
}

/* Main */
main {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  padding:50px 8%;
}


/* Sub menu */
.submenubn {
  width:60%;
  height: auto;
  display: block;
  font-size:14px;
  line-height: 1em;
  margin:0 auto 1px;
  padding:10px 8px;
  color:var(--color-white);
  background-color: var(--color-1st);
  background-image: url(../img/ic-submenu_dw.png);
  background-repeat: no-repeat;
  background-position: 98% center;
  background-size: auto 20px;
  border-radius: 3px;
  cursor: pointer;
}
.submenubn.smbn_active {
  background-color: var(--color-3rd);
  background-image: url(../img/ic-submenu_up.png);
}
.submenulist {
width:60%;
height: 0px;
display: flex;
overflow: hidden;
flex-direction:column;
margin:0 auto;
}
.submenulist ul {
  width:100%;
  height: auto;
  display: block;
}
.submenulist ul li {
  width: 100%;
  height: auto;
  display: block;
  font-size:14px;
  line-height: 1.25em;
  margin-bottom: 1px;
}
.submenulist ul li a {
  width:100%;
  height: auto;
  display: block;
  color: var(--color-white);
  text-decoration: none;
  padding:10px 30px 10px 10px;
  background-color: var(--color-1st);
  background-image: url(../img/ic-ar_h_r.png);
  background-repeat: no-repeat;
  background-position: 98% center;
  background-size: auto 20px;
  border-radius: 3px;
  transition: .4s all;
}
.submenulist ul li a:hover {
  background-color: var(--color-2nd);
}

.submenulist.sm_active {
  height: auto;
}

/* Main contents */
.maincontents {
  width:100%;
  height: auto;
  display: block;
  padding-top:50px;
}

p.btt {
  width:fit-content;
  height: auto;
  display: block;
  font-size:12px!important;
  font-weight: 400!important;
  line-height:1em!important;
  margin:0 0 0 auto!important;
}
p.btt a {
  width:100%;
  height: auto;
  display: block;
  text-decoration: none;
  padding:5px 5px 5px 20px;
  color: var(--color-white);
  background-color: var(--color-5th);
  background-image: url(../img/ic-ar_u_w.png);
  background-repeat: no-repeat;
  background-position: 3px center;
  background-size: auto 80%;
  border-radius: 3px;
  transition: .4s all;
}
p.btt a:hover {
  background-color: var(--color-1st);
}

.ccsec {
  width:100%;
  height: auto;
  display: block;
  padding-bottom: 20px;
  border-bottom: 1px dotted var(--color-999);
  margin-bottom: 80px;
}

.ccsec.ccs_nomb {
  padding-bottom:0!important;
  border-bottom: none!important;
}

.ccsec h2 {
  font-size: clamp(26px, 1.5vw, 32px);
  font-weight: 400;
  font-family:var(--font-min);
  line-height: 1.24em;
  color: var(--color-black);
  margin-bottom: 0.57em;
}

.ccsec h3 {
  width:100%;
  height: auto;
  display: block;
  font-size: clamp(18px, 1.5vw, 28px);
  font-weight: 400;
  font-family:var(--font-min);
  padding:5px;
  background-color: var(--color-4th);
  border-radius: 5px;
  margin-bottom: 1em;
}

.ccsec h4 {
  font-size: clamp(18px, 1.5vw, 28px);
  font-weight: 700;
  color: var(--color-2nd);
  font-family:var(--font-min);
  margin-bottom: 0.5em;
}

.ccsec h5 {
  font-size: clamp(16px, 1.5vw, 22px);
  font-weight: 700;
  color: var(--color-1st);
  font-family:var(--font-min);
  margin-bottom: 0.5em;
}

.ccsec p {
  font-size: clamp(14px, 1vw, 18px);
  line-height: 2em;
  margin-bottom: 3em;
}


/* Link */
.linkbox  {
  width:100%;
  height: auto;
  display: block;
  padding:0px;
  border-radius: 0px;
  margin-bottom: 40px;
}
.linkbox h3 {
  font-size:16px;
  font-weight: 600;
  line-height: 1.5em;
  color:var(--color-3rd);
  padding:8px 8px;
  margin-bottom: 0.5em;
}
.linkbox h4 {
  font-size:14px;
  font-weight:400;
  line-height: 1.5em;
  color:var(--color-black);
  word-wrap: break-word;
  margin-bottom: 1em;
}
.linkbox p {
  font-size:14px;
  font-weight:400;
  line-height: 1.5em;
  color:var(--color-black);
  margin-bottom: 0;

  word-wrap: break-word;
}


}


/* ----------------------------------------------------------
Style for Smartphone
---------------------------------------------------------- */
@media screen and (max-width: 768px) {

  /* Pagetitle */
.pagetitle {
  width:100%;
  height: auto;
  display: block;
  background-position: center center;
  background-repeat: no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -ms-background-size: cover;
  background-size: cover;
}
.ptbody {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding:0 2em;
  aspect-ratio:2.8 / 1;
}
.ptbody h2 {
  font-size: 22px;
  font-family:var(--font-min);
  color: var(--color-white);
  font-weight: 400;
  line-height: 1em!important;
  margin-bottom: 0.6em!important;
}
.ptbody p {
  font-size: 9px!important;
  font-family:var(--font-min);
  color: var(--color-white);
  font-weight: 400;
  line-height: 1em;
  margin-bottom: 0;
}


/* Main */
main {
  width:100%;
  height: auto;
  display: block;
  padding:50px 8%;
}


/* Sub menu */
.submenubn {
  width:100%;
  height: auto;
  display: block;
  font-size:14px;
  line-height: 1em;
  margin:0 auto 1px;
  padding:10px 8px;
  color:var(--color-white);
  background-color: var(--color-1st);
  background-image: url(../img/ic-submenu_dw.png);
  background-repeat: no-repeat;
  background-position: 98% center;
  background-size: auto 20px;
  border-radius: 3px;
  cursor: pointer;
}
.submenubn.smbn_active {
  background-color: var(--color-3rd);
  background-image: url(../img/ic-submenu_up.png);
}
.submenulist {
width:100%;
height: 0px;
display: flex;
overflow: hidden;
flex-direction: column;
}
.submenulist ul {
  width:100%;
  height: auto;
  display: block;
}
.submenulist ul li {
  width: 100%;
  height: auto;
  display: block;
  font-size:14px;
  line-height: 1.25em;
  margin-bottom: 1px;
}
.submenulist ul li a {
  width:100%;
  height: auto;
  display: block;
  color: var(--color-white);
  text-decoration: none;
  padding:10px 30px 10px 10px;
  background-color: var(--color-1st);
  background-image: url(../img/ic-ar_h_r.png);
  background-repeat: no-repeat;
  background-position: 98% center;
  background-size: auto 20px;
  border-radius: 3px;
  transition: .4s all;
}
.submenulist ul li a:hover {
  background-color: var(--color-2nd);
}

.submenulist.sm_active {
  height: auto;
}


/* Main contents */
.maincontents {
  width:100%;
  height: auto;
  display: block;
  padding-top:50px;
}

p.btt {
  width:fit-content;
  height: auto;
  display: block;
  font-size:12px!important;
  font-weight: 400!important;
  line-height:1em!important;
  margin:0 0 0 auto!important;
}
p.btt a {
  width:100%;
  height: auto;
  display: block;
  text-decoration: none;
  padding:5px 5px 5px 20px;
  color: var(--color-white);
  background-color: var(--color-5th);
  background-image: url(../img/ic-ar_u_w.png);
  background-repeat: no-repeat;
  background-position: 3px center;
  background-size: auto 80%;
  border-radius: 3px;
  transition: .4s all;
}
p.btt a:hover {
  background-color: var(--color-1st);
}

.ccsec {
  width:100%;
  height: auto;
  display: block;
  padding-bottom: 20px;
  border-bottom: 1px dotted var(--color-999);
  margin-bottom: 80px;
}

.ccsec.ccs_nomb {
  padding-bottom:0!important;
  border-bottom: none!important;
}

.ccsec h2 {
  font-size: 22px;
  font-weight: 400;
  font-family:var(--font-min);
  line-height: 1.24em;
  color: var(--color-black);
  margin-bottom: 0.57em;
}

.ccsec h3 {
  width:100%;
  height: auto;
  display: block;
  font-size: 18px;
  font-weight: 400;
  font-family:var(--font-min);
  padding:5px;
  background-color: var(--color-4th);
  border-radius: 5px;
  margin-bottom: 1em;
}

.ccsec h4 {
  font-size: 18px;
  font-weight: 700;
  color: var(--color-2nd);
  font-family:var(--font-min);
  margin-bottom: 0.5em;
}

.ccsec h5 {
  font-size: 16px;
  font-weight: 700;
  color: var(--color-1st);
  font-family:var(--font-min);
  margin-bottom: 0.5em;
}

.ccsec p {
  font-size: 14px;
  line-height: 2em;
  margin-bottom: 3em;
}

/* Link */
.linkbox  {
  width:100%;
  height: auto;
  display: block;
  padding:0px;
  border-radius: 0px;
  margin-bottom: 50px;
}
.linkbox h3 {
  font-size:16px;
  font-weight: 600;
  line-height: 1.5em;
  color:var(--color-3rd);
  padding:8px 8px;
  margin-bottom: 0.5em;
}
.linkbox h4 {
  font-size:14px;
  font-weight:400;
  line-height: 1.5em;
  color:var(--color-black);
  word-wrap: break-word;
  margin-bottom: 1em;
}
.linkbox p {
  font-size:14px;
  font-weight:400;
  line-height: 2em;
  color:var(--color-black);
  margin-bottom: 0;
  word-wrap: break-word;
}

}
