@charset "UTF-8";

/*common*/

img {
    width: 100%;
    vertical-align: middle;
    image-rendering: -webkit-optimize-contrast;
}

video {
    width: 100%;
}

a {
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
}

a:hover {
    opacity: 0.5;
}

.sp-show {
    display: none;
}

.contents_box {
    padding: 40px 0;
}

.contents_inner {
    width: 880px;
    margin: 0 auto;
}

.flex_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.link_btn {
    font-size: 20px;
    text-align: center;
    text-decoration: none;
    color: inherit;
    display: inline-block;
    position: relative;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
}

.link_btn p {
    border: solid 2px #707070;
    border-radius: 30px;
    padding: 10px 120px;
}


/*swiper*/

.swiper-wrapper {
    overflow: hidden;
}

.swiper-container-fade .swiper-slide {
    background-color: #fff;
}


/*animation*/

.js-scrollAnime {
    opacity: 0;
}

.fadeIn {
    -webkit-animation-name: fadeIn;
    animation-name: fadeIn;
    -webkit-animation-duration: 1.5s;
    animation-duration: 1.5s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
}

@-webkit-keyframes fadeIn {
    0% {
        -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0, 1);
        animation-timing-function: cubic-bezier(0.5, 0, 0, 1);
        -webkit-transform: translate(0px, 0px) scale(0.8, 0.8) rotate(0deg) skew(0deg, 0deg);
        transform: translate(0px, 0px) scale(0.8, 0.8) rotate(0deg) skew(0deg, 0deg);
        opacity: 0;
        -webkit-transition: opacity 1.5s cubic-bezier(0.5, 0, 0, 1) 0.3s, -webkit-transform 1.5s cubic-bezier(0.5, 0, 0, 1) 0.3s;
        transition: opacity 1.5s cubic-bezier(0.5, 0, 0, 1) 0.3s, -webkit-transform 1.5s cubic-bezier(0.5, 0, 0, 1) 0.3s;
        transition: opacity 1.5s cubic-bezier(0.5, 0, 0, 1) 0.3s, transform 1.5s cubic-bezier(0.5, 0, 0, 1) 0.3s;
        transition: opacity 1.5s cubic-bezier(0.5, 0, 0, 1) 0.3s, transform 1.5s cubic-bezier(0.5, 0, 0, 1) 0.3s, -webkit-transform 1.5s cubic-bezier(0.5, 0, 0, 1) 0.3s;
    }
    100% {
        -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0, 1);
        animation-timing-function: cubic-bezier(0.5, 0, 0, 1);
        -webkit-transform: translate(0px, 0px) scale(1, 1) rotate(0deg) skew(0deg, 0deg);
        transform: translate(0px, 0px) scale(1, 1) rotate(0deg) skew(0deg, 0deg);
        opacity: 1;
        -webkit-transition: opacity 1.5s cubic-bezier(0.5, 0, 0, 1) 0.3s, -webkit-transform 1.5s cubic-bezier(0.5, 0, 0, 1) 0.3s;
        transition: opacity 1.5s cubic-bezier(0.5, 0, 0, 1) 0.3s, -webkit-transform 1.5s cubic-bezier(0.5, 0, 0, 1) 0.3s;
        transition: opacity 1.5s cubic-bezier(0.5, 0, 0, 1) 0.3s, transform 1.5s cubic-bezier(0.5, 0, 0, 1) 0.3s;
        transition: opacity 1.5s cubic-bezier(0.5, 0, 0, 1) 0.3s, transform 1.5s cubic-bezier(0.5, 0, 0, 1) 0.3s, -webkit-transform 1.5s cubic-bezier(0.5, 0, 0, 1) 0.3s;
    }
}

@keyframes fadeIn {
    0% {
        -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0, 1);
        animation-timing-function: cubic-bezier(0.5, 0, 0, 1);
        -webkit-transform: translate(0px, 0px) scale(0.8, 0.8) rotate(0deg) skew(0deg, 0deg);
        transform: translate(0px, 0px) scale(0.8, 0.8) rotate(0deg) skew(0deg, 0deg);
        opacity: 0;
        -webkit-transition: opacity 1.5s cubic-bezier(0.5, 0, 0, 1) 0.3s, -webkit-transform 1.5s cubic-bezier(0.5, 0, 0, 1) 0.3s;
        transition: opacity 1.5s cubic-bezier(0.5, 0, 0, 1) 0.3s, -webkit-transform 1.5s cubic-bezier(0.5, 0, 0, 1) 0.3s;
        transition: opacity 1.5s cubic-bezier(0.5, 0, 0, 1) 0.3s, transform 1.5s cubic-bezier(0.5, 0, 0, 1) 0.3s;
        transition: opacity 1.5s cubic-bezier(0.5, 0, 0, 1) 0.3s, transform 1.5s cubic-bezier(0.5, 0, 0, 1) 0.3s, -webkit-transform 1.5s cubic-bezier(0.5, 0, 0, 1) 0.3s;
    }
    100% {
        -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0, 1);
        animation-timing-function: cubic-bezier(0.5, 0, 0, 1);
        -webkit-transform: translate(0px, 0px) scale(1, 1) rotate(0deg) skew(0deg, 0deg);
        transform: translate(0px, 0px) scale(1, 1) rotate(0deg) skew(0deg, 0deg);
        opacity: 1;
        -webkit-transition: opacity 1.5s cubic-bezier(0.5, 0, 0, 1) 0.3s, -webkit-transform 1.5s cubic-bezier(0.5, 0, 0, 1) 0.3s;
        transition: opacity 1.5s cubic-bezier(0.5, 0, 0, 1) 0.3s, -webkit-transform 1.5s cubic-bezier(0.5, 0, 0, 1) 0.3s;
        transition: opacity 1.5s cubic-bezier(0.5, 0, 0, 1) 0.3s, transform 1.5s cubic-bezier(0.5, 0, 0, 1) 0.3s;
        transition: opacity 1.5s cubic-bezier(0.5, 0, 0, 1) 0.3s, transform 1.5s cubic-bezier(0.5, 0, 0, 1) 0.3s, -webkit-transform 1.5s cubic-bezier(0.5, 0, 0, 1) 0.3s;
    }
}


/*kv アニメーション開始時間*/

.recomend02 .js-scrollAnime-delay03 {
    -webkit-animation-delay: 0.3s;
    animation-delay: 0.3s;
}

.recomend03 .js-scrollAnime-delay05 {
    -webkit-animation-delay: 0.5s;
    animation-delay: 0.5s;
}

@media screen and (max-width: 750px) {
    .recomend02 .js-scrollAnime-delay03,
    .recomend03 .js-scrollAnime-delay05 {
        -webkit-animation-delay: 0;
        animation-delay: 0;
    }
}


/*kv*/

.kv-img {
    background: url(../images/kv.png) no-repeat center top;
    height: 540px;
    background-size: contain;
}


/* junior */

#junior {
    padding-bottom: 0;
    margin-top: 20px;
}


/*concept*/

#concept {
    padding: 40px 0;
    margin-bottom: 20px;
}

#concept .contents_inner {
    text-align: center;
}

#concept .contents_inner img {
    width: 100%;
}


/*btn_career*/

.btn_career_link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.btn_career_item {
    width: calc(100% / 3);
    background-color: #707070;
    color: #FFFFFF;
    padding: 20px 20px 40px 20px;
    margin: 0 20px;
    text-align: center;
    text-decoration: none;
    font-size: 24px;
    position: relative;
}

.btn_career_item::before {
    position: absolute;
    content: "";
    bottom: 10px;
    left: 50%;
    border-bottom: solid 2px #FFFFFF;
    border-right: solid 2px #FFFFFF;
    width: 24px;
    height: 24px;
    -webkit-transform: rotate(45deg) translateX(-50%);
    transform: rotate(45deg) translateX(-50%);
}


/* youtube */

.youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}

.youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
}

.youtube_box {
    width: 80%;
    margin: 0 auto;
}


/*recomend*/

#recomend {
    margin-top: 40px;
}

.recomend_title {
    font-size: 36px;
    font-weight: bold;
    color: #707070;
    text-align: center;
    border-bottom: 1px solid #000000;
    padding-bottom: 20px;
    margin-bottom: 20px;
}

.recomend_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 20px 0;
    padding: 20px 0;
}

.recomend_item {
    width: calc(100% / 3);
}

.recomend_point {
    text-align: center;
    color: #707070;
    font-weight: bold;
    font-size: 26px;
    position: relative;
    height: 6em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 20px;
}

.recomend_point .recomend_circle {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background: rgba(51, 54, 117, 0.1) no-repeat;
    border-radius: 100%;
    width: 6em;
    height: 6em;
}

.recomend_point p span {
    font-size: 20px;
    display: block;
}

.btn_item {
    margin: 5px;
    display: flex;
    align-items: center;
    padding: 8px;
    text-decoration: none;
}

.recomend_people {
    margin-bottom: 10px;
}


/*function*/

.function_box {
    margin-bottom: 120px;
}

.func_ico {
    width: 10%;
    margin: 0 auto 20px auto;
}

.func_h_01 {
    font-size: 36px;
    color: #333675;
    font-weight: bold;
    text-align: center;
    letter-spacing: 9px;
    border-bottom: 1px solid #000000;
    padding-bottom: 20px;
    margin-bottom: 20px;
}

.func_h_02 {
    font-size: 72px;
    color: #707070;
    font-weight: bold;
    text-align: center;
    padding-bottom: 40px;
    line-height: 1.2;
}

.func_txt_01 {
    font-size: 24px;
    color: #707070;
    font-weight: bold;
    letter-spacing: 6px;
    text-align: center;
    padding-bottom: 40px;
}

.func_txt_01 sup {
    font-size: 60%;
}

.func_txt_02 {
    font-size: 20px;
    color: #000000;
}

.func_txt_02 sup {
    font-size: 60%;
}

.func_img_box {
    padding-bottom: 40px;
    margin: 0 auto;
}

.func_img_box .flex_box._col3>div {
    width: calc(100% / 3);
    padding: 0 10px;
}

.func_img_txt {
    font-size: 24px;
    color: #333675;
    font-weight: bold;
}

.func_contents_box+.func_contents_box {
    padding-top: 120px;
}

.func-note {
    font-size: 16px;
    text-align: right;
}


/*func01*/

#func01 .func_img_box {
    width: 50%;
}

#func01 .func_img_box div:not(:last-child) {
    margin-bottom: 20px;
}

.func01_link_btn_box {
    justify-content: space-between;
}

.func01_link_btn_box .link_btn {
    width: 45%;
    padding-top: 40px;
}

.func01_video_wrap video {
    border: solid 1px #000;
}


/*func02*/

#func02 .func_img_box {
    position: relative;
    width: 50%;
}

#func02 .func02_battery {
    position: absolute;
    right: calc(-30% + -5%);
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 30%;
}

#func02 #privacy .func_img_box {
    width: 70%;
}

#func02 .func02_battery_movie {
    width: calc(100% / 3 * 2 - 10px);
}


/*func03*/

.func03_ps_img {
    width: 67%;
}


/*func05*/

#func05 .func_img_box>img {
    margin-bottom: 40px;
}

#func05 .func_img_box .func05_inner {
    width: 80%;
    margin: 0 auto 40px auto;
}

#func05 .func_img_box .func05_inner02 {
    width: 60%;
    margin: 0 auto 40px auto;
}

.func05_audio_wrap {
    position: relative;
}

.func05_btn_audio_box {
    width: 15%;
    position: absolute;
    cursor: pointer;
}

.func05_btn_audio_box:hover {
    opacity: 0.8;
}

.func05_btn_audio_box p {
    font-size: 16px;
    text-align: center;
    margin: 0 -2em;
}

.func05_btn_audio_box._audio01 {
    top: 20%;
    right: -18%;
}

.func05_btn_audio_box._audio02 {
    top: 25%;
    left: -10%;
}

.func05_btn_audio_box._audio03 {
    bottom: 10%;
    right: -18%;
}


/*func07*/

.func07_flex {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 80%;
    margin: -20px auto 0 auto;
    margin-top: -20px;
}

.func07_flex>div {
    width: 75%;
}

.func07_flex>.func07-kodomoIco {
    width: 25%;
    margin-right: 20px;
}

#func07 .func-note {
    text-align: left;
    margin-top: 1em;
}


/*spec*/

#spec .func_title_box {
    text-align: center;
}

#spec .spec_close_box {
    text-align: center;
    margin-top: 40px;
}

#spec .spec_btn {
    font-size: 20px;
    display: inline-block;
    position: relative;
    cursor: pointer;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
}

#spec .spec_btn:hover {
    opacity: 0.5;
}

#spec .spec_btn>p {
    border: solid 2px #707070;
    border-radius: 30px;
    padding: 10px 120px;
}

#spec .spec_btn .spec_close_txt {
    color: #0080FF;
    font-size: 20px;
}

#spec .spec-check {
    display: none;
}

#spec .func_contents {
    height: 0;
    opacity: 0;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    overflow: hidden;
}

#spec .spec-check:checked+.func_title_box .spec_btn {
    display: none;
}

#spec .spec-check:checked+.func_title_box+.func_contents {
    height: auto;
    opacity: 1;
    visibility: visible;
}

#spec .spec_table {
    font-size: 18px;
    border-collapse: collapse;
    width: 100%;
    margin-bottom: 20px;
    color: #707070;
}

#spec .spec_table td,
#spec .spec_table th {
    padding: 16px;
    border-color: #707070;
    border-style: solid;
    border-width: 1px;
}

#spec .spec_table th {
    font-weight: normal;
    background-color: #F4F4F4;
}

#spec .spec_table sup {
    font-size: 60%;
}

.spec_note {
    font-size: 14px;
}


/*model_career*/

.model_career_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 120px;
}

.model_career_item {
    width: calc(100% / 3.2);
    padding-top: 70px;
    margin-top: -70px;
    text-align: center;
    color: #707070;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
}

.model_career_item .model_career_inner {
    border: 1px solid #707070;
    padding: 20px;
    width: 100%;
}

.model_career_item .career_name {
    font-size: 22px;
}

.model_career_item .modale_name {
    border-bottom: 1px solid #000000;
    padding-bottom: 20px;
    margin-bottom: 20px;
}

.model_career_item .model_txt {
    font-size: 20px;
    font-weight: bold;
    padding-bottom: 20px;
}

.model_career_item .model_img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding-bottom: 20px;
}

.model_career_item .model_img img {
    width: 44%;
    height: 100%;
    padding: 0 3%;
}

#model_au.model_career_item .model_img img:nth-child(1),
#model_softbank.model_career_item .model_img img:nth-child(1) {
    padding: 0 28%;
}

.model_career_item .model_img img:nth-child(1),
.model_career_item .model_img img:nth-child(2) {
    margin-bottom: 20px;
}

.model_career_item .btn_model {
    display: block;
    font-size: 20px;
    padding: 10px 20px 10px 10px;
    color: #fff;
    text-decoration: none;
    position: relative;
    text-align: left;
    font-weight: bold;
    line-height: 1.2;
}

.model_career_item .btn_model:not(:first-of-type) {
    margin-top: 10px;
}

.model_career_item .btn_model._price p {
    text-shadow: 0px 0px 4px #000000b3;
    filter: glow(color=#000000b3, offX=5, offY=5);
}

#model_docomo.model_career_item .btn_model._price {
    background-color: #CC0033;
}

#model_au.model_career_item .btn_model._price {
    background-color: #EB5505;
}

#model_au.model_career_item .btn_model._price._uq {
    background-color: #0099FF;
}

#model_softbank.model_career_item .btn_model._price {
    background-color: #B7BBBE;
}

.model_career_item .btn_model._about {
    background-color: #000000;
}

.model_career_item .btn_model::after {
    position: absolute;
    content: "";
    right: 20px;
    top: 50%;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    width: 12px;
    height: 12px;
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%);
}

.model_career_item#model_au .model_img img:last-child,
.model_career_item#model_softbank .model_img img:last-child {
    margin-bottom: 30px;
}


/*note*/

#note {
    background-color: #E9ECED;
    font-size: 14px;
}

#note .contents_inner {
    width: 960px;
}

#note li {
    margin-bottom: 20px;
}

.note-list-item {
    padding-top: 185px;
    margin-top: -185px;
}


/*fix_careerlink_wrap*/

#fix_careerlink_wrap {
    z-index: 10;
    right: 115px;
}

#fix_careerlink_wrap ul {
    font-size: 14px;
    text-align: center;
    display: flex;
    width: 510px;
}

#fix_careerlink_wrap li p,
#fix_careerlink_wrap li a {
    padding: 1em;
    line-height: 1;
}

#fix_careerlink_wrap li.logo {
    width: calc(100% / 3 * 2);
    background-color: #000000;
}

#fix_careerlink_wrap ul .logo img {
    width: 60%;
}

#fix_careerlink_wrap li.price {
    width: calc(100% / 3 * 1);
    position: relative;
    background-color: #FF0000;
    color: #fff;
    font-weight: bold;
    cursor: pointer;
}

#fix_careerlink_wrap li.price p {
    text-shadow: 0px 0px 4px #000000b3;
}

#fix_careerlink_wrap li a {
    text-decoration: none;
    color: inherit;
    display: block;
}

#fix_careerlink_wrap ul .career {
    background-color: #fff;
    display: none;
    position: absolute;
    right: 0;
    bottom: -3em;
}

#fix_careerlink_wrap ul .career.open {
    display: flex;
}

#fix_careerlink_wrap ul .career li {
    width: calc(100% / 4);
    border: solid 1px #707070;
}

#fix_careerlink_wrap ul .career li a {
    position: relative;
}

#fix_careerlink_wrap ul .career li a::before {
    position: absolute;
    content: "";
    right: 15px;
    top: 45%;
    border-top: solid 2px;
    border-right: solid 2px;
    width: 10px;
    height: 10px;
    -webkit-transform: rotate( 45deg) translateY(-50%);
    transform: rotate( 45deg) translateY(-50%);
}

#fix_careerlink_wrap li .docomo {
    color: #CC0033;
}

#fix_careerlink_wrap li .au {
    color: #EB5505;
}

#fix_careerlink_wrap li .uq {
    color: #0099FF;
}

#fix_careerlink_wrap li .uq span {
    color: #E4007F;
}

#fix_careerlink_wrap li .softbank {
    color: #8B8F91;
}


/* design */

#design {
    padding-top: 70px;
    margin-top: -70px;
}

.model_3d_link {
    text-align: center;
    position: relative;
}

.model_3d_link ::after {
    position: absolute;
    content: "";
    right: 40px;
    top: 50%;
    border-top: solid 2px;
    border-right: solid 2px;
    width: 12px;
    height: 12px;
    -webkit-transform: rotate( 45deg) translateY(-50%);
    transform: rotate( 45deg) translateY(-50%);
}

.model_3d_link a {
    text-decoration: none;
    color: #707070;
    overflow: hidden;
}

.model_3d_link p {
    background-color: rgba(255, 229, 175, 0.25);
}

#model_3d .func_img_box {
    width: 75%;
}


/* 3d model - design.html */

.model_3d_title {
    font-size: 36px;
}

.iframe_3d_box {
    height: 70vh;
    margin-bottom: 20px;
}

.model_3d_control_box {
    font-size: 20px;
    margin-bottom: 20px;
}

#career_control,
.color_control {
    text-align: center;
    color: #707070;
}

.model_control_check,
.color_control_check {
    display: none;
}

#career_control {
    margin-bottom: 20px;
}

.model_control_label_wrap {
    display: inline-block;
    vertical-align: top;
}

.model_control_label,
.color_control_label {
    cursor: pointer;
}

#career_control .model_control_label {
    background-color: #707070;
    color: #fff;
    padding: 0.5em 1em;
    border-radius: 5px;
    width: 5em;
    line-height: 1;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
}

#career_control .model_control_check:not(:checked)+.model_control_label_wrap .model_control_label:hover {
    opacity: 1;
}

#career_control .model_control_check:not(:checked)+.model_control_label_wrap .model_control_label {
    opacity: 0.2;
}

.color_control {
    text-align: left;
    display: none;
    height: 130px;
}

.color_control.active {
    display: inline-block;
}

.color_control .color_control_label {
    position: relative;
    font-size: 18px;
    line-height: 1.8;
}

.color_control .color_control_label::before {
    position: absolute;
    content: "";
    border-radius: 100%;
    left: -1.5em;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    border: solid 1px #707070;
}

.color_control .color_control_label:hover {
    opacity: 0.7;
}

.color_control_label._white:before {
    background-color: #fff;
}

.color_control_label._black:before {
    background-color: #000000;
}

#color_control_docomo {
    margin-left: 255px;
}

#color_control_au {
    margin-left: 400px;
}

#color_control_softbank {
    margin-left: 545px;
}

#color_control_docomo .color_control_label._purple:before {
    background-color: #751485;
}

#color_control_docomo .color_control_label._red:before {
    background-color: #CC0033;
}

#color_control_docomo .color_control_label._navy:before {
    background-color: #333675;
}

#color_control_au .color_control_label._rosegold:before {
    background-color: #E8B59A;
}

#color_control_softbank .color_control_label._turquoise:before {
    background-color: #00AABE;
}

.return-btn_wrap {
    position: fixed;
    top: 20px;
    right: 20px;
}

#return-btn {
    display: block;
    width: 50px;
    height: 50px;
    position: relative;
}

#return-btn::before,
#return-btn::after {
    content: "";
    display: block;
    width: 100%;
    height: 10px;
    background: #707070;
    transform: rotate(45deg);
    transform-origin: 0% 50%;
    position: absolute;
    top: calc(14% - 5px);
    left: 14%;
}

#return-btn::after {
    transform: rotate(-45deg);
    transform-origin: 100% 50%;
    left: auto;
    right: 14%;
}

.ie_attention {
    font-weight: bold;
    font-size: 24px;
    color: #707070;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.model_3d_txt_box {
    text-align: center;
}

.model_3d_txt {
    border: solid 2px #707070;
    color: #707070;
    border-radius: 30px;
    padding: 20px;
    font-size: 18px;
    text-align: left;
    display: inline-block;
    width: 500px;
}

.model_3d_txt p {
    font-size: 120%;
    margin-bottom: 10px;
}

.model_3d_txt ul li {
    text-indent: -1em;
    padding-left: 1em;
}

.model_3d_txt_inner {
    display: flex;
    flex-direction: column;
    align-items: center;
}


/*==============
SP style
==============*/

@media screen and (max-width: 750px) {
    /*common*/
    .sp-show {
        display: block;
    }
    .pc-show {
        display: none;
    }
    .contents_box {
        padding: 20px 0;
    }
    .contents_inner {
        width: 90%;
        margin: 0 auto;
    }
    .link_btn {
        font-size: 2.6vw;
    }
    .link_btn p {
        padding: 2.6vw 10.6vw;
    }
    /*kv*/
    .kv-img {
        width: 100%;
        background: url(../images/kv_sp.jpg) no-repeat center top;
        background-size: contain;
        height: 104vw;
    }
    /*junior*/
    #junior {
        padding-top: 5.2vw;
        margin-top: 2.6vw;
    }
    /*concept*/
    #concept {
        padding: 5.2vw 0;
        margin: 0 0 10px 0;
    }
    #concept .contents_inner img {
        width: 100%;
    }
    /*btn_career*/
    #btn_career .contents_inner {
        width: 100%;
    }
    .btn_career_item {
        margin: 0;
        font-size: 3.2vw;
        width: calc(100% / 4);
        padding: 2.6vw 10px 5.3vw 10px;
    }
    .btn_career_item::before {
        width: 3.2vw;
        height: 3.2vw;
        bottom: 1.3vw;
    }
    .btn_career_link {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    /* youtube */
    .youtube_box {
        width: auto;
        margin: 0 5%;
    }
    /*recomend*/
    #recomend {
        margin-top: 5.3vw;
        background: transparent;
    }
    .recomend_title {
        font-size: 4.8vw;
        padding-bottom: 10px;
        margin-bottom: 10px;
        border-bottom: none;
    }
    .recomend_list {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin: 10px 0;
        padding: 10px 0;
    }
    .recomend_item {
        width: 100%;
    }
    .recomend_item:not(:last-child) {
        border-bottom: 1px solid #000000;
    }
    .recomend_item:nth-child(2),
    .recomend_item:nth-child(3) {
        padding-top: 20px;
    }
    .recomend_point {
        font-size: 3.7vw;
    }
    .recomend_point p span {
        font-size: 2.6vw;
    }
    .btn_item {
        display: block;
        width: calc(100%/3 - 10px);
        padding: 0;
        margin: 0;
    }
    .recomend_btn_box {
        display: flex;
        justify-content: space-between;
        margin-bottom: 10px;
    }
    .recomend_people,
    .recomend_btn_box {
        margin-left: 5%;
        margin-right: 5%;
    }
    /*function*/
    .function_box {
        margin-bottom: 60px;
    }
    .func_ico {
        width: 15%;
    }
    .func_h_01 {
        font-size: 4.8vw;
        letter-spacing: 1.4vw;
        border-bottom: 2px solid #000000;
        padding-bottom: 10px;
        margin-bottom: 10px;
    }
    .func_h_02 {
        font-size: 9.6vw;
        padding-bottom: 20px;
    }
    .func_txt_01 {
        font-size: 3.2vw;
        letter-spacing: 1vw;
        padding-bottom: 20px;
        width: 100%;
        margin: 0 auto;
    }
    .func_txt_02 {
        font-size: 2.6vw;
    }
    .func_img_box {
        padding-bottom: 20px;
    }
    .func_img_box .flex_box {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        width: 90%;
        margin: 0 auto;
    }
    .func_img_box .flex_box._col3 {
        -webkit-box-orient: unset;
        -webkit-box-direction: unset;
        -ms-flex-direction: unset;
        flex-direction: unset;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        width: 80%;
    }
    .func_img_box .flex_box._col3>div {
        width: calc(50% - 10px);
        padding: 0 5px;
    }
    .func_img_box .flex_box._col3>div:nth-child(3) {
        margin-top: 5px;
    }
    .func_img_box .flex_box>div {
        margin: 0 auto;
    }
    .func_img_box .flex_box .img_s {
        width: 60%;
    }
    .func_img_box img:not(:last-child) {
        margin-bottom: 10px;
    }
    .func_img_txt {
        font-size: 3.2vw;
    }
    .func_contents_box+.func_contents_box {
        padding-top: 60px;
    }
    .func-note {
        font-size: 2.13vw;
    }
    /*func01*/
    #func01 .func_img_box {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        width: 60%;
    }
    #func01 .func_img_box div:not(:last-child) {
        margin-bottom: 10px;
    }
    /*func02*/
    #func02 .func_img_box {
        width: 60%;
    }
    #func02 .func02_battery {
        position: relative;
        -webkit-transform: none;
        transform: none;
        width: 50%;
        right: auto;
        margin: 0 auto;
    }
    #func02 #privacy .func_img_box {
        width: 100%;
    }
    #func02 .func02_battery_movie {
        width: 90%;
    }
    /*func03*/
    .func03_ps_img {
        width: 80%;
    }
    /*func05*/
    #func05 .func_img_box>img {
        margin-bottom: 20px;
    }
    #func05 .func_img_box .func05_inner {
        width: 100%;
        margin: 0 auto 20px auto;
    }
    #func05 .func_img_box .flex_box div:nth-child(1) {
        margin-right: 0;
        margin-bottom: 20px;
    }
    #func05 .func_img_box .flex_box div:nth-child(2) {
        margin-left: 0;
    }
    .func05_btn_audio_box p {
        font-size: 2.6vw;
        line-height: 1.2;
    }
    .func05_btn_audio_box {
        width: 25%;
    }
    .func_img_box .func05_btn_audio_box img {
        margin-bottom: 5px;
    }
    .func05_btn_audio_box._audio01 {
        right: -33%;
    }
    .func05_btn_audio_box._audio02 {
        left: -22%;
    }
    .func05_btn_audio_box._audio03 {
        right: -30%;
    }
    /*func07*/
    .func07_flex {
        margin-top: 0;
        width: 80%;
    }
    .func07_flex>div {
        width: 70%;
    }
    .func07_flex>.func07-kodomoIco {
        width: 30%;
        margin-right: 10px;
    }
    /*func09*/
    #func09 .func09_img_note {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
    }
    #func09 .func09_img_note img {
        margin-bottom: 0;
    }
    #func09 .func09_img_note .func-note {
        margin-left: 1em;
    }
    /*spec*/
    #spec .spec_btn {
        font-size: 2.6vw;
    }
    #spec .spec_btn>p {
        padding: 2.6vw 10.6vw;
    }
    #spec .spec_btn .spec_close_txt {
        font-size: 2.6vw;
    }
    #spec .spec_table {
        font-size: 2.4vw;
    }
    #spec .spec_table td,
    #spec .spec_table th {
        padding: 10px;
    }
    .spec_note {
        font-size: 1.86vw;
    }
    /*model_career*/
    .model_career_box {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-bottom: 60px;
    }
    .model_career_item {
        width: 100%;
        padding-top: 140px;
        margin-top: -140px;
    }
    .model_career_item:not(:last-child) {
        margin-bottom: 10px;
    }
    .model_career_item .model_career_inner {
        padding: 10px;
    }
    .model_career_item .career_name {
        font-size: 5.8vw;
        line-height: 1;
        margin-bottom: 10px;
    }
    .model_career_item .modale_name {
        padding-bottom: 10px;
    }
    .model_career_item .modale_name img {
        width: 60%;
    }
    .model_career_item .model_img {
        padding-bottom: 10px;
    }
    .model_career_item .model_img img {
        width: calc(100% / 4 - 6%);
    }
    .model_career_item .model_img img:nth-child(1),
    .model_career_item .model_img img:nth-child(2) {
        margin-bottom: 10px;
    }
    .model_career_item .model_txt {
        font-size: 2.6vw;
        padding-bottom: 10px;
    }
    .model_career_item .btn_model {
        font-size: 3.2vw;
        padding: 10px 10px 10px 5px;
        width: 80%;
        margin: 0 auto;
        text-align: center;
    }
    .model_career_item .btn_model .sp-space {
        display: inline-block;
    }
    .model_career_item .btn_model._about {
        margin-top: 5px;
    }
    .model_career_item .btn_model._price {
        margin-top: 5px;
    }
    .model_career_item .btn_model::after {
        right: 10px;
        width: 1.6vw;
        height: 1.6vw;
    }
    #model_au.model_career_item .model_img img:nth-child(1),
    #model_softbank.model_career_item .model_img img:nth-child(1) {
        padding: 0 3%;
    }
    .model_career_item#model_au .model_img img:last-child,
    .model_career_item#model_softbank .model_img img:last-child {
        margin-bottom: 0;
    }
    /*note*/
    #note {
        background-color: #E9ECED;
        font-size: 1.86vw;
    }
    #note .contents_inner {
        width: 95%;
    }
    #note li {
        margin-bottom: 10px;
    }
    .note-list-item {
        padding-top: 25vw;
        margin-top: -25vw;
    }
    /*fix_careerlink_wrap*/
    #fix_careerlink_wrap {
        right: 0px;
    }
    #fix_careerlink_wrap ul {
        width: 100vw;
        font-size: 3.2vw;
    }
    #fix_careerlink_wrap li p,
    #fix_careerlink_wrap li a {
        padding: 1em 0.5em;
    }
    #fix_careerlink_wrap ul .career li a::before {
        width: 2.5vw;
        height: 2.5vw;
        right: 10px;
    }
    /* design */
    .model_3d_link ::after {
        right: 20px;
        width: 1.6vw;
        height: 1.6vw;
    }
    #design {
        padding-top: 140px;
        margin-top: -140px;
    }
    /* 3d model - design.html */
    .model_3d_title {
        font-size: 4.8vw;
    }
    .iframe_3d_box {
        height: 60vh;
    }
    .model_3d_control_box {
        font-size: 3.5vw;
    }
    .color_control {
        height: 110px;
    }
    .color_control .color_control_label {
        line-height: 2;
        font-size: 3.5vw;
        line-height: 2.6;
    }
    .color_control .color_control_label::before {
        width: 3.5vw;
        height: 3.5vw;
    }
    #color_control_docomo {
        margin-left: 13vw;
    }
    #color_control_au {
        margin-left: 38vw;
    }
    #color_control_softbank {
        margin-left: 64vw;
    }
    .return-btn_wrap {
        top: 10px;
        right: 10px;
    }
    #return-btn {
        width: 40px;
        height: 40px;
    }
    #return-btn::before,
    #return-btn::after {
        height: 5px;
    }
    .ie_attention {
        font-size: 3.2vw;
    }
    .model_3d_txt {
        font-size: 3.5vw;
        padding: 10px;
        width: 70vw;
        border-radius: 15px;
    }
}