/*全端末（PC・タブレット・スマホ）共通設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/

/*全体の設定
---------------------------------------------------------------------------*/
html,
body {
    height: 100%;
    margin: 0px !important;
    padding: 0px;
}

body {
    margin: 0px;
    padding: 0px;
    color: black;
    /*全体の文字色*/
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    /*文字サイズ*/
    line-height: 2;
    /*行間*/
    background: #fff;
    /*背景色*/
    -webkit-text-size-adjust: none;
}

h1,
h2,
h3,
h4,
h5,
p,
ul,
ol,
li,
dl,
dt,
dd,
form,
figure,
form {
    margin: 0px;
    padding: 0px;
    font-size: 100%;
    font-weight: normal;
}

ul {
    list-style-type: none;
}

ol {
    padding-left: 40px;
    padding-bottom: 15px;
}

img {
    border: none;
    max-width: 100%;
    height: auto;
    vertical-align: middle;
}

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

iframe {
    width: 100%;
}

@keyframes opa1 {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

#contents {
    width: 100%;
    height: auto;
    background-color: #dcf9ff;
    /* background-color: #fff; */
}

a {
    display: inline-block;
    text-decoration: none;
    color: inherit;
    width: auto;
    height: auto;
}

a:active,
a:hover {
    outline-width: 0;
    /* Remove the outline when hovering in all browsers */
}

/* ふわっと表示 */
.fade_in {
    /*追加*/
    opacity: 0;
    visibility: hidden;
    transition: all 1.5s;
    transform: translateY(150px);
}

.is_active_fade_in {
    /*要素を表示させる*/
    opacity: 1;
    visibility: visible;
    /*元の位置に戻す*/
    transform: translateY(0);
}


/* ----------------------------------------- */
/* ヘッダー 共通 start */
/* ----------------------------------------- */
/* 表示非表示 */
@media screen and (min-width:600px) {

    .hamburger,
    .top_phone_img,
    .phone_br{
        display: none !important;
    }

}

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

    #header_nav,
    .top_img{
        display: none !important;
    }
}

.header,
#header_container,
#header_content {
    width: 100%;
}

#header_container .header_container {
    width: 100%;
    height: 100vh;
    min-height: 100vh;
    margin: 0;
    padding: 0;
}

#header_content {
    width: 100%;
    height: 5.5vw;
    left: 0px;
    top: 0px;
    position: absolute;
    background: rgba(52.21, 138.96, 240.81, 0.70);
    color: white;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

@media screen and (max-width:600px) {
    #header_content {
        height: 14vw !important;
    }
}

/* ヘッダーロゴ */
#header_content #logo {
    display: flex;
    align-items: center;
    width: 20vw;
    margin-left: 3vw;
}

#header_content #logo h2 {
    padding-left: 0.5%;
    font-size: 1.5vw;
    font-weight: 800;
}

#header_content #logo #logo_img {
    width: 6.5vw;
    height: 5.5vw;
    /* width: 7vw;
    height: 6vw; */
    border-radius: 10px;
}
#header_content #logo #logo_img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

@media screen and (max-width:600px) {
    #header_content #logo {
        width: 50vw;
    }

    #header_content #logo h2 {
        padding-left: 0%;
        font-size: 3.5vw;
    }

    #header_content #logo #logo_img {
        height: 13vw !important;
        width: 12vw !important;
    }
}

#header_content h3 {
    font-size: 1.5vw;
}

#header_nav {
    margin-right: 6vw;
    display: flex;
    justify-content: space-between;
    width: 19%;
}

#home_link:hover,
#company_link:hover,
#item_link:hover {
    color: #fff;
    font-weight: 700;
}

.current_link {
    color: #fff;
}

/* xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx */
/* ヘッダー 共通 end */
/* xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx */


/* ----------------------------------------- */
/* ヘッダー 商品ページ専用 start */
/* ----------------------------------------- */
#header_container .header_item_container {
    width: 100%;
    height: 50vh;
    min-height: 50vh;
    margin: 0;
    padding: 0;
}

.top_item_img {
    width: 100%;
    height: 50vh;
    min-height: 50vh;
    margin: 0;
    padding: 0;
}

@media screen and (max-width:600px) {
    #header_container .header_item_container {
        height: 35vh;
        min-height: 35vh;
    }

    .top_item_img {
        height: 55vw;
        min-height: 55vw;
    }
}

#header_item_title {
    position: absolute;
    top: 25%;
    left: 50%;
    transform: translate(-50%, -50%);
}

#header_item_title p {
    font-size: 4.0vw;
    font-weight: bold;
    text-shadow: 5px 5px 3px grey;
    color: white;
}

@media screen and (max-width:600px) {
    #header_item_title {
        position: absolute;
        top: 16%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    #header_item_title p {
        font-size: 7vw;
    }
}

/* ヘッダー ボトムバー */
#header_item_bottom {
    width: 100%;
    height: 5.5vw;
    top: 50%;
    transform: translateY(-100%);
    position: absolute;
    background: rgba(77, 77, 77, 0.7);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
}

#header_item_bottom_content {
    width: 100vw;
    display: flex;
    align-items: center;
    justify-content: center;
}

#header_item_bottom_text {
    font-size: 1.3vw;
    margin-right: 3%;
}

@media screen and (max-width:600px) {
    #header_item_bottom {
        height: 14vw;
        top: 55vw;
    }

    #header_item_bottom_text {
        font-size: 2.5vw;
    }
}

#header_item_bottom_button {
    width: 18vw;
    height: 3.5vw;
    background-color: #FFE55E;
    color: black;
    text-align: center;
    vertical-align: middle;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

#header_item_bottom_button:hover {
    background-color: #a2913e;
    margin-top: 5px;
}

#header_item_bottom_button p {
    font-size: 1.4vw;
    font-weight: 500;
    margin-right: 3%;
}

#header_item_bottom_button img {
    width: 2vw;
    height: 2vw;
}

@media screen and (max-width:600px) {
    #header_item_bottom_button {
        width: 34vw;
        height: 8.5vw;
    }

    #header_item_bottom_button p {
        font-size: 3vw;
    }

    #header_item_bottom_button img {
        width: 3.5vw;
        height: 3.5vw;
    }
}

/* xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx */
/* ヘッダー 商品ページ専用 end */
/* xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx */

/* ----------------------------------------- */
/* ヘッダー ハンバーガーメニュー start */
/* ----------------------------------------- */
.hamburger {
    width: 3vw;
    height: 5.5vw;
    position: relative;
    margin-right: 8%;
}

.hamburger span {
    position: absolute;
    width: 100%;
    height: 1.5px;
    background-color: white;
}

.hamburger span:first-of-type {
    /* ハンバーガーメニューの1番目の線 */
    top: 25%;
}

.hamburger span:nth-of-type(2) {
    /* ハンバーガーメニューの2番目の線 */
    top: 50%;
}

.hamburger span:last-of-type {
    /* ハンバーガーメニューの3番目の線 */
    top: 75%;
}

.slide-menu {
    background-color: rgba(0, 0, 0, .8);
    position: fixed;
    top: 5.5vw;
    width: 100%;
    left: 0;
}

.slide-menu li {
    color: #fff;
    line-height: 400%;
    text-align: center;
}

/* xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx */
/* ヘッダー ハンバーガーメニュー end */
/* xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx */


/* ----------------------------------------- */
/* フッター start */
/* ----------------------------------------- */
#footer_container {
    width: 100%;
    height: 8.5vh;
    min-height: 8.5vh;
    margin: 0;
    padding: 0;
}

#footer_content {
    width: 100%;
    height: 100%;
    background: rgba(52.21, 138.96, 240.81, 0.70);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx */
/* フッター end */
/* xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx */