/*
 Theme Name:   Astra Child
 Theme URI:    http://example.com/twenty-fifteen-child/
 Description:  Astra Child Theme
 Author:       John Doe
 Author URI:   http://example.com
 Template:     astra
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Tags:         light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready
 Text Domain:  astra-child
*/

/*.container {
    border: solid 2px black;
}*/

.sp {
    display: none;
}

.pc {
    display: none;
}

.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
    background-color: transparent;
    border-radius: 0;
}

.dropdown-item.active, .dropdown-item:active {
    background-color: transparent;
    border-bottom: 2px darkorange solid;
    border-radius: 0;
}

.marker-yellow {
    background: linear-gradient(transparent 50%, #ffff00 0%);
}

#video-container {
    position: relative;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    margin: 0;
    width: 100%;
    overflow-y: hidden;
}

#video-text {
    position: absolute;
    right: 45px;
    top: 30px;
    border: 2px solid;
    font-size: 2.2rem;
}

#video-text-sp {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    white-space: nowrap;
    border: 2px solid;
    font-size: 1.1rem;
    z-index: 1;
}

#video {
    opacity: 1;
    width: 100%;
}
@media screen and (min-width: 992px) {
    /*　画面サイズが992pxからはここを読み込む　*/
    #video {
        opacity: 1;
        width: 100%;
        height: auto;
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        object-fit: cover;
    }
    .first-view {
        min-height: 100vh; /* カスタムプロパティ未対応ブラウザ用のフォールバック */
        min-height: calc(var(--vh, 1vh) * 100);
    }

}
body {
    color: #404749;
    background: #F7EFDF;
    font-family: 'Shippori Mincho', serif;
    overflow: scroll;
    /*IE(Internet Explorer)・Microsoft Edgeへの対応*/
    -ms-overflow-style: none;
    /*Firefoxへの対応*/
    scrollbar-width: none;
}
/*Google Chrome、Safariへの対応*/
body::-webkit-scrollbar{
    display: none;
}

.ff-noto-sans {
    font-family: 'Noto Sans JP', sans-serif;
}

.cover {
    background-color: #fff;
    opacity: 0.8;
}

#loader {
    position: fixed;
    width: 100%;
    height: 100%;
    background-color: #fff;
    top: 0;
    right: 0;
    z-index: 9999;
    text-align: center;
    padding-top: 40%;
}

.fadeout {
    animation: fadeOut 1.4s;
    animation-fill-mode: both;
}

@keyframes fadeOut {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}

#loader-wrapper {
    position: absolute;
    left: 0;
    right: 0;
    top: 40%;
    bottom: 0;
}

.producer-hr {
    border-color: #c69c6d !important;
}

/* 追記 */
nav a {
    position: relative;
    display: inline-block;
    text-decoration: none;
    background-color: #F7EFDF;
    z-index: 2;
}

/* 追記 2020/08/24 */
.catch {
  display: flex;
  align-items: center;
  justify-content: center; 
}
.catch:before, .catch:after {
  border-top: 4px solid #C69C6C;
  border-radius: 10px;
  content: "";
  flex-grow: 1;
}
.catch:before {
  margin-right: 1rem;
}
.catch:after {
  margin-left: 1rem;
}
.producer-title {
  font-size: 26px;
}
.producer-underline {
  border-bottom: solid 4px #C69C6C;
}
.producer-text {
  font-size: 20px;
}
#contact-img {
  max-width: 300px;
}
#contact-text {
  font-size: 20px;
}
.fs-25 {
  font-size: 25px;
}
.mw-350 {
  max-width: 350px;
}
.lh-180 {
  line-height: 180%;
}

/* 追記 2020/10/07 */
.producer-content{
padding-left:20px;
border-left: 3px solid;
}

/* 追記 2020/10/09 */
ul {
  list-style: none;
  padding:0px;
  margin:0px;
}
li{
    padding:0px;
}
.box {
    position: relative;
    padding: 1.5em 1em;
    border: solid 3px #000000;
    border-radius: 8px;
}
.box .box-title {
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 19px;
    background: #dcceb6;
    color: #000000;
}
.fixed_btn {
    position: sticky;
    position: -webkit-sticky;
    bottom: 0;
}

nav .nav-item {
    font-size: 16px;
    color: white;
}

nav ul {
    height: 25px;
    letter-spacing: 0.25rem;
}
nav.pc {
    position: absolute;
    top: 10px;
    right: 0;
}
nav.pc a:visited, a:active, a:hover {
    text-decoration: none;
    color: white;
}
nav.pc a::after {
    position: absolute;
    bottom: -1px;
    left: 0;
    content: '';
    width: 100%;
    height: 1px;
    background: white;
    transform: scale(0, 1);
}
nav.pc a:hover::after {
    position: relative;
    display: block;
    background-color: white;
    transform: scale(1, 1);
    transform-origin: center top;
    transition: transform .3s;
    z-index: 2;
}
nav.pc ul li:last-child {
    border-left: solid 2px white;
}
@media screen and (max-width: 992px) {
    /* 992pxまでの幅の場合に適応される */
    div.menu {
        width: 30px;
        height: 20px;
        position: absolute;
        right: 20px;
        top: 20px;
        z-index: 10;
    }
    div.menu.active {
        position: fixed;
    }
    div.menu span.menu__line {
        width: 100%;
        height: 2px;
        background-color: #fff;
        display: block;
        position: absolute;
        transition: transform .3s;
    }
    div.menu.active span.menu__line--top {
        top: 8px;
        transform: rotate(45deg);
    }
    div.menu span.menu__line--center {
        top: 9px;
    }
    div.menu.active span.menu__line--center {
        transform: scaleX(0);
    }
    div.menu span.menu__line--bottom {
        bottom: 0;
    }
    div.menu.active span.menu__line--bottom {
        bottom: 10px;
        transform: rotate(135deg);
    }
    nav.gnav {
        width: 100%;
        height: 100vh;
        height: calc(var(--vh, 1vh) * 100);
        background-color: #000;
        position: fixed;
        z-index: 9;
        opacity: 0;
        visibility: hidden;
        transition: opacity .3s, visibility 0s ease .3s;
    }
    nav.gnav.show {
        opacity: 1;
        visibility: visible;
        transition-delay: 0s;
    }
    nav div.gnav__wrap {
        width: 100%;
        height: 100%;
        position: absolute;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    nav ul {
        height: max-content;
        text-align: center;
    }
    nav ul li.gnav__menu__item {
        background-color: transparent;
        margin: 35px 0;
    }
    nav ul li.gnav__menu__item a {
        color: #fff;
        font-size: 25px;
        font-weight: bold;
        text-decoration: none;
        background-color: transparent;
    }

    /*20220127追加*/
    nav ul li.gnav__menu__item__sns a {
        color: #fff;
        text-decoration: none;
        background-color: transparent;
    }

    /*sp時のメニューsns横並び用*/
    .sns-container{
        margin-top: 70px;
        display: flex;
        justify-content:space-around;
    }
    /*追加*/

    .hide {
        visibility: hidden;
    }

}

/*修正中*/
section#what-is-dejima {
    margin-top: 65px;
}
@media screen and (min-width:992px){
    /*　画面サイズが992pxからはここを読み込む　*/
    section#what-is-dejima {
        margin-top: 100px;
    }
}

h2.headline-pc {
    font-size: 32px;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    letter-spacing: 0.5rem;
    line-height: 3rem;
}
h2.headline-sp {
    font-size: 1.25rem;
    letter-spacing: 0.3rem;
    line-height: 1.75rem;
}
p.description-dejima {
    font-size: 16px;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    letter-spacing: 0.3rem;
}
.line-height-2_5 {
    line-height: 2.5rem;
}
.line-height-1_8 {
    line-height: 1.8rem;
}

div.image-what-is-dejima {
    width: 50%;
    height: auto;
    margin-top: -110px;
}
div.image-what-is-dejima-sp {
    width: 70%;
    height: auto;
}
img.image-dejima {
    width: 15rem;
    height: 15rem;
}
div.text-dejima {
    font-size: 1.8rem;
    color: #840020;
    font-weight: bold;
    letter-spacing: 0.3rem;
    line-height: 2rem;
}
section#secret-of-taste-carousel {
    margin-top: 80px;
}@media screen and (min-width:992px){
    /*　画面サイズが992pxからはここを読み込む　*/
    section#secret-of-taste-carousel {
        margin-top: 160px;
    }
}
.carousel-item {
    transition: transform 2.6s ease-in-out;
}
.carousel-fade .active.carousel-item-start,
.carousel-fade .active.carousel-item-end {
    transition: opacity 0s 2.6s;
}
.carousel-control-next, .carousel-control-prev {
    width: 10%;
}
.carousel-indicators [data-bs-target] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-left: 9px;
    margin-right: 9px;
}

div.slide-secret-of-taste {
    margin: 0 -12px;
}

img.slide-secret-of-taste-img {
    width: 100%;
    height: 580px;
    overflow: hidden;
    object-fit: cover;
    object-position: 50% 70%;
}

div.text-secret-of-taste {
    color: white;
    font-size: 32px;
    text-shadow: 8px 3px 15px black;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    letter-spacing: 0.3rem;
    z-index: 1;
}

section#secret-of-taste img:not(.circle-number) {
    width: max-content;
    height: auto;
    margin-top: 2rem;
}
section#secret-of-taste div.description {
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    text-orientation: upright;
}
section#secret-of-taste h2 {
    color: #404749;
    font-size: 47px;
    margin-top: 1rem;
    margin-left: 0;
    margin-right: 0;
}
section#secret-of-taste p {
    color: #404749;
    font-size: 16px;
    height: max-content;
    letter-spacing: 0.2rem;
    margin: 5.6rem 40px 0 0;
}
@media screen and (max-width: 992px) {
    /* 992pxまでの幅の場合に適応される */
    section#secret-of-taste img:not(.circle-number) {
        width: 80%;
        height: auto;
        margin-top: 2rem;
    }
    section#secret-of-taste img.circle-number {
        width: 47px;
        height: auto;
        margin-top: 0;
    }
    section#secret-of-taste h2 {
        font-size: 32px;
        letter-spacing: 0.3rem;
        margin: 0 0 0.25rem 1rem;
        writing-mode: horizontal-tb;
        -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: horizontal-tb;
    }
    section#secret-of-taste p {
        font-size: 16px;
        width: max-content;
        margin: 1.5rem auto 0;
    }
    section#secret-of-taste div#bareisho-dejima, div#special-field, div#tradition {
        margin-top: 75px;
    }
}
section#secret-of-taste p span {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

/* 破線 */
section#secret-of-taste p span.dashed {
    background-image: linear-gradient(to bottom, #979797, #979797 9px, transparent 0, transparent 0);  /* 幅2の線を作る */
    background-position: right top;  /* 背景の開始位置を指定 */
    background-size: 1px 16px;       /* グラデーションの幅・高さを指定 */
    background-repeat: repeat-y;     /* 横向きにのみ繰り返す */
}
/* 左側破線 */
section#secret-of-taste p span.dashed:last-child {
    background-image:
        linear-gradient(to bottom, #979797, #979797 9px, transparent 0, transparent 0),
        linear-gradient(to top, #979797, #979797 9px, transparent 0, transparent 0);
    background-position:
        right top,
        left bottom;
    background-size: 1px 16px;
    background-repeat: repeat-y;
}
@media screen and (max-width: 992px) {
    section#secret-of-taste p span.dashed {
        background-image: none;
    }
    section#secret-of-taste p span.dashed:last-child {
        background-image: none;
    }
}
@media screen and (min-width: 992px) {
    section#producer h2 {
        writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        text-orientation: upright;
    }
}
@media screen and (max-width: 991px) {
    section#producer .box-producer {
        margin-left: -12px;
        margin-right: -12px;
    }
}
section#producer .title {
    font-size: 28px;
}
section#producer .description {
    font-size: 20px;
}
section#producer button {
    font-size: 0.9rem;
}
section#buy > div {
    padding: 80px 0;
}
section#buy img {
    border-radius: 15px;
}
section#buy div.title {
    color: #404749;
    font-size: 90px;
    line-height: 6.25rem;
    padding-left: 0.5rem;
    padding-bottom: 1.25rem;
}
section#buy div.list {
    padding-top: 24px;
    padding-left: 0.5rem;
}
section#buy dl {
    color: #7E7878;
    letter-spacing: 0.3rem;
}
section#buy dl dt, dd {
    font-weight: 300;
}
section#buy div.contact {
    color: #7E7878;
    font-weight: 300;
    letter-spacing: 0.3rem;
    margin-top: 50px;
}
section#buy a {
    letter-spacing: 0.3rem;
    padding: 1.25rem;
}
section#buy div.tel {
    margin: 25px 0;
}

@media screen and (min-width: 992px) {
    .wm-lr {
        writing-mode: vertical-lr;
        -ms-writing-mode: tb-lr;
        text-orientation: upright;
    }
}
@media screen and (max-width: 992px) {
    section#buy > div {
        padding: 16px;
    }
    section#buy img {
        margin-top: 75px;
    }
    section#buy div.title {
        font-size: 32px;
        line-height: normal;
        margin-top: 75px;
        padding-bottom: 17px;
    }
    section#buy div.list {
        font-size: 12px;
    }
    section#buy button {
        font-size: 14px;
    }
    section#buy .tel {
        font-size: 14px;
    }
}
footer {
    height: max-content;
    background-image: url(/public/images/footer-background.jpg);
}
footer div.footer-wrap {
    width: 100%;
    height: 100%;
    background-color: #31322a;
    opacity: 0.9;
    letter-spacing: 0.3rem;
    padding: 93px 0 38px;
}
footer ul {
    height: max-content;
    list-style-type: none;
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    text-orientation: upright;
}
footer ul li {
    color: white;
}
footer div.pp-law > div {
    height: 25px;
}
footer div.pp-law a {
    text-decoration: none;
}
footer div.pp-law a:visited, a:active, a:hover {
    text-decoration: none;
    color: white;
}
footer div.pp-law a::after {
    position: absolute;
    bottom: -1px;
    left: 0;
    content: '';
    width: 100%;
    height: 1px;
    background: white;
    transform: scale(0, 1);
}
footer div.pp-law a:hover::after {
    position: relative;
    display: block;
    background-color: white;
    transform: scale(1, 1);
    transform-origin: center top;
    transition: transform .3s;
    z-index: 2;
}

footer div.box-footer-img {
    margin: 134px 0;
}
img.potato-logo-w {
    width: 133px;
    height: 60px;
}
footer span.copyright {
    margin-top: 38px;
}
@media screen and (max-width: 992px) {
    footer {
        font-size: 14px;
    }
}
