@charset 'UTF-8';

/***********
共通
************/
.hierarchy_content{
    padding-bottom: 48px;
}
.hierarchy_content--scroll_content{
    padding-bottom: 0;
}
.hierarchy_content h2{
    margin-bottom: 32px;
    font-size: 32px;
    line-height: 1.25;
    text-align: center;
}
.hierarchy_content h2 + p{
    font-size: 15px;
    font-weight: 500;
    line-height: 2;
}
.img--radius{
    border-radius: 8px;
    overflow: hidden;
}

/**********************
hierarchy_4f--koji
***********************/
.process dl:first-of-type{
    margin-top: 32px;
}
.process dl{
    position: relative;
    display: flex;
    /* align-items: center; */
    justify-content: space-between;
    margin-bottom: 10px;
}
.process dl:after{
    content: '';
    position: absolute;
    right: 0;
    bottom: 12px;
    margin: auto;
    width: 69%;
    height: 1px;
    border-bottom: 1px solid #4C4948;
}
.process.langeage dl:after{
    bottom: -5px;
}
.process dl:last-of-type::after{
    display: none;
}
.process dt{
    position: relative;
    max-width: 100px;
    width: 32%;
    text-align: center;
    padding-bottom: 28px;
}
.process dt::after{
    content: '';
    position: absolute;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    width: 23px;
    height: 18px;
    background-image: url(/factoryguide/mutenka/img/common/icon_arrow.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.process dl:last-of-type dt{
    padding-bottom: 0;
}
.process dl:last-of-type dt::after{
    display: none;
}
.process dt p{
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 2.3%;
    max-width: 100%;
    height: 100px;
    font-size: 18px;
    line-height: 3.2;
    border: 2px solid #000;
    border-radius: 50%;
    box-sizing: border-box;
}
.process.langeage dt p{
    font-size: 15px;
    line-height: 1.5;
}
.process dd{
    width: 69%;
    padding-top: 12px;
}
.process dl:first-of-type dd,
.process dl:last-of-type dd{
    padding-top: 26px;
}
.process dd p{
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.015em;
    line-height: 1.866;
    text-align: left;
}
.process.langeage dd p{
    font-size: 14px;
}
.process > p{
    margin-top: 32px;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.875;
}
.enzyme_img{
    margin-top: 17px;
}
.enzyme {
    margin-bottom: 40px;
}
.enzyme:first-of-type {
    margin-top: 40px;
}
.enzyme:last-of-type {
    margin-bottom: 32px;
}
.enzyme h3{
    margin-bottom: 10px;
    font-size: 24px;
    font-weight: bold;
    line-height: 2;
    text-align: center;
}
.enzyme h3 + p{
    margin-bottom: 24px;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.15em;
    line-height: 1.466;
    text-align: center;
}
.enzyme .img{
    width: 100%;
    margin-bottom: 16px;
}
.enzyme .border_text{
    padding: 10px;
    font-size: 18px;
    font-weight: 600;
    text-align: center;
    line-height: 1.22;
    border: 1px solid #4c4948;
    border-radius: 4px;
    box-sizing: border-box;
    /* letter-spacing: 0.015em; */
}
.cont_bk{
    padding: 80px 0;
    background-image: url(/factoryguide/mutenka/img/2/process_bk.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center right;
}
.process_item{
    margin-bottom: 48px;
}
.process_item:last-of-type{
    margin-bottom: 0;
}
.process_item h2{
    margin-bottom: 16px;
    font-size: 32px;
    line-height: 1.25;
    text-align: left;
}
.process_item p{
    font-size: 15px;
    font-weight: 500;
    line-height: 2;
}
.koji_area{
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 32px;
    padding: 0;
}
.koji_area .koji:not(:last-of-type){
    margin-right: 5px;
}
.koji_area .img{
    margin-bottom: 8px;
}
.koji_area figcaption{
    font-size: 16px;
    font-weight: bold;
    text-align: center;
}
/**********************
hierarchy_2f--microorganisms
***********************/
.microorganisms_content{
    padding-bottom: 56px;
}
.microorganisms_content h2{
    margin-bottom: 28px;
    color: #fff;
    font-size: 48px;
    line-height: 1.2;
    letter-spacing: 0.1em;
    text-align: center;
}
.microorganisms_content .img{
    width: 43%;
    margin: auto auto 28px;
    text-align: center;
}
.microorganisms_content p{
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.015em;
    line-height: 1.866;
}
/**********************
process_content
***********************/
.process_content{
    padding-bottom: 56px;
}
.process_content .img{
    margin-bottom: 8px;
}
.process_content--koji .img{
    margin-bottom: 0;
}
.process_content--koji .img + .img{
    margin-top: 40px;
}
.process_content figure{
    margin-bottom: 24px;
}
.process_content figcaption{
    font-size: 14px;
    font-weight: 500;
    line-height: 2.14;
    text-align: center;
}
.process_content p + figure{
    margin-bottom: 48px;
}
.process_content .intro_text{
    margin-bottom: 32px;
}
.process_content p + .process{
    margin-top: 40px;
}
.process_content p{
    font-size: 15px;
    font-weight: 500;
    line-height: 2;
    text-align: left;
}
.process_content .title_area--icon + p{
    margin-bottom: 40px;
}
.process_content .miso_area{
    display: flex;
    justify-content: space-between;
    padding: 0;
    margin-bottom: 24px;
}
.process_content .miso_area .miso{
    width: 57%;
}
.process_content .miso_area .miso:first-of-type{
    width: 37%;
    padding-right: 10px;
    border-right: 1px solid #4D4948;
}
.process_content .miso_area .miso p{
    margin-bottom: 16px;
    font-size: 15px;
    font-weight: 500;
    line-height: 2;
    text-align: center;
}
.process_content .miso_area .miso .img{
    width: 78%;
    margin: auto;
}
.process_content .miso_area .miso:first-of-type .img{
    width: 74%;
}
.process_content .miso_area + p{
    margin-bottom: 48px;
}
.process_content .process.arrow{
    position: relative;
    padding-bottom: 63px;
}
.process_content .process.arrow::after{
    content: '';
    position: absolute;
    right: 0;
    left: 0;
    bottom: 20px;
    margin: auto;
    width: 24px;
    height: 27px;
    background-image: url(/factoryguide/mutenka/img/3/arrow.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.process_content .process h3{
    padding: 5px;
    margin-bottom: 20px;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.5;
    text-align: center;
    border: 2px solid #000;
    border-radius: 10px;
    box-sizing: border-box;
}
.process_content .process .flex_box {
    display: flex;
    justify-content: space-between;
    padding: 0;
}
.process_content .process .flex_box .daizu{
    width: calc(100% - 21% - 19px);
}
.process_content .process .flex_box .daizu p{
    margin-bottom: 27px;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.733;
    text-align: left;
}
.process_content .process:last-of-type .flex_box .daizu p{
    margin-bottom: 0;
}
.process_content .process .flex_box .daizu .img{
    margin-bottom: 0;
}
.process_content .process .flex_box > .img{
    width: 21%;
    margin-right: 19px;
    margin-bottom: 0;
}
/**********************
slider_img_content
***********************/
.slider_img_content{
    max-width: 500px;
    overflow-x: hidden;
    position: relative;
}
.slider_img_content.map{
    margin-left: 32px;
    padding-bottom: 30px;
    padding-top: 10px;
}
.slider_img_content.merit{
    direction: rtl;
}
.slider_img_content .scroll_wrapper{
    position: relative;
    overflow-x: scroll;
    overflow-y: hidden;
    width: 100%;
}
.slider_img_content .scroll_wrapper.slider_vertical{
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}
.slider_img_content .scroll_area {
    width: 1013px;
    overflow-x: auto;
    overflow-y: hidden;
    position: relative;
    height: auto;
    display: block;
}
.slider_img_content.panel .scroll_area{
    width: 1334px;
}
.slider_img_content.machine .scroll_area{
    width: 1542px;
}
.slider_img_content.merit .scroll_area{
    width: 3314px;
}
.slider_img_content.map .scroll_area{
    width: 1305px;
}
.slider_img_content.tank .scroll_area{
    width: 2652px;
}
.slider_img_content .img {
    position: relative;
    width: 1013px;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}
.slider_img_content.panel .img{
    width: 1334px;
}
.slider_img_content.machine .img{
    width: 1542px;
}
.slider_img_content.merit .img{
    width: 3314px;
}
.slider_img_content.map .img{
    width: 1305px;
}
.slider_img_content.tank .img{
    width: 2652px;
}
.slider_img_content .scroll_area img {
    height: auto;
    display: inline-block;
    max-width: none;
    -webkit-user-drag: none;
    user-drag: none;
    width: 1013px;
}
.slider_img_content.panel img{
    width: 1334px;
}
.slider_img_content.machine img{
    width: 1542px;
}
.slider_img_content.merit img{
    width: 3314px;
}
.slider_img_content.map img{
    width: 1305px;
}
.slider_img_content.tank img{
    width: 2652px;
}
.slider_img_content .scroll_hint {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    width: 37%;
    height: 26.6%;
    margin: auto;
    z-index: 1;
    pointer-events: none;
}
.slider_img_content .scroll_hint .img{
    width: 140px;
}
.map_overview_controls {
	display: flex;
	align-items: center;
	gap: 10px;
	width: calc(100% - 32px);
	max-width: 500px;
	margin: auto;
    padding-bottom: 15px;
}

.map_overview {
	position: relative;
	flex: 1;
	min-width: 0;
	overflow: hidden;
	line-height: 0;
	cursor: pointer;
	background-color: #fff;
}

.map_overview_img {
	display: block;
	width: 100%;
	height: auto;
	max-width: none;
	-webkit-user-drag: none;
	user-select: none;
}

.map_overview_current {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	display: block;
	box-sizing: border-box;
	border: 2px solid #e35656;
	background-color: rgba(255, 255, 255, 0.25);
	pointer-events: none;
	will-change: transform;
}

.map_overview_arrow {
	position: relative;
	flex: 0 0 24px;
	width: 24px;
	height: 24px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background-color: #222;
	cursor: pointer;
}

.map_overview_arrow span::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 7px;
	height: 7px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
}

.map_overview_arrow.prev span::before {
	transform: translate(-35%, -50%) rotate(-135deg);
}

.map_overview_arrow.next span::before {
	transform: translate(-65%, -50%) rotate(45deg);
}

/* 端まで移動した矢印 */
.map_overview_arrow:disabled {
	opacity: 0.3;
	cursor: default;
}
/**********************
panoramic_window_content
***********************/
.panoramic_window_content .content_area {
    padding-top: 40px;
}
.panoramic_window_content .content_area.role{
    padding-bottom: 33px;
}
.panoramic_window_content .content_area h2{
    margin-bottom: 24px;
    color: #008842;
    font-size: 24px;
    line-height: 1.33;
    text-align: center;
}
.panoramic_window_content .content_area.role h2{
    color: #006fbc;
}
.white_box{
    position: relative;
    padding: 32px 24px;
    background: #fff;
    border-radius: 20px;
    box-sizing: border-box;
    box-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 0.1);
}
.white_box.arrow {
    margin-bottom: 48px;
}
.white_box.arrow::before {
    content: '';
    position: absolute;
    right: 0;
    left: 0;
    bottom: -32px;
    margin: auto;
    width: 32px;
    height: 16px;
    background-image: url(/factoryguide/mutenka/img/15/arrow01.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.panoramic_window_content .content_area.role .white_box.arrow::before {
    background-image: url(/factoryguide/mutenka/img/15/arrow02.png);
}
.white_box h3{
    margin-bottom: 20px;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
}
.white_box .flex_box{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0;
}
.white_box .flex_box + .flex_box{
    margin-top: 16px;
}
.white_box .flex_box .img{
    width: 45%;
}
.white_box .flex_box .text_area{
    width: 52%;
}
.white_box .flex_box .text_area p{
    font-size: 15px;
    font-weight: 500;
    line-height: 1.6;
    text-align: left;
}
/**********************
text_content
***********************/
.text_content{
    margin-bottom: 24px;
}
.text_content p{
    font-size: 15px;
    font-weight: 500;
    line-height: 1.866;
}
/**********************
merit_area
***********************/
.merit_area h3{
    margin-bottom: 24px;
    font-size: 24px;
    font-weight: bold;
    letter-spacing: 0.1em;
    line-height: 1.25;
    text-align: center;
}
.merit_area .merit:not(:last-of-type){
    padding-bottom: 32px;
    margin-bottom: 32px;
    border-bottom: 2px solid #000;
}
.merit_area .merit:last-of-type{
    margin-bottom: 40px;
}
.merit_area .merit p{
    margin-bottom: 20px;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.733;
}
.merit_area .merit .img{
    margin-bottom: 0;
}
/**********************
model
***********************/
.model{
    padding-bottom: 20px;
}
.model .quantity{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    width: 265px;
    height: 265px;
    margin: auto auto 20px;
    padding: 53px 18px 40px;
    text-align: center;
    border: 2px solid #4c4948;
    border-radius: 50%;
    box-sizing: border-box;
}
.model.model--en .quantity,
.model.model--ko .quantity{
    justify-content: center;
}
.model .quantity:first-of-type{
    margin-top: 20px;
}
.model .quantity:nth-of-type(4){
    padding: 53px 18px 55px;
}
.model .quantity p{
    color: #4c4948;
    font-size: 24px;
    font-weight: bold;
}
.model.model--en .quantity p,
.model.model--ko .quantity p{
    font-size: 17px;
}
.model .quantity .small_text{
    font-size: 20px;
    line-height: 1.4;
}
.model.model--en .quantity .small_text{
    font-size: 17px;
    margin-bottom: 10px;
}
.model.model--ko .quantity .small_text{
    font-size: 15px;
    margin-bottom: 10px;
}
.model .quantity .large_text{
    font-size: 80px;
    letter-spacing: -0.03em;
}
.model.model--en .quantity .large_text,
.model.model--ko .quantity .large_text{
    font-size: 60px;
    margin-bottom: 10px;
}
.model .quantity .vertical_text{
    writing-mode: vertical-rl;
    margin-right: 10px;
}
.model.model--en .quantity .vertical_text,
.model.model--ko .quantity .vertical_text{
    margin-bottom: 10px;
}
.model .quantity .quantity_text_box{
    display: flex;
    align-items: center;
    justify-content: center;
    /* margin: 10px 0; */
}
.fermentation_wrap{
    padding: 50vh 0 47vh;
}
/**********************
bk_wrap
***********************/
.bk_wrap{
    padding: 30px 0;
}
.img_text{
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 22px;
    font-size: 15px;
    font-weight: bold;
    letter-spacing: 0.15em;
    line-height: 1.866;
}
.img_text.language{
    display: block;
    width: 90%;
    margin: auto auto 22px;
    text-align: left;
}
.img_text span{
    display: inline-block;
    max-width: 56px;
    margin: auto 5px;
}
/**********************
factory-guide-entrance
***********************/
.factory-guide-entrance{
    padding: 20px 0 68vh;
}

.factory-guide-entrance li a{
    display: block;
    width: 100%;
    padding: 10px;
    text-align: center;
    border: 1px solid #000;
    border-radius: 8px;
}
.factory-guide-entrance li p{
    position: relative;
    display: inline-block;
    padding-left: 27px;
    color: #000;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.42;
}
.factory-guide-entrance li p::before{
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    /* top: 0; */
    margin: auto;
    width: 18px;
    height: 17px;
    background-image: url(/factoryguide/img/common/guid_icon02.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left center;
}
.factory-guide-entrance li + li{
    margin-top: 20px;
}
@media screen and (max-width:400px) {
    .factory-guide-entrance{
        padding: 20px 0 357px;
    }
}
