@charset "utf-8";
/*
Noto Sans Japanese
font-family: 'Noto Sans JP', sans-serif;
Regular 400
Bold 700
/*--------------------------------------------------------
	reset
---------------------------------------------------------*/
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
    margin: 0;
    padding: 0;
}

address, caption, cite, code, dfn, em, strong, th, var {
    font-style: normal;
}

ul, ol {
    list-style-type: none;
}

em, strong, th, address {
    font-style: normal;
    font-weight: normal;
    text-align: left;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: normal;
    font-size: 100%;
}

img,
object,
embed {
    border: 0;
    vertical-align: top;
}

img {
    max-width: 100%;
    vertical-align: bottom;
}

a {
    outline: none;
}

hr {
    border: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
    font-size: 100%;
}

li {
    list-style-type: none;
}

strong {
    font-weight: bold;
}

/*-------------------------------------------------
	base
--------------------------------------------------*/
body {
    position: relative;
    background: #000;
    color: #fff;
    font-family: Helvetica, Arial, sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
}

a {
    outline: none;
}

/*txt img active*/
::selection,
::-moz-selection {
    background: #666;
}

img::selection,
img::-moz-selection {
    background: none;
}

/*cookie*/
#onetrust-banner-sdk {
    outline: none;
}

video {
    display: block;
}

/*-------------------------------------------------
	font アンチエイリアス
--------------------------------------------------*/
/* 解像度 1x：subpixel、解像度 2x：grayscale */
h1, h2, .number, p {
    -webkit-font-smoothing: subpixel-antialiased;
    -moz-osx-font-smoothing: unset;
}

@media only screen and
(-webkit-min-device-pixel-ratio: 2),
(min-resolution: 2dppx) {
    h1, h2, .number, p {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }
}

/*-------------------------------------------------
	fade
--------------------------------------------------*/
.wrap_f {
    width: 100%;
    height: 100%;
    position: relative;
}

.wrap_f::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    pointer-events: none;
    user-select: none;
    z-index: 300;
    opacity: 1;
    transition: 1s;
}

.wrap_f.fade::after {
    opacity: 0;
    pointer-events: none;
    user-select: none;
}

/*anime set
------------------------*/
.main_img img,
.main .title_box img,
.main .title_box h1,
h2,
h3,
#read p,
#jam_read p,
#jam_read .jam_read_bg,
.design p,
.jam_about_logo,
#jam_about p,
#movement p,
.img_box,
.design_03 .img_box,
.jam_design_02 .img_box,
.jam_design_03 .img_box,
.co_h2,
.co_h2 span,
.spec .title_box,
.spec .img_box,
.spec h3,
.spec p,
.spec_btn,
#spec_sub p {
    visibility: hidden;
}

/*-------------------------------------------------
	timer
--------------------------------------------------*/
.timer_show {
    display: none;
}

/*-------------------------------------------------
	header
--------------------------------------------------*/
header {
    position: absolute;
    left: 0px;
    top: 0px;
    z-index: 9999;
    width: 100%;
}

header div {
    margin: 0;
    line-height: 1;
    font-size: 1px;
    display: block;
}

header div img {
    width: 100%;
    vertical-align: top;
}

/*------ header logo ------*/
header .seiko_logo {
    width: 130px;
    position: absolute;
    right: 30px;
    top: 30px;
    text-align: right;
}

header .prospex_logo {
    width: 240px;
    position: absolute;
    left: 30px;
    top: 30px;
}

@media (max-width: 1600px) {
    header .seiko_logo {
        width: 8.17vw;
        right: 1.85vw;
        top: 1.85vw;
    }

    header .prospex_logo {
        width: 14.9vw;
        left: 1.9vw;
        top: 1.8vw;
    }
}

/*END*/
@media (orientation: portrait) {
    header .seiko_logo {
        width: 140px;
        right: 30px;
        top: 30px;
    }

    header .prospex_logo {
        width: 250px;
        left: 30px;
        top: 30px;
    }
}

/*END*/
@media (max-width: 780px) and (orientation: portrait) {
    header .seiko_logo {
        width: 17vw;
        right: 3.8vw;
        top: 3.8vw;
    }

    header .prospex_logo {
        width: 28vw;
        left: 3.8vw;
        top: 3.8vw;
    }
}

/*END*/
@media (max-width: 640px) and (orientation: portrait) {
    header .seiko_logo {
        width: 20vw;
    }

    header .prospex_logo {
        width: 36vw;
    }
}

/*END*/

/*-------------------------------------------------
	contents
--------------------------------------------------*/
.wrapper {
    position: relative;
    overflow: hidden;
}

/*-------------------------------------------------
	main
--------------------------------------------------*/
.main {
    width: 100%;
    height: auto;
    position: relative;
    z-index: 1;
    overflow: hidden;
    outline: none;
}

/*---- title_box ----*/
.main .title_box {
    position: absolute;
    left: 0;
    top: 76.5%;
    width: 100%;
    text-align: center;
    z-index: 2;
}

.main .title_box img {
    width: 38.8vw;
    position: relative;
    z-index: 1;
    line-height: 0;
    font-size: 1px;
}

.main .title_box h1 {
    margin-top: 1.55vw;
    font-size: 1.75vw;
    line-height: 1.3;
    color: #fff;
    width: 100%;
    font-family: Helvetica;
    font-weight: bold;
    position: relative;
    z-index: 2;
}

@media (orientation: portrait) {
    /* 縦 */
    .main .title_box {
        top: 76%;
    }

    .main .title_box img {
        width: 69vw;
    }

    .main .title_box h1 {
        margin-top: 3vw;
        font-size: 3.1vw;
    }
}

/*END*/
@media (max-width: 640px) and (orientation: portrait) {
    .main .title_box {
        top: 81%;
    }

    .main .title_box img {
        width: 72vw;
    }

    .main .title_box h1 {
        margin-top: 3.4vw;
        font-size: 3.8vw;
        line-height: 1.35;
    }

    #jamstec .main .title_box {
        top: 77%;
    }

    #jamstec .title_box h1 {
        margin-top: 3.6vw;
        font-size: 3.8vw;
        line-height: 1.35;
    }

    #jamstec .title_box h1 span {
        display: block;
    }
}

/*END*/
@media (max-width: 400px) and (orientation: portrait) {
    .main .title_box {
        top: 80.5%;
    }

    #jamstec .main .title_box {
        top: 75.5%;
    }
}

/*END*/

/*---- main_img ----*/
.main .main_img {
    width: 100%;
    position: relative;
    z-index: 1;
}

.main .main_img img {
    width: 100%;
}

/*[ on / off ]*/
.main_img .x15 {
    display: block;
}

.main_img .x1 {
    display: none;
}

.main_img .tab {
    display: none;
}

.main_img .sp {
    display: none;
}

@media (max-width: 1400px) {
    .main_img .x15 {
        display: none;
    }

    .main_img .x1 {
        display: block;
    }

    .main_img .tab {
        display: none;
    }

    .main_img .sp {
        display: none;
    }
}

/*END*/
@media (orientation: portrait) {
    .main_img .x15 {
        display: none;
    }

    .main_img .x1 {
        display: none;
    }

    .main_img .tab {
        display: block;
    }

    .main_img .sp {
        display: none;
    }
}

/*END*/
@media (max-width: 640px) and (orientation: portrait) {
    .main_img .x15 {
        display: none;
    }

    .main_img .x1 {
        display: none;
    }

    .main_img .tab {
        display: none;
    }

    .main_img .sp {
        display: block;
    }
}

/*END*/

/*-------------------------------------------------
	txt
--------------------------------------------------*/
.co h2 {
    font-size: 30px;
    letter-spacing: 1px;
    line-height: 1.5;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
}

@media (max-width: 1200px) {
    .co h2 {
        font-size: 2.5vw;
        letter-spacing: .1vw;
    }
}

/*END*/
@media (max-width: 1024px) {
    .co h2 {
        font-size: 30px;
        letter-spacing: 1px;
    }
}

/*END*/
@media (max-width: 750px) {
    .co h2 {
        font-size: 4vw;
        letter-spacing: 1px;
    }
}

/*END*/
@media (max-width: 640px) {
    .co h2 {
        font-size: 5vw;
        letter-spacing: .1vw;
    }
}

/*END*/
@media (max-width: 500px) {
    .co h2 {
        font-size: 5.8vw;
        letter-spacing: .1vw;
    }
}

/*END*/
/*line-height
------------------------------*/
/*--- lh_1 ---*/
.lh_1 {
    line-height: 1.9;
}

@media (max-width: 1400px) {
    .lh_1 {
        line-height: 1.9;
    }
}

/*END*/
@media (max-width: 1024px) {
    .lh_1 {
        line-height: 1.9;
    }
}

/*END*/
@media (max-width: 640px) {
    .lh_1 {
        line-height: 1.8;
    }
}

/*END*/
/*txt size
------------------------------*/
/*--- txt ---*/
.txt {
    font-size: 17px;
}

@media (max-width: 1400px) {
    .txt {
        font-size: 16px;
    }
}

/*END*/
@media (max-width: 1200px) {
    .txt {
        font-size: 1.3vw;
    }
}

/*END*/
@media (max-width: 1024px) {
    .txt {
        font-size: 16px;
    }
}

/*END*/
@media (max-width: 640px) {
    .txt {
        font-size: 15px;
    }
}

/*END*/
@media (max-width: 420px) {
    .txt {
        font-size: 14px;
    }
}

/*END*/
@media (max-width: 400px) {
    .txt {
        font-size: 14px;
    }
}

/*END*/
@media (max-width: 360px) {
    .txt {
        font-size: 13px;
    }
}

/*END*/
/*--- txt_l ---*/
.txt_l {
    font-size: 16.5px;
    line-height: 2.3;
    letter-spacing: 1px;
    font-weight: 700;
}

@media (max-width: 1400px) {
    .txt_l {
        font-size: 16px;
    }
}

/*END*/
@media (max-width: 1200px) {
    .txt_l {
        font-size: 1.33vw;
    }
}

/*END*/
@media (max-width: 1024px) {
    .txt_l {
        font-size: 17px;
    }
}

/*END*/
@media (max-width: 640px) {
    .txt_l {
        font-size: 15px;
    }
}

/*END*/
@media (max-width: 420px) {
    .txt_l {
        font-size: 14px;
    }
}

/*END*/
@media (max-width: 400px) {
    .txt_l {
        font-size: 13.5px;
    }
}

/*END*/
@media (max-width: 360px) {
    .txt_l {
        font-size: 12.5px;
    }
}

/*END*/
/*span*/
.txt span,
.txt_s span {
    display: inline-block;
}

/*---txt_s---*/
.txt_s {
    margin-top: 28px;
    font-size: 14px !important;
    line-height: 1.6;
    letter-spacing: .6px;
}

@media (max-width: 1200px) {
    .txt_s {
        margin-top: 25px;
        font-size: 1.12vw !important;
        line-height: 1.6;
    }
}

/*END*/
@media (max-width: 950px) {
    .txt_s {
        margin-top: 24px;
        font-size: 13px !important;
        line-height: 1.6;
    }
}

/*END*/
@media (max-width: 640px) {
    .txt_s {
        margin-top: 23px;
        font-size: 12px !important;
        line-height: 1.6;
        letter-spacing: 0px;
    }
}

/*END*/

.italic {
    font-style: italic;
}

/*-------------------------------------------------
	read
--------------------------------------------------*/
#read {
    padding-bottom: 120px;
    color: #fff;
    background: linear-gradient(130deg, #3b3b3b 0%, #000000 80%);
}

#read .inner {
    padding: 90px 0 100px;
    width: 90%;
    max-width: 960px;
    margin: 0 auto;
    text-align: center;
}

#read .inner p span {
    display: inline-block;
}

@media (max-width: 1400px) {
    #read .inner {
        padding: 80px 0;
        width: 85%;
        max-width: 960px;
    }
}

/*END*/
@media (max-width: 1200px) {
    #read .inner {
        padding: 80px 0;
    }
}

/*END*/
@media (max-width: 1024px) {
    #read .inner {
        padding: 80px 0;
        width: 85%;
        max-width: 1000px;
        margin: 0 auto;
        text-align: center;
    }
}

/*END*/
@media (max-width: 1000px) {
    #read {
        padding-bottom: 100px;
    }

    #read .inner {
        padding: 80px 0;
        width: 85%;
        max-width: 1100px;
    }
}

/*END*/
@media (max-width: 900px) {
    #read .inner {
        padding: 80px 0;
        width: 85%;
        max-width: 1100px;
    }
}

/*END*/
@media (max-width: 850px) {
    #read .inner {
        padding: 70px 0;
        width: 85%;
        max-width: 1100px;
    }
}

/*END*/
@media (max-width: 720px) {
    #read .inner p span {
        display: inline;
    }

    #read .inner {
        width: 85%;
    }
}

/*END*/
@media (max-width: 620px) {
    /*#read .inner p{ text-align: left; }*/
    #read .inner {
        padding: 60px 0;
        width: 85%;
        max-width: 620px;
    }

    /*#read .inner p span{ display:inline !important; }*/
}

/*END*/
@media (max-width: 640px) {
    #read {
        padding-bottom: 80px;
    }
}

/*END*/

/*--- br ---*/
.read_br1 {
    display: block;
}

.read_br2 {
    display: block;
}

.read_br3 {
    display: none;
}

@media (max-width: 1250px) {
    .read_br1 {
        display: block;
    }

    .read_br2 {
        display: block;
    }

    .read_br3 {
        display: block;
    }
}

/*END*/
@media (max-width: 880px) {
    .read_br1 {
        display: none;
    }

    .read_br2 {
        display: none;
    }

    .read_br3 {
        display: none;
    }
}

/*END*/
@media (max-width: 100px) {
    .read_br1 {
        display: none;
    }

    .read_br2 {
        display: none;
    }

    .read_br3 {
        display: none;
    }
}

/*END*/

/*-------------------------------------------------
	archive
--------------------------------------------------*/
#archive {
    margin: 0 auto;
    width: 80%;
    max-width: 1000px;
    position: relative;
}

#archive .title_box {
    position: absolute;
    height: 100%;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
}

#archive .title_box.box1 {
    left: 0;
    top: 0;
    width: 36.5%;
}

#archive .title_box.box2 {
    right: 0;
    top: 0;
    width: 37.5%;
}

#archive .title_box h2,
#archive .title_box h3 {
    opacity: .4;
}

/*h2*/
#archive .title_box.box1 h2 {
    margin-top: 1.5%;
    font-size: 46px;
    line-height: 1;
    font-family: Helvetica, Arial, sans-serif;
    font-weight: bold;
    display: flex;
}

#archive .title_box.box1 h2 span {
    margin-left: 11px;
    font-size: 21px;
    line-height: 1.2;
}

#archive .title_box.box1 h2 span small {
    font-size: 14px;
    line-height: .8;
    display: block;
}

/*h3*/
#archive .title_box.box2 h3 {
    margin-top: .5%;
    font-size: 14px;
    line-height: 1.6;
    font-weight: bold;
}

@media (max-width: 1100px) {
    /*h2*/
    #archive .title_box.box1 h2 {
        margin-top: 1.5%;
        font-size: 4.3vw;
    }

    #archive .title_box.box1 h2 span {
        margin-left: 1vw;
        font-size: 1.95vw;
        line-height: 1.2;
    }

    #archive .title_box.box1 h2 span small {
        font-size: 1.3vw;
    }

    /*h3*/
    #archive .title_box.box2 h3 {
        font-size: 1.3vw;
    }
}

/*END*/
@media (max-width: 900px) {
    /*h2*/
    #archive .title_box.box1 h2 {
        margin-top: 1.5%;
        font-size: 4.8vw;
    }

    #archive .title_box.box1 h2 span {
        margin-left: 1vw;
        font-size: 2.2vw;
        line-height: 1.2;
    }

    #archive .title_box.box1 h2 span small {
        font-size: 1.47vw;
    }

    /*h3*/
    #archive .title_box.box2 h3 {
        font-size: 1.45vw;
    }
}

/*END*/
@media (max-width: 750px) {
    /*リセット*/
    #archive .title_box {
        position: relative;
        height: 100%;
        display: block;
    }

    #archive .title_box.box1,
    #archive .title_box.box2 {
        width: initial;
    }

    /*title_box_wrap*/
    #archive .title_box_wrap {
        position: absolute;
        right: 0;
        top: 0;
        width: 36.5%;
        height: 100%;
        z-index: 3;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    #archive .title_box_wrap div {
        width: 100%;
        display: block;
    }

    /*h2*/
    #archive .title_box.box1 h2 {
        margin-top: 0%;
        font-size: 5.7vw;
        line-height: 1;
        display: block;
    }

    #archive .title_box.box1 h2 span {
        margin-top: 0%;
        margin-left: 0px;
        font-size: 2.8vw;
        line-height: 1.2;
        display: block;
    }

    #archive .title_box.box1 h2 span small {
        font-size: 1.9vw;
        line-height: 1;
    }

    /*h3*/
    #archive .title_box.box2 h3 {
        margin-top: 5.5%;
        font-size: 1.7vw;
        line-height: 1.6;
        font-weight: bold;
    }
}

/*END*/
@media (max-width: 640px) {
    /*title_box_wrap*/
    #archive .title_box_wrap {
        position: absolute;
        right: 0;
        top: 0;
        width: 36.5%;
        height: 100%;
        z-index: 3;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    /*h2*/
    #archive .title_box.box1 h2 {
        margin-top: 0%;
        font-size: 6.4vw;
        line-height: 1;
    }

    #archive .title_box.box1 h2 span {
        margin-top: 0%;
        margin-left: 0px;
        font-size: 3.2vw;
        line-height: 1.2;
    }

    #archive .title_box.box1 h2 span small {
        font-size: 2.2vw;
        line-height: 1;
    }

    /*h3*/
    #archive .title_box.box2 h3 {
        margin-top: 5.5%;
        font-size: 1.9vw;
        line-height: 1.6;
    }
}

/*END*/
@media (max-width: 500px) {
    #archive {
        width: 85%;
    }

    /*title_box_wrap*/
    #archive .title_box_wrap {
        position: absolute;
        right: 0;
        top: 0;
        width: 37.5%;
        height: 100%;
        z-index: 3;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    /*h2*/
    #archive .title_box.box1 h2 {
        margin-top: 0%;
        font-size: 7vw;
        line-height: 1;
    }

    #archive .title_box.box1 h2 span {
        margin-top: 0%;
        margin-left: 0px;
        font-size: 3.6vw;
        line-height: 1.2;
    }

    #archive .title_box.box1 h2 span small {
        font-size: 2.4vw;
        line-height: 1;
    }

    /*h3*/
    #archive .title_box.box2 h3 {
        margin-top: 5.5%;
        font-size: 2.1vw;
        line-height: 1.6;
    }
}

/*END*/
@media (max-width: 400px) {
    #archive {
        width: 90%;
    }

    /*title_box_wrap*/
    #archive .title_box_wrap {
        position: absolute;
        right: 0;
        top: 0;
        width: 39%;
        height: 100%;
        z-index: 3;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    /*h2*/
    #archive .title_box.box1 h2 {
        margin-top: 0%;
        font-size: 7.5vw;
        line-height: 1;
    }

    #archive .title_box.box1 h2 span {
        margin-top: 0%;
        margin-left: 0px;
        font-size: 3.8vw;
        line-height: 1.2;
    }

    #archive .title_box.box1 h2 span small {
        font-size: 2.7vw;
        line-height: 1;
    }

    /*h3*/
    #archive .title_box.box2 h3 {
        margin-top: 5.5%;
        font-size: 2.3vw;
        line-height: 1.6;
    }
}

/*END*/

/*[ on / off ]*/
#archive .x15 {
    display: block;
}

#archive .x1 {
    display: none;
}

#archive .sp {
    display: none;
}

@media (max-width: 1400px) {
    #archive .x15 {
        display: none;
    }

    #archive .x1 {
        display: block;
    }

    #archive .sp {
        display: none;
    }
}

/*END*/
@media (max-width: 750px) {
    #archive .x15 {
        display: none;
    }

    #archive .x1 {
        display: none;
    }

    #archive .sp {
        display: block;
    }
}

/*END*/

/*-------------------------------------------------
	movie
--------------------------------------------------*/
.movie {
    position: relative;
    text-align: center;
    overflow: hidden;
    z-index: 4;
}

.movie a {
    width: 100%;
    position: relative;
    display: block;
}

video {
    width: 100%;
}

.movie_pc {
    display: block;
}

.movie_sp {
    display: none;
}

@media (orientation: portrait) {
    .movie_pc {
        display: none;
    }

    .movie_sp {
        display: block;
    }
}

/*END*/

/* play movie*/
.movie a span.play {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 70px;
    height: 70px;
    margin: -35px 0 0 -35px;
    display: inline-block;
    background: rgba(255, 255, 255, .7);
    border-radius: 50%;
    box-sizing: border-box;
    z-index: 3;
    transition: 0.3s;
}

.movie a span.play::after {
    border-width: 10px 0 10px 16px;
    margin: -10px 0 0 -5px;
    border-color: transparent transparent transparent #000;
    left: 50%;
    top: 50%;
    position: absolute;
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
}

.movie a:hover span.play {
    background: rgba(255, 255, 255, 0.5);
}

@media (max-width: 1400px) {
    .movie a span.play {
        display: inline-block;
        width: 60px;
        height: 60px;
        margin: -30px 0 0 -30px;
    }

    .movie a span.play::after {
        border-width: 8px 0 8px 13px;
        margin: -8px 0 0 -5px;
    }
}

/*END*/
@media (max-width: 750px) {
    .movie a span.play {
        display: inline-block;
        width: 50px;
        height: 50px;
        margin: -25px 0 0 -25px;
    }

    .movie a span.play::after {
        border-width: 7px 0 7px 11px;
        margin: -7px 0 0 -4px;
    }
}

/*END*/

/*-------------------------------------------------
	txt [base]
--------------------------------------------------*/
#read .inner p span {
    display: inline-block;
}

.txt_l {
    font-size: 16px;
    font-weight: 400;
}

.txt {
    font-size: 16px;
}

.lh_1 {
    line-height: 1.9;
}

.lh_read {
    line-height: 2;
}

.txt span {
    display: inline-block;
}

@media (max-width: 1400px) {
    .txt_read {
        font-size: 18px;
        line-height: 2.3;
    }

    .txt {
        font-size: 16px;
    }
}

/*END*/
@media (max-width: 1200px) {
    .txt_read {
        font-size: 17px;
        line-height: 2.1;
    }
}

/*END*/
@media (max-width: 1100px) {
    .txt_l {
        font-size: 15px;
    }
}

/*END*/
@media (max-width: 1024px) {
    .txt_l {
        font-size: 16px;
    }
}

/*END*/
@media (max-width: 640px) {
    .txt_l {
        font-size: 15px;
    }

    .txt {
        font-size: 15px;
    }

    .lh_1 {
        line-height: 1.8;
    }

    .lh_read {
        line-height: 2;
    }
}

/*END*/
@media (max-width: 500px) {
}

/*END*/
@media (max-width: 450px) {
    .txt_l {
        font-size: 14px;
    }

    .txt {
        font-size: 14px;
    }

    .lh_read {
        line-height: 1.9;
    }
}

/*END*/
@media (max-width: 450px) {
    .txt_l {
        font-size: 13px;
    }

    .txt {
        font-size: 13px;
    }

    .lh_read {
        line-height: 1.9;
    }
}

/*END*/

/*======= txt =======*/
.design h3 {
    margin-top: 0px;
    font-size: 31px;
    line-height: 1.3;
    letter-spacing: 0px;
    font-weight: 700;
}

.design h4 {
    margin-top: 42px;
    font-size: 21px;
    line-height: 1.3;
    letter-spacing: 0px;
    font-weight: 700;
}

.design .txt {
    margin-top: 30px;
}

.design h3 span {
    display: inline-block;
}

@media (max-width: 1400px) {
    .design h3 {
        margin-bottom: 0px;
        font-size: 31px;
    }

    .design h4 {
        margin-top: 41px;
        font-size: 20px;
    }
}

/*END*/
@media (max-width: 1200px) {
    .design h3 {
        margin-bottom: 0px;
        font-size: 30px;
    }

    .design h4 {
        margin-top: 41px;
        font-size: 20px;
    }
}

/*END*/
@media (max-width: 1024px) {
    .design h3 {
        margin-bottom: 0px;
        font-size: 28px;
    }

    .design h4 {
        margin-top: 42px;
        font-size: 20px;
    }
}

/*END*/
@media (max-width: 640px) {
    .design h3 {
        margin-top: 0px;
        font-size: 23px;
    }

    .design h4 {
        margin-top: 40px;
        font-size: 17px;
    }

    .design .txt {
        margin-top: 20px;
    }
}

/*END*/
@media (max-width: 450px) {
    .design h3 {
        margin-top: 0px;
        font-size: 21px;
    }

    .design h4 {
        margin-top: 38px;
        font-size: 16px;
    }
}

/*END*/
@media (max-width: 400px) {
    .design h3 {
        margin-top: 0px;
        font-size: 20px;
    }

    .design h4 {
        margin-top: 38px;
        font-size: 16px;
    }
}

/*END*/

/*-------------------------------------------------
	co   - DESIGN - title
--------------------------------------------------*/
.co_h2 {
    margin: 0 auto;
    display: inline-block;
    padding: 120px 0;
    font-size: 20px;
    line-height: 1.2;
    letter-spacing: 12px;
    font-weight: bold;
    text-align: center;
    font-family: Helvetica, Arial, sans-serif;
}

.co_h2 span {
    display: block;
    width: 33%;
    max-width: 70px;
    height: 2px;
    margin: 25px auto 0;
}

@media (max-width: 1400px) {
    .co_h2 {
        padding: 100px 0;
        font-size: 17px;
        letter-spacing: 11px;
    }

    .co_h2 span {
        margin: 20px auto 0;
    }
}

/*END*/
@media (max-width: 1024px) {
    .co_h2 {
        padding: 100px 0;
        font-size: 18px;
        letter-spacing: 11px;
    }

    .co_h2 span {
        margin: 18px auto 0;
    }
}

/*END*/
@media (max-width: 750px) {
    .co_h2 {
        padding: 90px 0;
        font-size: 18px;
        letter-spacing: 11px;
    }
}

/*END*/
@media (max-width: 640px) {
    .co_h2 {
        padding: 70px 0;
        font-size: 17px;
        letter-spacing: 8px;
    }

    #color .co_h2 {
        padding: 70px 0 60px;
        font-size: 17px;
        letter-spacing: 7px;
    }

    .co_h2 span {
        margin: 15px auto 0;
    }
}

/*END*/
@media (max-width: 500px) {
    .co_h2 {
        padding: 60px 0;
        font-size: 15px;
        letter-spacing: 8px;
    }

    #color .co_h2 {
        padding: 60px 0 50px;
        font-size: 15px;
        letter-spacing: 6px;
    }

    .co_h2 span {
        margin: 15px auto 0;
    }
}

/*END*/

/*=== #regular ===*/
#regular .co_h2 span {
    background: #404040;
}

/*=== #JAMSTEC ===*/
#jamstec .co_h2 span {
    background: #3078a0;
}

/*-------------------------------------------------
	design
--------------------------------------------------*/
#design {
    text-align: center;
    position: relative;
    overflow: hidden;
}

/*=== #regular ===*/
#regular #design {
    background: #000;
    color: #fff;
}

/*=== #JAMSTEC ===*/
#jamstec #design {
    background: #fff;
    color: #000;
}

/*design common*/
.design img {
    width: 100%;
}

.design .design_head {
    width: 100%;
    position: relative;
    top: 0px;
    z-index: 2;
    text-align: center;
}

/*======= design_01 =======*/
.design_01 {
    position: relative;
    z-index: 2;
}

.design_01 .txt_box {
    padding: 5.4vw 0 130px;
    margin: 0 auto;
    width: 80%;
    max-width: 700px;
    text-align: center;
    position: relative;
    z-index: 2;
}

.design_01 .img_box {
    margin: 0 auto 0;
    width: 100%;
}

@media (max-width: 1024px) {
    .design_01 .txt_box {
        padding: 5.4vw 0 110px;
    }
}

/*END*/
@media (max-width: 750px) {
    .design_01 .txt_box {
        padding: 60px 0 90px;
    }
}

/*END*/
@media (max-width: 640px) {
    .design_01 .txt_box p {
        text-align: left;
    }
}

/*END*/
@media (max-width: 580px) {
    .design_01 .txt_box {
        padding: 50px 0 70px;
    }
}

/*END*/

/*[ on / off ]*/
.design_01 .x15 {
    display: block;
}

.design_01 .x1 {
    display: none;
}

.design_01 .sp {
    display: none;
}

@media (max-width: 1400px) {
    .design_01 .x15 {
        display: none;
    }

    .design_01 .x1 {
        display: block;
    }

    .design_01 .sp {
        display: none;
    }
}

/*END*/
@media (max-width: 750px) {
    .design_01 .x15 {
        display: none;
    }

    .design_01 .x1 {
        display: none !important;
    }

    .design_01 .sp {
        display: block;
    }
}

/*END*/

/*======= design_02 =======*/
.design_02 {
    padding: 9vw 0 10vw;
    position: relative;
    color: #fff;
    overflow: hidden;
}

.design_02_bg {
    position: absolute;
    left: 10%;
    top: -150px;
    width: 1900px;
    height: 1900px;
    margin: -950px 0 0 -950px;
    background-image: radial-gradient(circle closest-side, rgba(106, 109, 114, .6) 0%, rgba(106, 109, 114, 0) 100%);
    opacity: 1;
    z-index: 1;
}

.design_02 .img_box {
    margin: 0 auto;
    width: 96.5%;
}

.design_02 .txt_box {
    margin: -10vw auto 0;
    width: 75%;
    display: flex;
    flex-direction: row-reverse;
    position: relative;
    z-index: 2;
}

.design_02 .txt_box .txt_box_inner {
    width: 80%;
    max-width: 460px;
    text-align: left;
}

@media (max-width: 1600px) {
    .design_02 {
        padding: 9vw 0 10vw;
    }

    .design_02_bg {
        position: absolute;
        left: 10%;
        top: -12%;
        width: 120vw;
        height: 120vw;
        margin: -60vw 0 0 -60vw;
    }

    .design_02 .txt_box {
        margin: -10vw auto 0;
        width: 80%;
    }
}

/*END*/
@media (max-width: 1300px) {
    .design_02 {
        padding: 9vw 0 10vw;
    }

    .design_02 .txt_box {
        margin: -8vw auto 0;
        width: 80%;
    }

    .design_02 .txt_box .txt_box_inner {
        width: 80%;
        max-width: 460px;
    }
}

/*END*/
@media (max-width: 1150px) {
    .design_02 {
        padding: 12vw 0;
    }

    .design_02 .img_box {
        margin: 0 0 0 -5%;
        width: 110%;
    }

    .design_02 .txt_box h3 {
        text-align: center;
    }

    .design_02 .txt_box {
        margin: 0vw auto 0;
        width: 100%;
        display: block;
    }

    .design_02 .txt_box .txt_box_inner {
        margin: 0 auto;
        width: 80%;
        max-width: 620px;
        text-align: left;
    }
}

/*END*/
@media (max-width: 750px) {
    .design_02 {
        padding: 0 0 18vw;
    }

    .design_02_bg {
        display: none;
    }

    .design_02 .img_box {
        margin: 0;
        width: 100%;
    }

    .design_02 .txt_box {
        margin: -3vw auto 0;
        width: 100%;
    }
}

/*END*/
@media (max-width: 640px) {
    .design_02 {
        padding: 0 0 20vw;
    }

    .design_02 .txt_box {
        margin: -3vw auto 0;
        width: 100%;
    }
}

/*END*/
@media (max-width: 500px) {
    .design_02 .txt_box {
        margin: -2vw auto 0;
        width: 100%;
    }

    .design_02 .txt_box .txt_box_inner {
        margin: 0 auto;
        width: 80%;
        max-width: 600px;
        text-align: left;
    }
}

/*END*/
@media (max-width: 400px) {
    .design_02 .txt_box {
        margin: -2vw auto 0;
        width: 100%;
    }

    .design_02 .txt_box .txt_box_inner {
        margin: 0 auto;
        width: 80%;
        max-width: 600px;
        text-align: left;
    }
}

/*END*/

/*[ on / off ]*/
.design_02 .x15 {
    display: block;
}

.design_02 .x1 {
    display: none;
}

.design_02 .sp {
    display: none;
}

@media (max-width: 1400px) {
    .design_02 .x15 {
        display: none;
    }

    .design_02 .x1 {
        display: block;
    }

    .design_02 .sp {
        display: none;
    }
}

/*END*/
@media (max-width: 750px) {
    .design_02 .x15 {
        display: none;
    }

    .design_02 .x1 {
        display: none !important;
    }

    .design_02 .sp {
        display: block;
    }
}

/*END*/

/*======= design_03 中留=======*/
.design_03 {
    display: block;
    position: relative;
    background: url(../images/d03_bg.jpg);
    background-size: cover;
    overflow: hidden;
}

.design_03 .img_box {
    margin-left: 52%;
    width: 33.7%;
    line-height: 0;
}

.design_03 .txt_box {
    width: 68%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
}

.design_03 .txt_box .txt_box_inner {
    width: 80%;
    max-width: 550px;
    text-align: left;
}

.design_03 .txt_box .txt_box_inner p {
    max-width: 420px;
}

@media (max-width: 1500px) {
    .design_03 .img_box {
        margin-left: 52%;
        width: 33.7%;
        line-height: 0;
    }

    .design_03 .txt_box {
        width: 68%;
    }
}

/*END*/
@media (max-width: 1400px) {
    .design_03 .img_box {
        margin-left: 54%;
        width: 33.7%;
        line-height: 0;
    }

    .design_03 .txt_box {
        width: 70%;
    }
}

/*END*/
@media (max-width: 1200px) {
    .design_03 .img_box {
        margin-left: 54%;
        width: 38%;
        line-height: 0;
    }

    .design_03 .txt_box {
        width: 70%;
    }
}

/*END*/
@media (max-width: 1100px) {
    .design_03 .img_box {
        margin-left: 56%;
        width: 38%;
        line-height: 0;
    }

    .design_03 .txt_box {
        width: 74%;
    }
}

/*END*/
@media (max-width: 1024px) {
    .design_03 {
        padding: 0;
        margin: 0;
        display: block;
        position: relative;
        background: none;
    }

    .design_03 .img_box_wrap {
        width: 100%;
        position: relative;
        background: url(../images/d03_bg.jpg);
        background-size: cover;
        overflow: hidden;
    }

    .design_03 .img_box {
        margin-left: 28%;
        width: 45%;
        line-height: 0;
    }

    .design_03 .txt_box {
        padding: 80px 0;
        margin: 0 auto;
        width: 74%;
        max-width: 600px;
        height: initial;
        display: block;
        position: relative;
    }

    .design_03 .txt_box .txt_box_inner {
        width: 100%;
        max-width: initial;
    }

    .design_03 .txt_box .txt_box_inner h3 {
        text-align: center;
    }

    .design_03 .txt_box .txt_box_inner p {
        max-width: 100%;
    }
}

/*END*/
@media (max-width: 640px) {
    .design_03 .img_box_wrap {
        width: 100%;
        position: relative;
        background: url(../images/d03_1_sp.jpg);
        background-size: cover;
        overflow: hidden;
    }

    .design_03 .txt_box {
        padding: 60px 0;
        margin: 0 auto;
        width: 80%;
    }

    .design_03 .img_box {
        margin: 0 auto;
        width: 60%;
        line-height: 0;
    }
}

/*END*/
/*[ on / off ]*/
.design_03 .x15 {
    display: block;
}

.design_03 .x1 {
    display: none;
}

@media (max-width: 1400px) {
    .design_03 .x15 {
        display: none;
    }

    .design_03 .x1 {
        display: block;
    }
}

/*END*/

/*======= movement [ムーブメント] =======*/
#movement {
    position: relative;
    overflow: hidden;
}

#movement .movement_bg {
    position: absolute;
    left: 50%;
    top: -400px;
    width: 1900px;
    height: 1900px;
    margin: -950px 0 0 -950px;
    background-image: radial-gradient(circle closest-side, rgba(106, 109, 114, .6) 0%, rgba(106, 109, 114, 0) 100%);
    opacity: 1;
    z-index: 1;
    pointer-events: none;
    user-select: none;
}

#movement .txt_box {
    padding: 110px 0 90px;
    width: 80%;
    max-width: 820px;
    margin: 0 auto;
}

#movement .txt_box p {
    text-align: center;
}

@media (max-width: 1000px) {
    #movement .txt_box {
        padding: 90px 0 80px;
        width: 85%;
        margin: 0 auto;
    }
}

/*END*/

@media (max-width: 750px) {
    #movement .txt_box {
        padding: 80px 0 70px;
        width: 85%;
        margin: 0 auto;
    }
}

/*END*/
@media (max-width: 640px) {
    #movement .txt_box p {
        text-align: left;
    }

    #movement .txt_box p span {
        display: inline;
    }
}

/*END*/
@media (max-width: 500px) {
    #movement .txt_box {
        padding: 70px 0 60px;
        width: 85%;
        margin: 0 auto;
    }
}

/*END*/
@media (max-width: 450px) {
    #movement .txt_box {
        padding: 60px 0 50px;
        width: 85%;
        margin: 0 auto;
    }

    #movement .txt_box p {
        width: 95%;
        margin-left: 5%;
    }
}

/*END*/

/*img_box*/
#movement .img_box {
    margin: 0px auto 0;
    width: 65%;
}

@media (max-width: 1200px) {
    #movement .img_box {
        margin: 0px auto 0;
        width: 75%;
    }
}

/*END*/
@media (max-width: 640px) {
    #movement .img_box {
        margin: 0px auto 0;
        width: 85%;
    }
}

/*END*/
#movement h3 {
    margin: 0 auto;
    width: 95%;
    text-align: center;
}

#movement h3 span {
    display: inline-block;
}

@media (max-width: 350px) {
    #movement h3 {
        font-size: 5.7vw !important;
    }
}

/*END*/

/*[ on / off ]*/
.movement_br1 {
    display: block;
}

@media (max-width: 930px) {
    .movement_br1 {
        display: none;
    }
}

/*END*/

/*[ on / off ]*/
#movement .x15 {
    display: block;
}

#movement .x1 {
    display: none;
}

#movement .sp {
    display: none;
}

@media (max-width: 1400px) {
    #movement .x15 {
        display: none;
    }

    #movement .x1 {
        display: block;
    }

    #movement .sp {
        display: none;
    }
}

/*END*/
@media (max-width: 750px) {
    #movement .x15 {
        display: none;
    }

    #movement .x1 {
        display: none;
    }

    #movement .sp {
        display: block;
    }
}

/*END*/

/*===================================================
	JAMSTEC
===================================================*/
#jamstec {
    background: #fff;
    color: #000;
}

/*-------------------------------------------------
	jam_read
--------------------------------------------------*/
#jam_read {
    margin-top: -1px;
    padding-bottom: 35vw;
    color: #fff;
    position: relative;
    background: #345dad;
    overflow: hidden;
}

.jam_read_grd {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 3;
    width: 100%;
    height: 400px;
    background: linear-gradient(to bottom, rgba(27, 46, 123, 1) 20%, rgba(49, 90, 170, 0) 100%);
}

.jam_read_bg {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    background: url(../images/jam_lead.jpg) center bottom no-repeat #345dae;
    background-size: 100%;
}

#jam_read .inner {
    padding: 90px 0 100px;
    width: 85%;
    max-width: 950px;
    margin: 0 auto;
    text-align: center;
    position: relative;
    z-index: 4;
}

#jam_read .inner p span {
    display: inline-block;
}

.shadow {
    text-shadow: 0px 0px 5px rgba(40, 73, 155, 1);
}

@media (max-width: 1600px) {
    #jam_read {
        padding-bottom: 35vw;
    }

    .jam_read_bg {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background: url(../images/jam_lead.jpg) center bottom no-repeat #345dae;
        background-size: contain;
    }
}

/*END*/
@media (max-width: 1000px) {
    #jam_read {
        padding-bottom: 30vw;
    }
}

/*END*/
@media (max-width: 800px) {
    #jam_read .inner {
        padding: 10vw 0 100px;
    }
}

/*END*/
@media (max-width: 640px) {
    #jam_read {
        padding-bottom: 35vw;
    }

    .jam_read_bg {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background: url(../images/jam_lead_sp.jpg) center bottom no-repeat #345dae;
        background-size: contain;
    }

    #jam_read .inner {
        padding: 14vw 0 100px;
    }
}

/*END*/
@media (max-width: 450px) {
    #jam_read {
        padding-bottom: 25vw;
    }

    #jam_read .inner {
        padding: 14vw 0 100px;
        width: 90%;
        max-width: 1100px;
    }
}

/*END*/

/*--- br ---*/
.jam_read_br1 {
    display: none;
}

.jam_read_br2 {
    display: block;
}

@media (max-width: 1050px) {
    .jam_read_br1 {
        display: block;
    }

    .jam_read_br2 {
        display: block;
    }
}

/*END*/
@media (max-width: 780px) {
    .jam_read_br1 {
        display: none;
    }

    .jam_read_br2 {
        display: none;
    }
}

/*END*/

/*-------------------------------------------------
	jam_about
--------------------------------------------------*/
#jam_about {
    padding: 100px 0;
    background: #fff;
}

#jam_about .inner {
    margin: 0 auto;
    width: 85%;
    max-width: 1000px;
}

#jam_about .inner .jam_about_logo {
    width: 80%;
    max-width: 666px;
    margin: 0 auto;
}

#jam_about .inner p {
    margin-top: 55px;
    text-align: center;
}

#jam_about .inner p span {
    display: inline-block;
}

@media (max-width: 1024px) {
    #jam_about .inner .jam_about_logo {
        width: 80%;
        max-width: 666px;
        margin: 0 auto;
    }
}

/*END*/
@media (max-width: 640px) {
    #jam_about {
        padding: 80px 0;
    }

    #jam_about .inner .jam_about_logo {
        width: 100%;
        max-width: 666px;
        margin: 0 auto;
    }

    #jam_about .inner p {
        margin-top: 45px;
        text-align: center;
    }
}

/*END*/
@media (max-width: 450px) {
    #jam_about {
        padding: 60px 0;
    }

    #jam_about .inner .jam_about_logo {
        width: 100%;
        max-width: 666px;
        margin: 0 auto;
    }

    #jam_about .inner p {
        margin-top: 30px;
        text-align: center;
    }
}

/*END*/

/*[ on / off ]*/
#jam_about .x15 {
    display: block;
}

#jam_about .x1 {
    display: none;
}

@media (max-width: 750px) {
    #jam_about .x15 {
        display: none;
    }

    #jam_about .x1 {
        display: block;
    }
}

/*END*/

/*--- br ---*/
.jam_about_br1 {
    display: block;
}

.jam_about_br2 {
    display: block;
}

@media (max-width: 1024px) {
    .jam_about_br1 {
        display: none;
    }

    .jam_about_br2 {
        display: none;
    }
}

/*END*/
@media (max-width: 780px) {
    .jam_about_br1 {
        display: none;
    }

    .jam_about_br2 {
        display: none;
    }
}

/*END*/

/*======= jam_design_01 =======*/
.jam_design_01 {
    position: relative;
    z-index: 2;
}

.jam_design_01 .txt_box {
    padding: 90px 0;
    margin: 0 auto;
    width: 85%;
    max-width: 880px;
    text-align: center;
    position: relative;
    z-index: 2;
}

@media (max-width: 750px) {
}

/*END*/
@media (max-width: 640px) {
    .jam_design_01 .txt_box {
        padding: 60px 0;
        margin: 0 auto;
        width: 85%;
        text-align: left;
    }

    .jam_design_01 .txt_box h3 {
        text-align: center;
    }
}

/*END*/
@media (max-width: 500px) {
    .jam_design_01 .txt_box {
        padding: 60px 0;
        margin: 0 auto;
        width: 85%;
    }
}

/*END*/
/*--- br ---*/
.jam_design_01_br1 {
    display: block;
}

.jam_design_01_br2 {
    display: block;
}

@media (max-width: 1024px) {
    .jam_design_01_br1 {
        display: none;
    }

    .jam_design_01_br2 {
        display: none;
    }
}

/*END*/
@media (max-width: 780px) {
    .jam_design_01_br1 {
        display: none;
    }

    .jam_design_01_br2 {
        display: none;
    }
}

/*END*/

/*[ on / off ]*/
.jam_design_01 .x15 {
    display: block;
}

.jam_design_01 .x1 {
    display: none;
}

.jam_design_01 .sp {
    display: none;
}

@media (max-width: 1400px) {
    .jam_design_01 .x15 {
        display: none;
    }

    .jam_design_01 .x1 {
        display: block;
    }

    .jam_design_01 .sp {
        display: none;
    }
}

/*END*/
@media (max-width: 750px) {
    .jam_design_01 .x15 {
        display: none;
    }

    .jam_design_01 .x1 {
        display: none
    }

    .jam_design_01 .sp {
        display: block;
    }
}

/*END*/

/*======= jam_design_02 =======*/
.jam_design_02 {
    position: relative;
}

.jam_design_02 .img_box_wrap {
    width: 100%;
    background: url(../images/jam_d02_bg.jpg) center center;
    background-size: cover;
    position: relative;
    overflow: hidden;
}

.jam_design_02 .img_box {
    margin-left: 42%;
    width: 51%;
}

.jam_design_02 .txt_box {
    width: 44%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    left: 0;
    top: 0;
}

.jam_design_02 .txt_box_inner {
    width: 370px;
    text-align: left;
}

@media (max-width: 1400px) {
    .jam_design_02 .img_box {
        margin-left: 46%;
        width: 48%;
    }

    .jam_design_02 .txt_box {
        width: 48%;
        height: 100%;
    }
}

/*END*/
@media (max-width: 1200px) {
    .jam_design_02 {
        background: none;
    }

    .jam_design_02 .img_box {
        margin-left: 20%;
        width: 60%;
    }

    .jam_design_02 .txt_box {
        padding: 80px 0;
        margin: 0 auto;
        width: 80%;
        max-width: 675px;
        height: 100%;
        position: relative;
    }

    .jam_design_02 .txt_box h3 {
        text-align: center;
    }

    .jam_design_02 .txt_box_inner {
        width: 100%;
        text-align: left;
    }
}

/*END*/
@media (max-width: 750px) {
    .jam_design_02 .img_box_wrap {
        background: none;
    }

    .jam_design_02 .img_box {
        margin-left: 0%;
        width: 100%;
    }
}

/*END*/
@media (max-width: 640px) {
    .jam_design_02 .txt_box {
        padding: 60px 0;
        margin: 0 auto;
        width: 85%;
        max-width: 675px;
        height: 100%;
        position: relative;
    }
}

/*END*/

/*[ on / off ]*/
.jam_design_02 .x15 {
    display: block;
}

.jam_design_02 .x1 {
    display: none;
}

.jam_design_02 .sp {
    display: none;
}

@media (max-width: 1400px) {
    .jam_design_02 .x15 {
        display: none;
    }

    .jam_design_02 .x1 {
        display: block;
    }

    .jam_design_02 .sp {
        display: none;
    }
}

/*END*/
@media (max-width: 750px) {
    .jam_design_02 .x15 {
        display: none;
    }

    .jam_design_02 .x1 {
        display: none
    }

    .jam_design_02 .sp {
        display: block;
    }
}

/*END*/

/*======= jam_design_03 中留=======*/
.jam_design_03 {
    display: block;
    position: relative;
    background: url(../images/jam_d03_bg.jpg);
    background-size: cover;
    overflow: hidden;
}

.jam_design_03 .img_box {
    margin-left: 19%;
    width: 33.7%;
    line-height: 0;
}

.jam_design_03 .txt_box {
    width: 48%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 2;
}

.jam_design_03 .txt_box .txt_box_inner {
    width: 80%;
    max-width: 550px;
    text-align: left;
}

.jam_design_03 .txt_box .txt_box_inner p {
    max-width: 420px;
}

@media (max-width: 1500px) {
    .jam_design_03 .img_box {
        margin-left: 15%;
        width: 33.7%;
        line-height: 0;
    }

    .jam_design_03 .txt_box {
        width: 55%;
    }
}

/*END*/
@media (max-width: 1400px) {
    .jam_design_03 .img_box {
        margin-left: 13%;
        width: 33.7%;
        line-height: 0;
    }

    .jam_design_03 .txt_box {
        width: 53%;
    }
}

/*END*/
@media (max-width: 1200px) {
    .jam_design_03 .img_box {
        margin-left: 12%;
        width: 38%;
        line-height: 0;
    }

    .jam_design_03 .txt_box {
        width: 52%;
    }
}

/*END*/
@media (max-width: 1100px) {
    .jam_design_03 .img_box {
        margin-left: 10%;
        width: 38%;
        line-height: 0;
    }

    .jam_design_03 .txt_box {
        width: 55%;
    }
}

/*END*/
@media (max-width: 1024px) {
    .jam_design_03 {
        padding: 0;
        margin: 0;
        display: block;
        position: relative;
        background: none;
    }

    .jam_design_03 .img_box_wrap {
        width: 100%;
        position: relative;
        background: url(../images/jam_d03_sp.jpg);
        background-size: cover;
        overflow: hidden;
    }

    .jam_design_03 .img_box {
        margin-left: 28%;
        width: 45%;
        line-height: 0;
    }

    .jam_design_03 .txt_box {
        padding: 80px 0;
        margin: 0 auto;
        width: 74%;
        max-width: 600px;
        height: initial;
        display: block;
        position: relative;
    }

    .jam_design_03 .txt_box .txt_box_inner {
        width: 100%;
        max-width: initial;
    }

    .jam_design_03 .txt_box .txt_box_inner h3 {
        text-align: center;
    }

    .jam_design_03 .txt_box .txt_box_inner p {
        max-width: 100%;
    }
}

/*END*/
@media (max-width: 640px) {
    .jam_design_03 .txt_box {
        padding: 60px 0;
        margin: 0 auto;
        width: 85%;
    }

    .jam_design_03 .img_box {
        margin: 0 auto;
        width: 60%;
        line-height: 0;
    }
}

/*END*/

/*[ on / off ]*/
.jam_design_03 .x15 {
    display: block;
}

.jam_design_03 .x1 {
    display: none;
}

@media (max-width: 1400px) {
    .jam_design_03 .x15 {
        display: none;
    }

    .jam_design_03 .x1 {
        display: block;
    }
}

/*END*/


/*-------------------------------------------------
	spec
--------------------------------------------------*/
.spec {
    padding: 0 0 80px;
    margin: 0 auto;
}

@media (max-width: 370px) {
    .spec {
        padding: 0 0 30px !important;
    }
}

/*END*/

/*=== #regular ===*/
#regular {
    padding: 0 0 60px;
}

#regular .spec {
    width: 93.5%;
    background: #141414;
    color: #fff;
    position: relative;
    overflow: hidden;
}

/*=== #JAMSTEC ===*/
#jamstec .jamstec_spec {
    padding: 100px 0;
    position: relative;
    overflow: hidden;
}

#jamstec .jamstec_spec .spec {
    width: 93.5%;
    background: rgba(255, 255, 255, 0.85);
    color: #000;
    position: relative;
    overflow: hidden;
    z-index: 2;
}

@media (max-width: 640px) {
    #jamstec .jamstec_spec {
        padding: 16vw 0;
    }
}

/*END*/
@media (max-width: 400px) {
    #jamstec .jamstec_spec {
        padding: 70px 0 70px;
    }
}

/*END*/

/*jamstec_spec_bg*/
.jamstec_spec_bg {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    clip-path: inset(0);
    z-index: 1;
}

.jamstec_spec_bg img {
    object-fit: cover;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.jamstec_spec_bg .pc {
    display: block;
}

.jamstec_spec_bg .sp {
    display: none;
}

@media screen and (max-width: 750px) {
    .jamstec_spec_bg .pc {
        display: none;
    }

    .jamstec_spec_bg .sp {
        display: block;
    }
}

/*END*/


.spec .title_box {
    padding: 80px 0 60px;
}

@media screen and (max-width: 1050px) {
    .spec {
        padding: 0 0 80px;
    }

    .spec .title_box {
        padding: 8vw 0 7.5vw;
    }
}

/*END*/
@media screen and (max-width: 760px) {
    .spec .title_box {
        padding: 11vw 0 8.5vw;
    }
}

/*END*/
@media screen and (max-width: 640px) {
    .spec {
        padding: 0 0 70px;
    }

    .spec .title_box {
        padding: 12vw 0 9.5vw;
    }
}

/*END*/
@media screen and (max-width: 500px) {
    .spec .title_box {
        padding: 14vw 0 11.5vw;
    }

    .spec {
        padding: 0 0 60px;
    }
}

/*END*/

.spec .title_box h2 {
    font-size: 32px;
    line-height: 1.3;
    text-align: center;
    font-family: Helvetica, Arial, sans-serif;
    font-weight: 700;
}

@media screen and (max-width: 1200px) {
    .spec .title_box h2 {
        font-size: 2.8vw;
    }
}

/*END*/
@media screen and (max-width: 1024px) {
    .spec .title_box h2 {
        font-size: 30px;
    }
}

/*END*/
@media screen and (max-width: 770px) {
    .spec .title_box h2 {
        font-size: 30px;
    }
}

/*END*/
@media screen and (max-width: 670px) {
    .spec .title_box h2 {
        font-size: 3.9vw;
    }
}

/*END*/
@media screen and (max-width: 640px) {
    .spec .title_box h2 {
        font-size: 4.3vw;
    }
}

/*END*/
@media screen and (max-width: 450px) {
    .spec .title_box h2 {
        font-size: 4.8vw;
    }
}

/*END*/
@media screen and (max-width: 360px) {
    .spec .title_box h2 {
        font-size: 5vw;
    }
}

/*END*/

.spec_title_br {
    display: none;
}

@media screen and (max-width: 1024px) {
    .spec_title_br {
        display: block;
    }
}

/*END*/
.spec_title_br2 {
    display: none;
}

@media screen and (max-width: 640px) {
    .spec_title_br2 {
        display: block;
    }
}

/*END*/
/*spec_box1*/
.spec_box1 {
    width: 94%;
    margin: 0 auto;
}

.spec_box1 .inner {
    margin: 0 auto;
    width: 100%;
    max-width: 750px;
    display: flex;
    justify-content: center;
}

.spec_box1 .img_box {
    max-width: 257px;
}

.spec_box1 .txt_box {
    margin-left: 7%;
    margin-top: 0px;
    line-height: 1.5;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

@media screen and (max-width: 1000px) {
    .spec_box1 .txt_box {
        margin-left: 4%;
    }
}

/*END*/
@media screen and (max-width: 750px) {
    .spec_box1 .img_box {
        width: 38%;
    }

    .spec_box1 .txt_box {
        margin-left: 5%;
    }
}

/*END*/
@media screen and (max-width: 650px) {
    .spec_box1 .txt_box {
        margin-left: 6vw;
    }
}

/*END*/
@media screen and (max-width: 500px) {
    .spec_box1 .img_box {
        width: 40%;
    }
}

/*END*/
@media screen and (max-width: 450px) {
    .spec_box1 .txt_box {
        margin-left: 4vw;
    }
}

/*END*/
@media screen and (max-width: 370px) {
    .spec_box1 .inner {
        margin: 0 auto 30px;
        width: 100%;
        max-width: 650px;
        display: block;
    }

    .spec_box1 .txt_box {
        margin: 20px 0 0 0%;
        display: block;
    }

    .spec_box1 .img_box {
        width: 50%;
        margin: 0 auto;
    }
}

/*END*/
/* [ on off ]*/
.spec .x15 {
    display: block;
}

.spec .x1 {
    display: none;
}

@media (max-width: 640px) {
    .spec .x15 {
        display: none;
    }

    .spec .x1 {
        display: block;
    }
}

/*END*/
.number {
    margin-top: 0px;
    font-size: 25px;
    letter-spacing: 1px;
    font-family: Helvetica, Arial, sans-serif;
    font-weight: 500;
}

.caribre {
    margin-top: 5px;
    font-size: 15px;
}

.price {
    margin-top: 7px;
    font-size: 18px;
}

.price span {
    margin-top: 0px;
    font-size: 12px;
    margin-left: 3px;
}

.limited {
    margin-top: 7px;
    font-size: 15px;
    position: relative;
    padding-bottom: 4px;
    display: inline-block;
}

.limited::after {
    content: '';
    position: absolute;
    left: 0px;
    bottom: 0px;
    width: 100%;
    height: 2px;
    background: #000;
}

.limited_sub {
    margin-top: 3px;
    font-size: 12px;
}

.spec_txt {
    margin-top: 15px;
    font-size: 14px;
}

.spec_txts {
    margin-top: 18px;
    font-size: 13px;
}

@media screen and (max-width: 1000px) {
    .number {
        margin-top: 0px;
        font-size: 22px;
    }

}

/*END*/
@media screen and (max-width: 640px) {
    .number {
        margin-top: 0px;
        font-size: 22px;
    }

    .caribre {
        margin-top: 5px;
        font-size: 14px;
    }

    .price {
        margin-top: 7px;
        font-size: 16px;
    }

    .price span {
        margin-top: 0px;
        font-size: 11px;
        margin-left: 3px;
    }

    .limited {
        margin-top: 7px;
        font-size: 14px;
        position: relative;
        padding-bottom: 4px;
        display: inline-block;
    }

    .limited_sub {
        margin-top: 3px;
        font-size: 11px;
    }

    .spec_txt {
        margin-top: 15px;
        font-size: 13px;
    }

    .spec_txts {
        margin-top: 18px;
        font-size: 12px;
    }
}

/*END*/
@media screen and (max-width: 450px) {
    .number {
        margin-top: 0px;
        font-size: 20px;
    }

    .caribre {
        margin-top: 5px;
        font-size: 13px;
    }

    .price {
        margin-top: 7px;
        font-size: 16px;
    }

    .price span {
        margin-top: 0px;
        font-size: 11px;
        margin-left: 3px;
    }

    .limited {
        margin-top: 7px;
        font-size: 14px;
        position: relative;
        padding-bottom: 4px;
        display: inline-block;
    }

    .limited_sub {
        margin-top: 3px;
        font-size: 11px;
    }

    .spec_txt {
        margin-top: 15px;
        font-size: 12px;
    }

    .spec_txts {
        margin-top: 18px;
        font-size: 12px;
    }
}

/*END*/
.shop_sp {
    text-align: center;
    margin-top: -3vw;
    position: relative;
    z-index: 3;
}

@media (max-width: 370px) {
    .shop_sp {
        text-align: center;
        margin-top: 25px;
    }
}

/*END*/
/* [ on off ]*/
.shop_pc {
    display: block;
}

.shop_sp {
    display: none;
}

@media (max-width: 550px) {
    .shop_pc {
        display: none;
    }

    .shop_sp {
        display: block;
    }
}

/*END*/
/*spec_btn*/
.spec_btn {
    margin: 22px auto 0;
    display: block;
}

.spec_btn a {
    width: 190px;
    padding: 16px 0 18px;
    margin: 0 auto;
    font-size: 14px;
    line-height: 1;
    font-weight: 400;
    letter-spacing: 1px;
    color: #fff;
    background: #000;
    display: block;
    transition: 0.3s;
    text-decoration: none;
    border-radius: 4px;
}

.spec_btn a:hover {
    cursor: pointer;
    color: #fff;
    opacity: 0.8;
}

@media screen and (max-width: 640px) {
    .spec_btn {
        margin: 18px auto 0;
    }

    .spec_btn a {
        width: 170px;
        padding: 16px 0 18px;
        font-size: 13px;
        letter-spacing: 1px;
    }
}

/*END*/
@media screen and (max-width: 450px) {
    .spec_btn {
        margin: 15px auto 0;
    }

    .spec_btn a {
        width: 160px;
        font-size: 12px;
        padding: 16px 0 18px;
    }
}

/*END*/
@media screen and (max-width: 400px) {
    .spec_btn {
        margin: 15px auto 0;
    }

    .spec_btn a {
        width: 150px;
        font-size: 11.5px;
        padding: 16px 0 18px;
    }
}

/*END*/
/*spec_btn*/
.spec_btn2 {
    margin: 10px auto 0;
}

/*spec_bottom*/
.spec_bottom {
    margin: 60px auto 0;
    width: 100%;
    display: inline-block;
    text-align: center;
}

.spec_bottom p {
    margin: 0 auto;
    width: 95%;
}

.spec_bottom span {
    display: inline-block;
}

@media screen and (max-width: 370px) {
    .spec_bottom {
        margin: 20px auto 0;
    }

    .spec_btn a {
        width: 160px;
        font-size: 11.5px;
        padding: 16px 0 18px;
        letter-spacing: 1px;
    }
}

/*END*/

/*=== #regular btn ===*/
#regular .spec_btn a {
    color: #000;
    background: #fff;
}

#regular .spec_btn a:hover {
    opacity: 0.5;
}

/*=== #JAMSTEC btn===*/
#jamstec .spec_btn a {
    color: #fff;
    background: #002564;
}

#jamstec .spec_btn a:hover {
    opacity: 0.7;
}

/*spec_sub*/
.spec_sub {
    max-width: 80%;
    margin: 0 auto;
    padding: 80px 0 90px;
    text-align: center;
}

.spec_sub p {
    display: inline-block;
    padding: 20px 15px;
    max-width: 90%;
    margin: 0 auto;
    border-top: solid 1px #ccc;
    border-bottom: solid 1px #ccc;
}

.spec_sub p span {
    display: inline-block;
}

@media screen and (max-width: 1000px) {
    .spec_sub {
        padding: 60px 0 50px;
        text-align: center;
    }
}

/*END*/
@media screen and (max-width: 640px) {
    .spec_sub {
        max-width: 80%;
        margin: 0 auto;
        padding: 80px 0 40px;
        text-align: center;
    }
}

/*END*/
@media screen and (max-width: 370px) {
    .spec_sub {
        max-width: 80%;
        margin: 0 auto;
        padding: 30px 0 40px;
        text-align: center;
    }
}

/*END*/

/*-------------------------------------------------
	gotop
--------------------------------------------------*/
.gotop {
    position: absolute;
    bottom: 0px;
    right: 20px;
    width: 50px;
    height: 70px;
    box-sizing: border-box;
    border-radius: 0%;
    z-index: 2000 !important;
}

.gotop a {
    position: relative;
    display: block;
    background: rgba(33, 33, 33, 0.8);
    text-decoration: none;
    width: 50px;
    height: 50px;
    box-sizing: border-box;
    border-radius: 0%;
    z-index: 11;
    transition: 0.3s;
}

.gotop a::after {
    position: absolute;
    top: 50%;
    left: 50%;
    content: '';
    width: 16px;
    height: 16px;
    margin: -8px 0 0 -8px;
    background: url("../images/page_top.svg") no-repeat;
    background-size: cover;
}

.gotop a:hover {
    background: rgba(60, 60, 60, 0.5);
}

@media (max-width: 500px) {
    .gotop {
        position: absolute;
        bottom: 0px;
        right: 10px;
        width: 40px;
        height: 50px;
    }

    .gotop a {
        width: 40px;
        height: 40px;
    }

    .gotop a::after {
        width: 14px;
        height: 14px;
        margin: -7px 0 0 -7px;
    }
}

/*END*/
/*-------------------------------------------------
	footer
--------------------------------------------------*/
footer {
    background: #262626;
    width: 100%;
    height: auto;
    position: relative;
    z-index: 10;
}

footer::after {
    content: " ";
    display: block;
    clear: both;
}

.foot_l {
    float: left;
    margin: 59px 0 0 40px;
}

.foot_l .foot_logo {
    float: left;
    line-height: 1;
    margin-bottom: 53px;
}

.foot_l .foot_logo img {
    width: 131px;
    transition: 0.2s;
}

.foot_l .foot_logo a:hover img {
    opacity: 0.6;
}

.foot_l .copyright {
    float: left;
    margin: 13px 0 0 32px;
    font-size: 12px;
    line-height: 1;
    letter-spacing: 1px;
    color: #fff;
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 400;
}

@media (max-width: 750px) {
    .foot_l {
        float: none;
        margin: 39px 0 0 0px;
        text-align: center;
    }

    .foot_l .foot_logo {
        float: none;
        line-height: 1;
        margin-bottom: 23px;
    }

    .foot_l .copyright {
        float: none;
        margin: 13px 0 0 0px;
        padding-bottom: 30px;
        font-size: 12px;
        line-height: 1;
        color: #fff;
    }
}

/*END*/
*, :after, :before {
    box-sizing: border-box;
}

.foot_r {
    float: right;
    padding-top: 58px;
    margin: 0 35px 0 0;
}

.foot_r .sns {
    display: flex;
    list-style-type: none;
}

.foot_r .sns img {
    width: 100%;
}

.foot_r .sns li.tw img {
    padding: 2px;
}

.foot_r .sns li.ig img {
    padding: 5.5px;
}

.foot_r .sns > li {
    width: 40px;
    margin-right: 12px;
    padding: 5px;
    line-height: 1;
    border-radius: 50%;
    transition: 0.3s;
    background: #3c3c3c;
}

.foot_r .sns > li:nth-child(3) {
    margin-right: 0;
}

.foot_r .sns > li:hover {
    opacity: 0.5;
}

@media (max-width: 750px) {
    .foot_r {
        float: none;
        padding-top: 40px;
        margin: 0px;
    }

    .foot_r .sns {
        position: static;
        margin-bottom: 20px;
        justify-content: center;
    }

    .foot_r .sns > li {
        margin-right: 10px;
    }
}

/*END*/