
/* //////////////////////////////////////////////////
[FONT]
////////////////////////////////////////////////// */

@import url("https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css");
@import url('https://fonts.googleapis.com/css2?family=Podkova&display=swap');


/* //////////////////////////////////////////////////
[BASE]
////////////////////////////////////////////////// */

/* --------------------------------------------------
    0. Resetting default margin and padding
-------------------------------------------------- */
body, div, dl, dt, dd, ul, ol, li,
h1, h2, h3, h4, h5, h6,
object, iframe, pre, code, p, blockquote,
form, fieldset, legend,
table, th, td, caption, tbody, tfoot, thead,
article, aside, figure, footer, header,
hgroup, menu, nav, section, audio, video, canvas,
a, span, em {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
}
article, aside, figure, figcaption,footer,
h1, h2, h3, h4, h5, h6, header, hgroup, menu, nav, section, canvas {
    display: block;
}

/* --------------------------------------------------
    1. HTML, Body, Anchor
-------------------------------------------------- */
html {
    overflow-y: scroll;
    height: 100% !important;
}
body {
    position: relative;
    height: 100%;
    color: #222222;
    font-family: 'Noto Sans JP', sans-serif; 
    font-weight: 300, 700;
    font-style: normal;
    font-size: 13px; 
    font-style: normal;
    font-weight: normal;
    line-height: 1.5;
    word-wrap: break-word;
    -webkit-text-size-adjust: 100%;
    font-feature-settings: "palt";
} 

body.langEn {
    font-family: Times;
    font-style: normal;
    font-weight: normal;
    line-height: 24px;
}

a {
    color: #222222;
    text-decoration: none;
}
a:hover, a:active  {
    text-decoration: none;
}

/* --------------------------------------------------
    2. Heading, Paragraph
-------------------------------------------------- */
h1, h2, h3, h4, h5, h6 {
    font-size: 100%;
    color: #222222;
}
/* p {} */

/* --------------------------------------------------
    3. List
-------------------------------------------------- */
li { list-style: none; }

/* --------------------------------------------------
    4. Table
-------------------------------------------------- */
table {
    border-collapse: collapse;
    border-spacing: 0;
    font-size: 100%;
    font-family: inherit;
}
caption, th, td {
    text-align: left;
    vertical-align: top;
    font-weight: normal;
}

/* --------------------------------------------------
    5. Form
-------------------------------------------------- */
fieldset { border: none; }
input, textarea, select, label {
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 100%;
    font-family: inherit;
    vertical-align: middle;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
}
label { cursor: pointer; }
textarea { overflow: auto; }
legend { display: none; }

/* --------------------------------------------------
    6. Other
-------------------------------------------------- */
img {
    border: none;
    vertical-align: top;
    -ms-interpolation-mode: bicubic;
    image-rendering: optimizeQuality;
}
object {
    vertical-align: middle;
    outline: none;
}
em, strong {
    font-weight: bold;
    font-style: normal;
}
small { font-size: 100%; }
abbr, acronym {
    border: none;
    font-variant: normal;
}
q:before, q:after { content: ''; }
address, caption, cite, code, dfn, var {
    font-weight: normal;
    font-style: normal;
}
code, pre { font-family: monospace; }
sup { vertical-align: text-top; }
sub { vertical-align: text-bottom; }
hr { display: none; }

/* --------------------------------------------------
    Clearfix
-------------------------------------------------- */
.clearfix:after {
    content: '';
    display: block;
    clear: both;
    height: 0;
}

/* //////////////////////////////////////////////////
[LAYOUT]
////////////////////////////////////////////////// */

@media screen and (min-width: 1000px) {
    #content {
        padding: 50px 0 30px;
    }
}
@media screen and (min-width: 600px) and (max-width: 1000px) {
    #content {
        padding: 50px 0 5px;
    }
}
@media screen and (max-width: 600px) {
    #content {
        padding: 50px 0 5px;
    }
}

/*============================
#container
============================*/
#container{
    position: relative;
    overflow: hidden;
    min-height: 100%;
}

/*============================
#siteHeader
============================*/
#siteHeader {
    position: fixed;
    z-index: 20;
    top: 0; 
    left: 0;
    width: 100%;
    height: 5px;
}

@media screen and (max-width: 600px) {
    #siteHeader {
        top: 16px; 
    }
}


#siteHeader .designerName {
    background-image: url(img/ttl/hiro_logo.svg);
    width: 180px;
    height: 32px;
    background-repeat: no-repeat;
    float: left;
    margin: 1vw;
    text-indent: -99999px;
    cursor: pointer;
    opacity: 0.8;
}

@media screen and (max-width: 600px) {
    #siteHeader .designerName {
        margin: 3vw 3vh;
        height: 20px;
    }
}

#navLang {
    float: right;
    padding: 1vw;
}

@media screen and (max-width: 600px) {
    #siteHeader .designerName {
        padding: 1vw 1vh;
    }
}

#navLang li {
    float: left;
    vertical-align: top;
    width: 60px;
    height: 32px;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    font-size: 0px;
    text-indent: -99999px;
    cursor: pointer;
    opacity: 0.1;
    transition: 0.3s;
    -webkit-transition: 0.3s;
}

body.langJp #navLang li.jp {
    opacity: 1;
    cursor: default;
}

body.langEn #navLang li.en {
    opacity: 1;
    cursor: default;
}

#navLang li:hover{
    opacity: 1;
}

#navLang li.en{background-image: url(img/icon/canada_en.png)}
#navLang li.jp{background-image: url(img/icon/japan_jp.png);}

/*============================
#mainContents
============================*/

/*============================
#heroContent
============================*/
#heroContent {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/*============================
#hero
============================*/
#hero {
    position:absolute;
    width: 100%;
    height: 100%;
    color: white;
    transition: 0.5s ease-in-out;
    -webkit-transition: 0.5s ease-in-out;
}

#hero.current-AboutMe{ 
    background:#FFB987;
}
#hero.current-kitaete{ 
    background:#66AAA2;
}

#hero.current-FFYL{ 
    background:#0E1D34;
}
#hero.current-Mirai{ 
    background:#6CB6FF;
}

#hero.current-ARchemisT{ 
    background: #222222;
}
#hero.current-USTARlinks{ 
    background: #FF989A;
}

#hero .pageWrap{
    position:relative;
    margin: 0 auto;
    max-width: 700px;
    height: 100%;
    /* transition: 0.5s ease-in-out; */
}

@media screen and (min-width: 600px) {
    #hero .pageWrap {
        max-width: 800px;
        margin: 0 auto;
    }
}

@media screen and (max-width: 600px) {
    #hero .pageWrap {
        width: 90%;
        margin: 0 auto;
    }
}

#hero .pageWrap ul {
    position:absolute;
    top: 0;
    left: 0;
    /* transition: transform 1s ease-in-out; */
    width: 600%;
    height: 100%;
    /* transition: 0.5s ease-in-out; */
}

#hero .pageWrap ul.fit { transition: 0.5s ease-in-out; -webkit-transition: 0.5s ease-in-out;}

#hero .pageWrap ul.current-AboutMe.fit { transform: translateX(0px) !important; }
#hero .pageWrap ul.current-kitaete.fit { transform: translateX(-16.667%) !important; }
#hero .pageWrap ul.current-USTARlinks.fit { transform: translateX(-33.333%) !important; }
#hero .pageWrap ul.current-FFYL.fit { transform: translateX(-50%) !important; }
#hero .pageWrap ul.current-Mirai.fit { transform: translateX(-66.667%) !important; }
#hero .pageWrap ul.current-ARchemisT.fit { transform: translateX(-83.333%) !important; }


#hero .pageWrap li {
    position: relative;
    width: 16.6666%;
    height: 100%;
    float: left;
    opacity: 0;
    transition: 0.5s ease-in-out;
    -webkit-transition: 0.5s ease-in-out;
}

#hero .pageWrap ul.current-AboutMe li.AboutMe {opacity: 1;}
#hero .pageWrap ul.current-kitaete li.kitaete {opacity: 1;}
#hero .pageWrap ul.current-FFYL li.FFYL {opacity: 1;}
#hero .pageWrap ul.current-Mirai li.Mirai {opacity: 1;}
#hero .pageWrap ul.current-ARchemisT li.ARchemisT {opacity: 1;}
#hero .pageWrap ul.current-USTARlinks li.USTARlinks {opacity: 1;}

#hero li h2 { 
    position: absolute;
    z-index: 10;
    font-family: Podkova;
    font-style: normal;
    bottom: 20%;
    font-size: 48px;
    line-height: 54px;
    font-weight: 800;
    color: #FF7A00;
}

@media screen and (max-width: 600px) {
    #hero li h2 {
        font-size: 27px;
        line-height: 27px;
        bottom: 28%;
    }
}

#hero li.FFYL h2 { color: #0075FF;}
#hero li.Mirai h2 { color: #286DB2;}

#hero li img {
    position: absolute;
    z-index: 10;
    width: 60%;
    top: 69%;
}

@media screen and (max-width: 600px) {
    #hero li img {
        top: 66%;
    }
}

#hero li .caption {
    position: absolute;
    z-index: 10;
    top: 80%;
}

@media screen and (max-width: 600px) {
    #hero li .caption {
        top: 72%;
    }
}

body.langJp #hero li .caption.langEn {
    display: none;
}

body.langEn #hero li .caption.langJp {
    display: none;
}

#hero li .caption p {
    font-size: 16px;
    line-height: 24px;
    margin-top: 8px;
    letter-spacing: 0.08em;
}

@media screen and (min-width: 600px) {
    #hero li .caption p {
        font-size: 20px;
    }
}


@media screen and (max-width: 600px) {
    #hero li .caption p {
        font-size: 16px;
        line-height: 1.6;
    }
}

#hero li .caption.langEn p {
    font-size: 18px;
    font-family: sans-serif;
    line-height: 24px;
    letter-spacing: 0.08em;
    margin-top: 8px;
}

#hero li .caption .hashTag {
    position:relative;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-style: normal;
}

@media screen and (max-width: 600px) {
    #hero li .caption .hashTag {
        font-size: 13px;
    }
}

@media screen and (max-width: 600px) {
    #hero li .caption.langEn .hashTag {
        font-size: 13px;
    }
}

#hero li .pic{
    position:absolute;
    background:url(img/sprite_chair.png) no-repeat;
    background-size: 600% 600%;
    background-position: 0 0;
    overflow: hidden;
    width: 80%;
    top: 40%;
    left: 50%;
    margin-right: -50%;
    transform: translate(-50%, -50%)
}

@media screen and (max-width: 600px) {
    #hero li .pic {
        width: 120%; 
        top: 34%;
    }
}

#hero li.AboutMe .pic{ background-image:url(img/sprite_aboutme.png) }
#hero li.kitaete .pic{ background-image:url(img/sprite_kitaete.png) }
#hero li.USTARlinks .pic{ background-image:url(img/sprite_ustar.png) }
#hero li.FFYL .pic{ background-image:url(img/sprite_crystal.png) }
#hero li.Mirai .pic{ background-image:url(img/sprite_mirai.png) }
#hero li.ARchemisT .pic{ background-image:url(img/sprite_archemist.png) }

#hero li .pic:before{
    content: "";
    display: block;
    padding-top: 100%;
}

#heroContent .arrowDetail {
    background-repeat: no-repeat;
    background-image:url(img/loading.svg);
    background-position: -1000px;
    cursor: pointer;
    position:absolute;
    bottom: 4px;
    z-index: 10;
    left: 50%;
    margin-bottom: 3vh;
    margin-left: -20px;
}

#heroContent .arrowDetail.loading {
    background-position: 0;
    transform-origin: 50% 50%;
    animation: r2 1s linear infinite;
}

@keyframes r2 {
    0%   { transform: rotate(0deg); }
    100% { transform: rotate(-360deg); }
  }

#heroContent .arrowDetail.loading img{
    opacity: 0;
}

/*============================
#navPagination
============================*/

#navPagination {
    position:absolute;
    width: 240px;
    margin-left: -110px;
    top: 10%;
    left: 50%;
} 

@media screen and (max-width: 600px) {
    #navPagination {
    width: 180px;
    margin-left: -80px;
    }
}

#navPagination li {
    transition: 0.5s ease-in-out;
    -webkit-transition: 0.5s ease-in-out;
    text-indent: -99999px;
    opacity: 0.2;
    float: left;
    margin-right: 20px;
    width: 20px;
    height: 10px;
    left: 78px;
    top: 75px;
    background: #FFFFFF;
    border-radius: 5px;
}

@media screen and (max-width: 600px) {
    #navPagination li {
        margin-right: 15px;
        width: 15px;
        height: 8px;
    }
}

#navPagination.current-AboutMe .AboutMe{ opacity: 1; }
#navPagination.current-kitaete .kitaete{ opacity: 1; }
#navPagination.current-FFYL .FFYL{ opacity: 1; }
#navPagination.current-Mirai .Mirai{ opacity: 1; }
#navPagination.current-ARchemisT .ARchemisT{ opacity: 1; }
#navPagination.current-USTARlinks .USTARlinks{ opacity: 1; }

/*============================
#navThumbnail
============================*/
#navThumbnail {
    position: absolute;
    margin-bottom: -55px;
    margin-left: -80px;
    transition: transform 0.5s ease-in-out;
    -webkit-transition: 0.5s ease-in-out;
    width: 1320px;
    top: 50%;
    left: 50%;
}

@media screen and (max-width: 600px) {
    #navThumbnail {
        top: 44%;
    }
}


#navThumbnail.current-AboutMe{ transform: translateX(0px); }
#navThumbnail.current-kitaete{ transform: translateX(-220px); }
#navThumbnail.current-USTARlinks{ transform: translateX(-440px); }
#navThumbnail.current-FFYL{ transform: translateX(-660px); }
#navThumbnail.current-Mirai{ transform: translateX(-880px); }
#navThumbnail.current-ARchemisT{ transform: translateX(-1100px); }

#navThumbnail li {
    cursor: pointer;
    transition: 0.5s ease-in-out;
    -webkit-transition: 0.5s ease-in-out;
    opacity: 0.1;
    float: left;
    margin-right: 60px;
}

#navThumbnail li:hover {
    transition: 0.1s ease-in-out;
    -webkit-transition: 0.1s ease-in-out;
    opacity: 0.5;
}

#navThumbnail.current-AboutMe .AboutMe{ opacity: 1; }
#navThumbnail.current-kitaete .kitaete{ opacity: 1; }
#navThumbnail.current-FFYL .FFYL{ opacity: 1; }
#navThumbnail.current-Mirai .Mirai{ opacity: 1; }
#navThumbnail.current-ARchemisT .ARchemisT{ opacity: 1; }
#navThumbnail.current-USTARlinks .USTARlinks{ opacity: 1; }


#navThumbnail li img {
    width: 160px;
    height: 90px;
}

/*============================
#detailPageWrap
============================*/
#detailPageWrap {
    display: none;
    position: absolute;
    height: 3000px;
    transform: translateY(100vh);
    transition: 0.5s ease-in-out;
    -webkit-transition: 0.5s ease-in-out;
    width: 100%;
    z-index: 15;
    background-color: white;
    border-radius: 20px 20px 0 0;
    padding-top: 20px;
}

#detailPageWrap.open {
    position: relative;
    height: auto;
}

#arrowBack {
    position: fixed;
    cursor: pointer;
    opacity: 10%;
    top: 20px;
    left: 50%;
    margin-right: -50%;
    transform: translateX(-50%);
    z-index: 100;
    transition: 0.5s ease-in-out;
}

#arrowBack.off{opacity: 0;}
#arrowBack.on{opacity: 0.6;}

#detailPageWrap .detailPage {
    display: none;
}

/*============================
##detailPageWrap .detailPage
============================*/

#detailPageWrap .detailPage {
    max-width: 800px;
    margin: 0 auto;
    padding: 100px 20px 120px;
}

body.langJp #detailPageWrap .detailPage .langEn {
    display: none;
}

#detailPageWrap .detailPage .langEn .detailPageBody p {
    font-family: sans-serif;
    font-size: 18px;
    letter-spacing: 0;
}

#detailPageWrap .detailPage .detailPageBody ul.list li{
    list-style: disc;
    font-size: 20px;
    margin-left: 20px;
    margin-top: 24px;
    letter-spacing: 0.08em;
}

#detailPageWrap .detailPage .langEn .detailPageBody ul.list li{
    font-family: sans-serif;
    font-size: 18px;
    letter-spacing: 0;
}

@media screen and (max-width: 600px) {
     #detailPageWrap .detailPage .detailPageBody ul.list li {
        font-size: 16px;
    }
}

#detailPageWrap .detailPage .detailPageBody ul.listWithoutDot{
    margin: 24px 0px;
}

#detailPageWrap .detailPage .detailPageBody ul.listWithoutDot li{
    list-style: none;
    font-size: 20px;
    margin-top: 8px;
}

#detailPageWrap .detailPage .langEn .detailPageBody ul.listWithoutDot li{
    font-family: sans-serif;
    font-size: 18px;
}

@media screen and (max-width: 600px) {
    #detailPageWrap .detailPage .detailPageBody ul.listWithoutDot li {
       font-size: 16px;
   }
}

#detailPageWrap .detailPage .langEn .detailPageBody h3 {
    font-family: Podkova;
    font-style: normal;
    font-weight: bold;
    letter-spacing: 0;
}

body.langEn #detailPageWrap .detailPage .langJp {
    display: none;
}

#detailPageWrap .detailPage .detailPageHeader h3 {
    font-family: Podkova;
    font-style: normal;
    font-weight: bold;
    font-size: 24px;
    line-height: 16px;
    margin-top: 80px;
    margin-bottom: 48px;
}

#detailPageWrap .detailPage .detailPageHeader h2 {
    font-family: Podkova;
    font-style: italic;
    font-weight: 800;
    font-size: 68px;
    line-height: 70px;
}

@media screen and (max-width: 600px) {
    #detailPageWrap .detailPage .detailPageHeader h2 {
        font-size: 11vw;
        line-height: 1;
    }
}

#detailPageWrap .detailPage .detailPageHeader h2.jp {
    font-family: 'Noto Sans JP', sans-serif;
    font-style: italic;
    font-weight: 900;
    font-size: 63px;
    line-height: 72px;
    margin-bottom: 50px;
}

@media screen and (max-width: 600px) {
    #detailPageWrap .detailPage .detailPageHeader h2.jp {
        font-size: 29px;
        line-height: 40px;
    }
}

#detailPageWrap .detailPage .detailPageBody h3 {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 900;
    font-size: 40px;
    line-height: 50px;
    margin-top: 200px;
    margin-bottom: 48px;
    letter-spacing: 0.05em;
}

@media screen and (max-width: 600px) {
    #detailPageWrap .detailPage .detailPageBody h3 {
        font-size: 20px;
        line-height: 32px;
    }
}

@media screen and (max-width: 600px) {
    #detailPageWrap .detailPage .langEn .detailPageBody h3 {
        font-size: 26px;
        line-height: 30px;
    }
}

#detailPageWrap .detailPage .detailPageBody h3.en {
    font-family: Podkova;
    font-style: normal;
    font-weight: 800;
    font-size: 46px;
    line-height: 48px;
    letter-spacing: 0;
    
}

@media screen and (max-width: 600px) {
    #detailPageWrap .detailPage .detailPageBody h3.en {
        font-size: 34px;
        line-height: 32px;
    }
}

#detailPageWrap .detailPage .detailPageBody p {
    font-weight: normal;
    font-size: 20px;
    line-height: 1.8;
    margin-top: 24px;
    letter-spacing: 0.08em;
}

@media screen and (max-width: 600px) {
    #detailPageWrap .detailPage .detailPageBody p {
        font-size: 16px;
        line-height: 1.6;
    }
}


#detailPageWrap .detailPage .detailPageBody h4 {
    font-family: Podkova;
    font-style: normal;
    font-weight: bold;
    font-size: 24px;
    line-height: 24px;
    margin-top: 48px;
}

#detailPageWrap .detailPage .detailPageBody h4.jp {
    font-family: 'Noto Sans JP', sans-serif;
    font-style: normal;
    font-weight: 900;
    font-size: 20px;
    line-height: 16px;
    margin-top: 80px;
    letter-spacing: 0.05em;
}

@media screen and (max-width: 600px) {
    #detailPageWrap .detailPage .detailPageBody h4.jp {
        font-size: 16px;
        line-height: 1.6;
    }
}

@media screen and (max-width: 600px) {
    #detailPageWrap .detailPage .langEn .detailPageBody h4 {
        font-size: 20px;
        line-height: 1.1;
    }
}

#detailPageWrap .detailPage .detailPageBody h4.problems {
    color: #cccccc;
}

#detailPageWrap .detailPage .detailPageBody h4.solutions {
    margin-top: 24px;
}

#detailPageWrap .detailPage .langEn .detailPageBody h4.problems {
    font-family: Podkova;
    font-size: 24px;
    line-height: 1.1;
    letter-spacing: 0;
    margin-top: 128px;
}

@media screen and (max-width: 600px) {
    #detailPageWrap .detailPage .langEn .detailPageBody h4.problems {
        font-size: 20px;
    }
}

#detailPageWrap .detailPage .langEn .detailPageBody h4.solutions {
    font-family: Podkova;
    font-size: 24px;
    line-height: 1.1;
    letter-spacing: 0;
}

@media screen and (max-width: 600px) {
    #detailPageWrap .detailPage .langEn .detailPageBody h4.solutions  {
        font-size: 20px;
    }
}

#detailPageWrap .detailPage .detailPageBody p.noto {
    font-family: Noto Sans JP;
    font-style: normal;
    font-weight: 900;
    font-size: 64px;
    line-height: 72px;
    margin-top: 32px;
    letter-spacing: 0;
}

@media screen and (max-width: 600px) {
    #detailPageWrap .detailPage .detailPageBody p.noto {
        font-size: 48px;
        line-height: 64px;
    }
}

#detailPageWrap .detailPage .detailPageBody p.hiragino_min {
    font-family: Hiragino Mincho Pro;
    font-style: normal;
    font-weight: bold;
    font-size: 64px;
    line-height: 72px;
    margin-top: 64px;
    letter-spacing: 0;
}

@media screen and (max-width: 600px) {
    #detailPageWrap .detailPage .detailPageBody p.hiragino_min {
        font-size: 48px;
        line-height: 64px;
    }
}

#detailPageWrap .detailPage .detailPageBody p.hiragino_san {
    font-family: Hiragino Sans;
    font-style: normal;
    font-size: 64px;
    line-height: 72px;
    margin-top: 64px;
    letter-spacing: 0;
}

@media screen and (max-width: 600px) {
    #detailPageWrap .detailPage .detailPageBody p.hiragino_san {
        font-size: 44px;
        line-height: 64px;
    }
}

#detailPageWrap .detailPage .detailPageBody p.SF img {
    height: 110px;
    margin: 36px 0;
}

@media screen and (max-width: 600px) {
    #detailPageWrap .detailPage .detailPageBody p.onlyImg.windowWidth{
        width: 100vw;
        margin-left: -20px;
    }
}

@media screen and (min-width: 600px) {
    #detailPageWrap .detailPage .detailPageBody p.onlyImg.maxWidth{
        position: relative;
        width: 100vw;
        min-width: 100%;
        margin-left: 50%;
        transform: translateX(-50%);
        margin-top: 64px;
    }
}

@media screen and (min-width: 600px) {
    #detailPageWrap .detailPage .detailPageBody p.onlyImg.windowWidth{
        position: relative;
        width: 80vw;
        min-width: 100%;
        margin-left: 50%;
        transform: translateX(-50%);
        margin-top: 228px;
        margin-bottom: 164px;
    }
}

@media screen and (min-width: 600px) {
    #detailPageWrap .detailPage .detailPageBody p.onlyImg.diagramWidth{
        position: relative;
        width: 50vw;
        min-width: 100%;
        margin-left: 50%;
        transform: translateX(-50%);
        margin-top: 64px;
    }
}

#detailPageWrap .detailPage .detailPageBody p.onlyImg img {
    position: relative;
    width: 100%;
    height: auto;
    /* cursor: zoom-in; */
}

/* #detailPageWrap .detailPage .detailPageBody p.onlyImg img.zoom {
    transform: scale(1.8);
    transition: 0.5s ease-in-out;
    -webkit-transition: 0.5s ease-in-out;
    z-index: 100;
    cursor: zoom-out;
} */

#detailPageWrap .detailPage .detailPageBody p.logoImg img {
    margin: 0px;
}

#detailPageWrap .detailPage .detailPageBody p.radiusImg img{
    border-radius: 10px;
}

#detailPageWrap .detailPage .detailPageBody .mobileScreens {
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 40px;
}

@media screen and (min-width: 600px) {
    #detailPageWrap .detailPage .detailPageBody .mobileScreens{
        position: relative;
        width: 43vw;
        min-width: 100%;
        margin-left: 50%;
        transform: translateX(-50%);
        margin-top: 64px;
    }
}

#detailPageWrap .detailPage .detailPageBody .screen {
    flex-basis: 48%;
}

#detailPageWrap .detailPage .detailPageBody .screen img{
    width: 100%;
    height: auto;
}

#detailPageWrap .detailPage .detailPageBody .gif img{
    border-radius: 40px;
}

@media screen and (max-width: 600px) {
    #detailPageWrap .detailPage .detailPageBody .gif img {
        border-radius: 18px;
    }
}

#detailPageWrap .detailPage .detailPageBody .bordered img{
    border:solid 2px #EEEEEE;
}

@media screen and (max-width: 600px) {
    #detailPageWrap .detailPage .detailPageBody .bordered img {
        border:solid 1px #EEEEEE;
    }
}

#detailPageWrap .detailPage.AboutMe .detailPageBody .clients {
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 40px;
}

#detailPageWrap .detailPage.AboutMe .detailPageBody .clients li{
    flex-basis: 30%;
    margin-bottom: 5%;
}

@media screen and (max-width: 600px) {
    #detailPageWrap .detailPage.AboutMe .detailPageBody .clients li{
        flex-basis: 46%;
        margin-bottom: 8%;
    }
}

#detailPageWrap .detailPage.AboutMe .detailPageBody .clients li img{
    width: 100%;
    height: auto;
    border:solid 2px #EEEEEE;
    border-radius: 10px;
}

#detailPageWrap .detailPage.AboutMe .detailPageBody .jobExperience {
    padding-top: 1px;
    margin-top: 40px;
}

#detailPageWrap .detailPage.AboutMe .detailPageBody .jobExperience li{
    position: relative;
    display: table;
    margin-top: 50px;
    width: 100%;
}

#detailPageWrap .detailPage.AboutMe .detailPageBody .jobExperience li p{
    margin: 0;
}

#detailPageWrap .detailPage.AboutMe .detailPageBody .jobExperience li h3{
    margin: 0;
}

#detailPageWrap .detailPage.AboutMe .detailPageBody .jobExperience li:first-child{
    margin-top: 0;
}

#detailPageWrap .detailPage.AboutMe .detailPageBody .jobExperience li:after {
    content: '';
    display: block;
    clear: both;
    height: 0;
}

#detailPageWrap .detailPage.AboutMe .detailPageBody .jobExperience  li .pic {
    width: 30%;
    display: table-cell;
}

#detailPageWrap .detailPage.AboutMe .detailPageBody .jobExperience  li .pic img {
    width: 100%;
    height: auto;
    border:solid 2px #EEEEEE;
    border-radius: 10px;
}

#detailPageWrap .detailPage.AboutMe .detailPageBody .jobExperience li .caption {
    min-height: 100%;
    width: 70%;
    display: table-cell;
    vertical-align: middle;
    padding-left: 50px;
}

@media screen and (max-width: 600px) {
    #detailPageWrap .detailPage.AboutMe .detailPageBody .jobExperience li .caption {
        padding-left: 16px;
    }
}

#detailPageWrap .detailPage.AboutMe .detailPageBody .jobExperience li .caption .period {
    font-family: Podkova;
    font-style: normal;
    font-weight: 500;
    font-size: 20px;
    letter-spacing: 0;
}

@media screen and (max-width: 600px) {
    #detailPageWrap .detailPage.AboutMe .detailPageBody .jobExperience li .caption .period {
        font-size: 16px;
    }
}

#detailPageWrap .detailPage.AboutMe .detailPageBody .jobExperience li .caption h3 {
    font-family: Podkova;
    font-style: normal;
    font-weight: 800;
    font-size: 39px;
    line-height: 44px;
    letter-spacing: 0;
}

@media screen and (max-width: 600px) {
    #detailPageWrap .detailPage.AboutMe .detailPageBody .jobExperience li .caption h3 {
        font-size: 16px;
        line-height: 20px;
    }
}

#detailPageWrap .detailPage.AboutMe .detailPageBody .jobExperience li .caption .position {
    font-family: Times;
    font-size: 20px;
    letter-spacing: 0;
}

@media screen and (max-width: 600px) {
    #detailPageWrap .detailPage.AboutMe .detailPageBody .jobExperience li .caption .position {
        font-size: 13px;
    }
}

#detailPageWrap .detailPage .detailPageBody .fontColor {
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: start;
    margin: 64px 0;
}

@media screen and (max-width: 600px) {
    #detailPageWrap .detailPage .detailPageBody .fontColor li {
        margin-bottom: 24px;
    }
}

#detailPageWrap .detailPage .detailPageBody .fontColor .color {
    width: 50px;
    height: 50px;
    display: table-cell;
    border-radius: 35px;
    text-indent: -99999px;
}

#detailPageWrap .detailPage.kitaete .detailPageBody .fontColor .main {background: #66AAA2;}
#detailPageWrap .detailPage.kitaete .detailPageBody .fontColor .sub {background: #FF7455;}
#detailPageWrap .detailPage.kitaete .detailPageBody .fontColor .sub2 {border:solid 3px #EEEEEE;}
#detailPageWrap .detailPage.ARchemisT .detailPageBody .fontColor .main {background: #222222;}
#detailPageWrap .detailPage.ARchemisT .detailPageBody .fontColor .sub {border:solid 3px #EEEEEE;}
#detailPageWrap .detailPage.USTARlinks .detailPageBody .fontColor .main {background: #FF5057;}
#detailPageWrap .detailPage.USTARlinks .detailPageBody .fontColor .sub {background: #FF989A;}
#detailPageWrap .detailPage.USTARlinks .detailPageBody .fontColor .sub2 {border:solid 3px #EEEEEE;}

#detailPageWrap .detailPage .detailPageBody .fontColor p {
    display: table-cell;
    vertical-align: middle;
    padding: 0 40px 0 16px;
    font-family: Podkova;
    font-style: normal;
    font-weight: bold;
    font-size: 32px;
    line-height: 32px;
}

#detailPageWrap .detailPage.kitaete .detailPageBody .fontColor .mainColor {color: #66AAA2;}
#detailPageWrap .detailPage.kitaete .detailPageBody .fontColor .subColor {color: #FF7455;}
#detailPageWrap .detailPage.kitaete .detailPageBody .fontColor .sub2Color {color: #CCCCCC;}
#detailPageWrap .detailPage.ARchemisT .detailPageBody .fontColor .mainColor {color: #222222;}
#detailPageWrap .detailPage.ARchemisT .detailPageBody .fontColor .subColor {color: #CCCCCC;}
#detailPageWrap .detailPage.USTARlinks .detailPageBody .fontColor .mainColor {color: #FF5057;}
#detailPageWrap .detailPage.USTARlinks .detailPageBody .fontColor .subColor {color: #FF989A;}
#detailPageWrap .detailPage.USTARlinks .detailPageBody .fontColor .sub2Color {color: #CCCCCC;}

#detailPageWrap .detailPage .detailPageBody .reference{
    position: relative;
    display: block;
    margin-top: 50px;
    width: 100%;
    padding: 24px;
    border:solid 2px #EEEEEE;
    border-radius: 10px;
}

#detailPageWrap .detailPage .detailPageBody .reference .pic {
    width: 10%;
    display: table-cell;
}

@media screen and (max-width: 600px) {
    #detailPageWrap .detailPage .detailPageBody .reference .pic {
        width: 22%;
    }
}

#detailPageWrap .detailPage .detailPageBody .reference .pic img {
    width: 100%;
    height: auto;
    border:solid 2px #EEEEEE;
    border-radius: 40px;
}

#detailPageWrap .detailPage .detailPageBody .reference .caption {
    min-height: 100%;
    width: 100%;
    display: table-cell;
    vertical-align: middle;
    padding-left: 16px;
}

#detailPageWrap .detailPage .detailPageBody .reference .caption p {
    margin: 0;
}

#detailPageWrap .detailPage .detailPageBody .reference .caption p.title {
    font-weight: 700;
}

@media screen and (max-width: 600px) {
    #detailPageWrap .detailPage .detailPageBody .reference .caption p.title {
        line-height: 1.3;
    }
}

#detailPageWrap .detailPage .detailPageBody .reference .caption p.discription {
    color: #AAAAAA;
}

@media screen and (max-width: 600px) {
    #detailPageWrap .detailPage .detailPageBody .reference .caption p.discription {
        line-height: 1.3;
        margin-top: 4px;
    }
}

/*============================
#siteFooter
============================*/

#siteFooter {
    display: none;
    position: relative;
    background: #FFB987;
    transform: translateY(-20px);
    z-index: 10;
    left: 0;
    width: 100vw;
    font-family: 'Noto Sans JP', sans-serif;
    color: white;
    padding: 40px 0px 1px;
}

#siteFooter.current-AboutMe {background: #FFB987;}
#siteFooter.current-kitaete {background: #66AAA2;}
#siteFooter.current-FFYL {background: #0E1D34;}
#siteFooter.current-Mirai {background: #6CB6FF;}
#siteFooter.current-ARchemisT {background: #222222;}
#siteFooter.current-USTARlinks {background: #FF989A;}

#siteFooter::after {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100px;
    bottom: -80px;
    left: 0;
}

#siteFooter.current-AboutMe::after {background: #FFB987;}
#siteFooter.current-kitaete::after {background: #66AAA2;}
#siteFooter.current-FFYL::after {background: #0E1D34;}
#siteFooter.current-Mirai::after {background: #6CB6FF;}
#siteFooter.current-ARchemisT::after {background: #222222;}
#siteFooter.current-USTARlinks::after {background: #FF989A;}

#siteFooter .footerContents {
    width: 800px;
    margin: 0 auto;
}

@media screen and (max-width: 600px) {
    #siteFooter .footerContents {
        width: 90%;
        margin: 0 auto;
    }
}

#siteFooter h2 {
    color: white;
    font-family: Podkova;
    font-style: bold;
    font-weight: 1000;
    font-size: 36px;
    line-height: 36px;
    margin-bottom: 24px;
}

#siteFooter p {
    color: white;
    font-size: 20px;
}

@media screen and (max-width: 600px) {
    #siteFooter p {
        font-size: 16px;
    }
}

body.langJp #siteFooter p.langEn {
    display: none;
}

body.langEn #siteFooter p.langJp {
    display: none;
}

#shareLinks {
    margin: 40px 120px 40px 120px;
    display: flex;
    justify-content:space-between
}

@media screen and (max-width: 600px) {
    #shareLinks {
        margin: 40px 40px 40px 40px;
    }
}

#shareLinks img{
    width: 32px;
}

@media screen and (min-width: 600px) {
    #shareLinks img{
        width: 50px;
    }
}
