@charset "utf-8";


/*===========================================
==================　　SPver　　=================
===========================================*/
/*------                      common                         --------*/
body {
    max-width: 100vw;
    overflow-x: hidden;
}

#wrapper {
    font-family: ten-mincho-text, serif;
    font-weight: 400;
    font-style: normal;
    color: #747474;
    box-sizing: border-box;
}

#content {
    width: 85%;
    margin: auto;
}

img {
    margin: 0 auto;
    width: 100%;
    max-width: 100%;
}

.firstsection {
    margin-top: 80px;
}

.centersection {
    text-align: center;
}

/*/////      slidefade   /////*/

.img-container {
    overflow: hidden;
    position: relative;
    margin-bottom: 152px;
}

.img-container__img {
    display: block;
    opacity: 0;
    position: relative;
    transition: all .5s .3s ease;
    z-index: 0;
}

.img-container:before {
    background: #345E9C;
    content: '';
    display: block;
    height: 100%;
    position: absolute;
    transform: translateX(-100%);
    transition: all .8s 0s ease;
    width: 120%;
    z-index: 1;
}

.img-container.active img {
    opacity: 1;
}

.img-container.active:before {
    transform: translateX(100%);
}

.text-container {
    opacity: 0;
    transition: all .8s .5s ease;
    margin-bottom: 152px;
}


.text-container.active {
    opacity: 1;
}

.text-container__title {
    display: inline-block;
    overflow: hidden;
    position: relative;
    z-index: -9999999;
}

.text-container__title:before {
    background: #345E9C;
    content: '';
    display: block;
    height: 100%;
    position: absolute;
    transform: translateX(-100%);
    transition: all .8s .3s ease;
    width: 120%;
    z-index: 1;
}

.text-container__text {
    left: -50px;
    opacity: 0;
    position: relative;
    transition: all .5s .5s ease;
}

.text-container.active .text-container__title:before {
    transform: translateX(100%);
}

.text-container.active .text-container__title__inner {
    opacity: 1;
}

.text-container.active .text-container__text {
    left: 0;
    opacity: 1;
}

.text-container__text {
    left: -100px;
    opacity: 0;
    position: relative;
    transition: all .5s .5s ease;
    z-index: -1;
}

/*//////  slideshow///////*/


/*slide*/
.slide {
    position: relative;
    padding-bottom: 85%;
    z-index: -9999999;
    /*
    margin-bottom: 152px;
    */
}

.slide img {
    position: absolute;
    top: 80px;
    left: 0;
    width: 100%;
    height: auto;
    opacity: 0;
    z-index: -9999999;
}

/*info*/
.ttl {
    font-size: 18px;
    font-weight: bold;
    padding: 10px 0;
    border-bottom: solid 2px #045FB4;
}

.topics {
    border-bottom: solid 2px #045FB4;
    padding-bottom: 7px;
}


.topics dl {
    padding: 15px 0;
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
}

.topics dt {
    padding: 0px 20px 5px;
    font-size: 14px;
}

.topics dd {
    font-weight: bold;
    padding: 0px 20px;
}

.topics dd :hover {
    opacity: 0.7;
}

/*//////       font     ////////*/
a {
    color: #747474;
}

p {
    font-size: 14px;
    line-height: 1.5;

}

.smallfont {
    font-size: 10px;
}

h2 {
    color: #345E9C;
    font-size: 32px;
    line-height: 1.3;
    margin-bottom: 8px;
}

h3 {
    color: #345E9C;
    font-size: 20px;
    line-height: 1.3;
    margin-bottom: 8px;
}

h4 {
    color: #345E9C;
    font-size: 24px;
    margin-bottom: 8px;
    line-height: 1.3;
}



.width_20 {
    width: 20%;
}

.width80 {
    width: 80%;
    margin: 0 auto;
    text-align: left;
}

.mar_bo48 {
    margin-bottom: 48px;
}

.mar_bo152 {
    margin-bottom: 152px;
}

.btn {
    text-align: center;
    display: inline-block;
    min-width: 200px;
    text-decoration: none;
    background-color: #9FE0FF;
    padding: 16px 16px;
    box-sizing: border-box;
    border-radius: 35px;
    margin-bottom: 152px;
    box-sizing: border-box;
    font-size: 16px;
    color: #3e3e3e;
}

.btn:hover {
    opacity: 0.8;
}

/*//////    header   ////////*/
header {
    position: sticky;
    position: -webkit-sticky;
    top: 0;
    background: #fff;
    padding-bottom: 20px;
    z-index: 99999999999999999;
}

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


    .width280 {
        width: 280px;
    }

    header {
        padding-bottom: 0;
    }

    header h1 img {
        width: 100px;
    }

    /*nav*/

    nav {
        width: 100%;
        height: 70px;
        position: relative;
        background: rgb(255, 255, 255);
    }

    .drawer {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        position: relative;
        height: 70px;
        padding: 0 2em;
        z-index: 9999999999;
    }

    /*navトグル部分*/

    .navbar_toggle {
        z-index: 9999;
    }

    .navbar_toggle_icon {
        position: relative;
        display: block;
        height: 2px;
        width: 30px;
        background: #5a5a5a;
        -webkit-transition: ease 0.8s;
        transition: ease 0.8s;
    }

    .navbar_toggle_icon:nth-child(1) {
        top: 0;
    }

    .navbar_toggle_icon:nth-child(2) {
        margin: 8px 0;
    }

    .navbar_toggle_icon:nth-child(3) {
        top: 0;
    }

    /*navOPEN時の動き*/

    .navbar_toggle.open .navbar_toggle_icon:nth-child(1) {
        top: 10px;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    .navbar_toggle.open .navbar_toggle_icon:nth-child(2) {
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        opacity: 0;
    }

    .navbar_toggle.open .navbar_toggle_icon:nth-child(3) {
        top: -10px;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    /*nav本体の部分*/

    .menu {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%);
        -webkit-transition: ease 0.8s;
        transition: ease 0.8s;
    }

    .menu a {
        font-weight: bold;
        color: #3E3E3E;
    }

    .menu li:hover a {
        opacity: 0.5;
    }

    .menu ul {
        width: 80%;
        margin: 15px auto;
        display: flex;
        justify-content: space-around;
        flex-wrap: wrap;
        padding: 50px 0;
    }

    .menu ul li {
        width: 100%;
        text-align: center;
    }

    .menu ul li a {
        padding: 20px 0;
        box-sizing: border-box;
        display: block;
        height: 100%;
        width: 100%;
        text-decoration: none;
        font-size: 16px;
        color: #fff;
    }

    /*navOPEN時の動き*/

    .menu.open {
        -webkit-transform: translateX(0);
        transform: translateX(0);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        background: #345E9C;
    }
}

/*topics*/

/*//////     footer   ////////*/

footer {
    width: 100vw;
    padding: 15px 0;
    background: #345E9C;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #fff;
    line-height: 1.3;
}

footer p {
    color: #fff;
    font-size: 10px;
}

footer h1 {
    margin: 0;
    padding: 3px;
    font-size: 18px;
}

footer dl {
    display: flex;
    flex-wrap: wrap;
    margin: auto;
    justify-content: center;
    font-size: 10px;
}

footer dt:after {
    content: ":";
    padding: 0 3px;
}

footer a {
    color: #fff;
}

footer a:hover {
    opacity: 0.6;
}

#page-top {
    position: fixed;
    bottom: 30px;
    right: 20px;
    font-size: 77%;
    border-radius: 0 100% 100% 100%;
    background-color: #345E9C;
    transform: translateY(20%) rotate(45deg);
    z-index: 99999;
    border: 1px solid #fff;
}

#page-top a {
    width: 20px;
    height: 20px;
    padding: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    line-height: 1.2;
    transform: translateY(-0%) rotate(-45deg);
}




/*------                        index                         --------*/


/*------                      alphazero                   --------*/


.graph img {
    width: 80%;
}

/*
.graph_after {
    animation: txtEffect 0.8s both;
}

@keyframes txtEffect {
    100% {
        filter: blur(0px);
        width: 80%;
    }
}
*/

#alphazero table {
    border: 1px solid #345E9C;
    border-collapse: collapse;
    text-align: center;
    width: 100%;
}

#alphazero table th {
    font-size: 14px;
    color: #345e9c;
    border: 1px solid #345E9C;
    box-sizing: border-box;
    height: 50px;
    vertical-align: middle;
}

#alphazero table td {
    border: 1px solid #345E9C;
    box-sizing: border-box;
    height: 30px;
    vertical-align: middle;
    font-size: 12px;
    padding: 10px 5px;
}

#alphazero #content section p {
    margin-bottom: 0;
}

#alphazero .block {
    font-size: 2.5vw;
    color: #3e3e3e;
    line-height: 2;
    width: 100%;
    margin-bottom: 152px;
    text-align: center;
}

#alphazero .block .bigfont {
    font-size: 7.3vw;
    color: #345E9C;
}

#alphazero .block p {
    font-size: 3vw;
}

#alphazero .img-container.ex1 {
    margin-bottom: 48px;
}


/*------                        product                    --------*/
.product_box {
    width: 420px;
    max-width: 100%;
    border: 2px solid #345E9C;
    text-align: center;
    box-sizing: border-box;
}

.product_box h4 {
    color: #fff;
    background: #345e9c;
    padding: 16px 0;
}


.product_box figcaption {
    font-size: 18px;
    line-height: 1.5;
    padding: 24px;
    box-sizing: border-box;
}

.product_box img {
    width: 200px;
}

#product_contents .product_box,
#product_contents .product_text {
    margin: 0 auto 48px;
}

#product .text-container {
    line-height: 1.5;
}

#product .img-container {
    margin-bottom: 18px;
}

#product_contents .product_text {
    width: 420px;
    margin: 0 auto;
    max-width: 100%;
}

#product_contents .product_text li {
    font-size: 10px;
}



/*------                        company                     --------*/
#company section > dl {
    margin-bottom: 48px;
}


#company .flex {
    line-height: 2;
    display: flex;
    justify-content: space-between;
}

#company .after_border {
    position: relative;
}


#company #content section dt {
    margin: 0;
}

#company #content .after_border {
    width: 10%;
}

#company #content .flex70 {
    width: 90%;
}

#company #content dl .flex {
    justify-content: flex-start;
}

#company #content dl .flex dl dt {
    margin-right: 8px
}

#company .mar_bo48 {
    margin-bottom: 24px;
}

#company .btn {
    margin-bottom: 0;
}

#company #content .after_border {
    width: 20%;
}

#company #content .flex70 {
    width: 80%;
    font-size: 14px;
}

#company .link a {
    text-decoration: underline;
    cursor: pointer;
}

#company .link {
    margin-bottom: 152px;

}

/*------                     privacy                       --------*/

@media screen and (max-width: 760px) {
    #privacy h3 {
        font-size: 24px;
    }

    #privacy h4 {
        font-size: 16px;
        margin-bottom: 4px;
    }

    #privacy p {
        font-size: 10px;
    }

    #privacy li {
        font-size: 10px;
    }
}

#privacy .text-container__text {
    margin-bottom: 48px;
}

/*------                          Q&A                          --------*/
#qa .text-container {
    margin-bottom: 80px;
}

#qa .smallfont {
    font-size: 18px;
}

#qa p {
    font-size: 16px;
}

#qa h2 {
    margin-bottom: 4px;
}

/*------                     CONTACT                      --------*/


#contact section dt {
    margin-top: 18px;
}

#contact section dd {
    margin-bottom: 18px;
}

#contact section h2,
#contact p {
    text-align: center;
}

#contact form {
    width: 80%;
    max-width: 505px;
    margin: 0 auto;
}

input[type="text"],
input[type="e-mail"] {
    width: 100%;
    height: 48px;
    margin-top: 0.5em;
    padding: 6px;
    box-sizing: border-box;
    border: 1px solid #345E9C;
}

textarea {
    width: 100%;
    height: 200px;
    margin-top: 0.5em;
    padding: 10px;
    box-sizing: border-box;
    border: 1px solid #345E9C;
}

input[type="text"]:focus,
input[type="e-mail"]:focus,
input[type="submit"]:hover,
textarea:focus {
    opacity: 0.8;
}

input[type="submit"] {
    -webkit-appearance: none;
    width: 100%;
    height: 41.48px;
    padding: 60 20px;
    box-sizing: border-box;
    border-radius: 15px 15px 15px 15px;
    border-radius: 35px;
    font-size: 16px;
    background: #9FE0FF;
    color: #3e3e3e;
    border: none;
}

.btn-box {
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin-bottom: 200px;
}

.btn-box {
    margin-top: 18px;
    width: 100%;
}

.btn-box li {
    width: 45%;

}



/*===========================================
==================　　PCver　　================
===========================================*/
@media screen and (min-width:761px) {

    /*------                      common                         --------*/



    #content {
        width: 70%;
        margin: auto;
    }

    /*//////        font     ////////*/
    p {
        font-size: 16px;
    }

    .smallfont {
        font-size: 14px;
    }

    h2 {
        font-size: 40px;
        margin-bottom: 16px;
    }

    h3 {
        font-size: 32px;
        //margin-bottom: 16px;
    }

    h4 {
        font-size: 24px;
        margin-bottom: 16px;
    }



    /*//////    header   ////////*/
    header {
        width: 90%;
        margin: 0 auto;
    }

    nav {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }


    header h1 img {
        max-width: 150px;

    }

    /*nav*/


    .navbar_toggle {
        display: none;
    }

    .menu {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }

    .menu ul {
        width: 100%;
        height: 70px;
        display: flex;
        align-items: center;
        margin: 0 auto;
        padding: 0;
        justify-content: flex-end;
    }

    .menu ul li {
        border-bottom: none;
        text-align: center;
        margin-right: 16px;
        background-image: url(../images/li-icon.png);
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center right;
        padding-right: 20px;

    }

    .menu ul li:last-child {
        margin-right: 0;
    }

    .menu ul li a {
        font-size: 16px;
    }

    .slide {
        padding-bottom: 55%;
    }

    /*topics*/
    .topics dl {
        flex-direction: row;
    }


    /*//////     footer   ////////*/

    footer {
        padding: 50px 100px;
        flex-direction: inherit;
        justify-content: space-between;
    }

    footer h1 {
        font-size: 24px;
        margin-left: 5%;
    }

    footer p,
    footer dl {
        font-size: 16px;
    }

    footer #footer_content {
        margin-right: 5%;
    }

    footer dl {
        justify-content: flex-end;
    }

    #page-top {
        bottom: 50px;
        right: 50px;
    }

    /*------                        index                         --------*/



    /*------                      alphazero                   --------*/
    #alphazero table th {
        font-size: 16px;
    }

    #alphazero table td {
        font-size: 14px;
    }

    #alphazero .flex {
        display: flex;
        justify-content: flex-start;
        margin-bottom: 152px;
    }

    #alphazero .flex .ex1 img {
        /*
        max-width: 240px;
        max-height: 299px;
*/
        margin: 0;
    }

    #alphazero .flex .ex2 img {
        /*
    max-width: 672px;
        max-height: 299px;
*/
        margin: 0;
    }

    #alphazero .flex .img-container {
        margin-bottom: 0;
    }

    #alphazero .block .bigfont {
        font-size: 5vw;
        color: #345E9C;
    }

    #alphazero .block p {
        font-size: 2vw;
    }

    .graph img {
        width: 40vw;
    }

    /*------                        product                    --------*/


    #product .flex {
        display: flex;
        position: relative;
        margin-bottom: 48px;
    }

    #product .flex .position {
        position: absolute;
        right: 0vw;
        top: 8vw;
        z-index: 99;
        background: rgba(255, 255, 255, 0.8);
        padding: 10px 20px;
        width: 40%;

    }

    #product .flex .position .text-container p {
        font-size: 1.2vw;
    }

    #product .flex .text-container {
        margin-bottom: 0;
    }

    #product_contents {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }


    #product_contents .product_box,
    #product_contents .product_text {
        width: 45%;
        margin: 0 0 48px;
    }

    #product_contents {
        margin-bottom: 104px;
    }

    #product .flex .img-container {
        width: 80%;
    }

    #product_contents .product_text li {
        font-size: 1vw;
    }


    /*------                        company                     --------*/
    /*------                     privacy                       --------*/
    /*------                          Q&A                          --------*/
    /*------                     CONTACT                      --------*/
    textarea {
        height: 300px;
    }

}


.a_none {
    display: none;
}



.top_contact{
	margin-bottom:80px;
	text-align:center;
}
.top_contact a{
	font-weight:bold;
}
.top_contact a:hover{
opacity:0.8;
}