@charset "utf-8";
.fixed-banner{
	position: fixed;
	right: 10px;
	bottom: 10px;
	width: 320px;
	box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.4);
	z-index: 5;
}

.top-mv {
	background-image: 
		url(../images/top/mv-bg-logo.png),
		url(../images/top/mv-bg-txt.png),
		radial-gradient(rgba(114, 114, 114, 0.65), rgba(28, 28, 28, 0.65)),
		url(../images/top/mv-bg.png);
	background-repeat: no-repeat;
	background-position: 95% center,bottom center,center,center;
	background-size: auto 90%,100% auto,cover,cover;
	height: 100vh;
	width: 100%;
	clip-path: polygon(
		0 0,
		100% 0,
		100% calc(100% - 45px),
		0 100%
	);
}

.top-mv::before{
	content: "";
	background: url(../images/top/frame.png) no-repeat;
	background-size: 100% 100%;
	height: 90%;
	width: 95%;
	position: absolute;
	left: 50%;
	bottom: 10px;
	transform: translateX(-50%);
}

.top-mv::after{
	content: "";
	background-image: linear-gradient(
		to bottom,
		rgba(151, 151, 151, 0) 0%,
		rgba(151, 151, 151, 0) 69%,
		rgba(28, 28, 28, 0.5) 82%,
		rgba(28, 28, 28, 1) 100%
	);
	height: 100%;
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
}

.top-mv .mv-chara{
	width: 70%;
	position: relative;
	left: -2%;
	bottom: -5%;
	z-index: 2;
}

.top-mv h1{
	position: absolute;
	right: 5%;
	top: 50%;
	font-size: 54px;
	font-weight: 700;
	text-align: right;
	line-height: 1.29;
	transform: translateY(-50%);
	z-index: 2;
}

.main-contents{
	padding: 80px 0;
}

.main-contents.top section{
	padding: 80px 0;
}

.sec-tl .inner{
	display: block;
}

.sec-tl{
	font-size: 82px;
	font-weight: 700;
	line-height: 0.84;
}

.right-rorate{
	transform: rotate(-2deg);
}

.left-rorate{
	transform: rotate(2deg);
}

.top-border-box{
	border-top: 5px solid #1c1c1c;
	padding-top: 40px;
}

.news-list{
	gap: 20px;
}

.news-list li{
	border: 1px solid #8c8c8c;
	box-shadow: 10px 10px 0 rgba(0,0,0,0.2);
	max-width: 400px;
	width: calc((100% / 3) - 15px);
}

.news-list li a{
	background: #ffffff;
	display: block;
}

.news-list li .txt{
	padding:15px;
}

.news-list li .txt time{
	font-size: 16px;
	margin-bottom: 5px;
}

.news-list li .txt h3{
	font-size: 18px;
	font-weight: 400;
}

.news-list li .txt p{
	font-size: 14px;
	font-weight: 400;
}

.news-list li .txt .more{
	border: 1px solid #1c1c1c;
	border-radius: 25px;
	display: table;
	font-size: 14px;
	margin-top: 10px;
	margin-left: auto;
	padding: 3px 15px;
}

.company-main-box{
	background-color: #ffffff;
	background-image: 
		url(../images/top/logo-icon.svg),
		url(../images/top/logo-icon.svg),
		radial-gradient(circle, #efefef 2.5px, transparent 2.5px), radial-gradient(circle, #efefef 2.5px, transparent 2.5px);
	background-position: left top,right center, 0 0, 10px 20px;
	background-size: 10%,20%, 20px 40px, 20px 40px;
	background-repeat: no-repeat,no-repeat, repeat, repeat;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 110px));
	min-height: 300px;
}

body.en-page .company-main-box{
	min-height: 380px;
}

.company-sec::after{
	content: "";
	border-bottom: 5px solid #1c1c1c;
	position: absolute;
	bottom: 133px;
	left: 0;
	width: 100%;
	transform: rotate(2deg);
}

.company-main-box h3{
	font-size: 54px;
	font-weight: 700;
	transform: rotate(2deg);
}

.service-main-box{
	background-image: url(../images/top/service-bg.png);
	background-position: 60% top;
	background-size: auto;
	background-repeat: repeat;
	clip-path: polygon(0 0, 100% calc(0% + 54px), 100% calc(100% - 54px), 0 100%);
	padding: 80px 0;
	margin-top: -22px;
}

.service-sec::before{
	content: "";
	border-bottom: 5px solid #1c1c1c;
	position: absolute;
	top: 122px;
	left: 0;
	width: 100%;
	transform: rotate(2deg);
	transform-origin: left top;
}

.service-sec::after{
	content: "";
	border-bottom: 5px solid #1c1c1c;
	position: absolute;
	bottom: 80px;
	left: 0;
	width: 100%;
	transform-origin: left bottom;
	transform: rotate(-2deg);
}

.service-list{
	gap: 20px;
}

.service-list .blo{
	backdrop-filter: blur(1px);
	-webkit-backdrop-filter: blur(1px);
	background: linear-gradient(
		135deg, 
		rgba(255, 255, 255, 0.4) 0%, 
		rgba(255, 255, 255, 0.1) 100%
	);
	border: 1px solid rgba(255, 255, 255, 0.5);
	border-radius: 6px;
	box-shadow:
		inset 0 1px 1px rgba(255, 255, 255, 0.6),
		0 10px 20px rgba(0, 0, 0, 0.15);
	padding: 30px 20px;
	max-width: 300px;
}

.service-list .blo .img{
	display: table;
	margin: 0 auto 15px;
}

.service-list .blo h3{
	font-size: 28px;
	text-align: center;
	margin-bottom: 15px;
}

.service-list .blo p{
	font-size: 16px;
}

.lower-mv {
	background-image:
		radial-gradient(rgba(114, 114, 114, 0.65), rgba(28, 28, 28, 0.65)),
		url(../images/top/mv-bg.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover,100% auto;
	clip-path: polygon(
		0 0,
		100% 0,
		100% calc(100% - 45px),
		0 100%
	);
	padding: 100px 60px 60px;
}

.lower-mv::after{
	content: "";
	background-image: linear-gradient(
		to bottom,
		rgba(151, 151, 151, 0) 0%,
		rgba(151, 151, 151, 0) 69%,
		rgba(28, 28, 28, 0.5) 82%,
		rgba(28, 28, 28, 1) 100%
	);
	height: 100%;
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
}

.lower-mv h1{
	font-size: 82px;
	font-weight: 700;
	position: relative;
	z-index: 2;
}

.lower-mv h1 span{
	font-size: 22px;
	display: block;
}

.pankuzu{
	gap: 10px;
	margin-bottom: 60px;
}

.pankuzu li{
	font-size: 16px;
	font-weight: 700;
}

.pankuzu li:not(:last-child)::after{
	content: "/";
	margin-left: 10px;
}

.category-list{
	gap: 15px;
	margin-bottom: 60px;
}

.category-list li{
	background: #ffffff;
	border: 1px solid #929292;
	transform: skewX(-15deg);
	height: 36px;
	width: 120px;
}

.category-list li a{
	color: #929292;
	font-weight: 500;
	transform: skewX(15deg);
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
}

.category-list li.current{
	background: #1C1C1C;
}

.category-list li.current a{
	color: #ffffff;
}

.archive-list{
	margin-top: -20px;
}

.archive-list li{
	border-bottom: 1px solid #8C8C8C;
}

.archive-list li a{
	padding: 20px 0;
}

.archive-list li .category{
	border: 1px solid #1C1C1C;
	border-radius: 25px;
	font-size: 14px;
	padding: 3px 0;
	width: 80px;
	display: table;
	text-align: center;
	margin-right: 10px;
}

.archive-list li time{
	font-size: 16px;
	margin-right: 30px;
}

.archive-list li h3{
	font-size: 18px;
	font-weight: 400;
	width: calc(100% - 200px);
}

.single-sec .single-tl{
	font-size: 40px;
	margin-bottom: 15px;
}

.single-sec time{
	display: block;
	font-size: 16px;
	margin-bottom: 10px;
}

.single-sec .s-cate-list{
	margin-bottom: 20px;
	gap: 10px;
}

.single-sec .s-cate-list li{
	border: 1px solid #1C1C1C;
	border-radius: 25px;
	font-size: 12px;
	padding: 3px 5px;
	min-width: 80px;
	text-align: center;
}

.single-sec .single-main .eyecatch{
	display: table;
	margin: 0 auto 20px;
}

.single-sec .single-main .editor p{
	font-size: 22px;
}

.back-link{
	font-size: 16px;
	display: table;
	text-align: right;
	width: 110px;
	padding-bottom: 3px;
	margin-top: 60px;
}

.back-link::before,
.back-link::after{
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	height: 2px;
}

.back-link::before{
	width: 100%;
	background-image: linear-gradient(270deg, #e94049 0%, #e94049 63%, #111111 63%, #111111 100%);
}

.back-link::after{
	background: #111111;
	width: 10px;
	transform: rotate(-45deg);
	transform-origin: left center;
}

.p-company-sec .page-catch{
	gap: 20px;
}

.p-company-sec .page-catch h2{
	font-size: 46px;
	text-shadow: 2px 4px 6px rgba(28, 28, 28, 0.25);
}

.p-company-sec .page-catch p{
	font-size: 18px;
	line-height: 2.33;
	max-width: calc(100% - 552px);
}

.p-company-sec .page-catch p span{
	box-decoration-break: clone;	
	-webkit-box-decoration-break: clone;
	display: inline;
	background: #E94049;
	color: #ffffff;
}

.lower-sec-main > .rows:not(:last-child){
	margin-bottom: 80px;
}

.lower-sec-main > .rows .rows-tl{
	font-size: 40px;
	margin-bottom: 20px;
}


.member-list{
	gap: 50px;
}

.member-list li{
	cursor: pointer;
	width: calc((100% / 3) - 34px);
}

.member-list li .img{
	height: 350px;
	overflow: hidden;
}

.member-list li .img img{
	width: 100%;
}

.member-list li .txt{
	background: #ffffff;
	padding: 30px 10px 10px;
}

.member-list li .txt h3{
	font-size: 16px;
	font-weight: 700;
	margin-bottom: 15px;
}

.member-list li .txt .name{
	font-size: 20px;
	font-weight: 700;
}

.member-list li .txt .plus{
	background: #303030;
	color: #E94049;
	font-size: 30px;
	height: 35px;
	width: 35px;
	position: absolute;
	right: 10px;
	bottom: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.overview-box{
	margin: 0 auto;
	max-width: 1040px;
}

.overview-box .row:not(:last-child){
	border-bottom: 1px solid #DCDCDC;
}

.overview-box .row > div{
	padding: 20px 0;
	vertical-align: middle;
}

.overview-box .th{
	font-size: 18px;
	font-weight: 700;
}

.overview-box .td{
	font-size: 16px;
	font-weight: 400;
}

.g-map{
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}

.g-map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.bold-list p{
	font-size: 18px;
	font-weight: 700;
	position: relative;
	padding-left: 1.5rem;
}

.bold-list p:not(:last-child){
	margin-bottom: 5px;
}

.bold-list p::before{
	content: "■";
	position: absolute;
	left: 0;
	top: 0;
}

.arrows-tl{
	font-size: 32px;
	margin-bottom: 20px;
	display: flex;
	align-items: center;
	gap: 5px;
}

* + .arrows-tl{
	margin-top: 60px;
}

.arrows-tl::before,
.arrows-tl::after{
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	border-top: 4px solid #FE4D4F;
	border-left: 4px solid #FE4D4F;
}

.arrows-tl::before{
	transform: rotate(-45deg);
}

.arrows-tl::after{
	transform: rotate(135deg);
}

.access-imgs > div{
	width: calc((100% / 3) - 20px);
}

.access-imgs > div p{
	font-size: 18px;
	font-weight: 700;
	margin-top: 10px;
}

.main-business-rows .service-list .blo {
    backdrop-filter: unset;
    -webkit-backdrop-filter: unset;
    background: #ffffff;
    border: 2px solid #1c1c1c;
    box-shadow: 12px 14px 0 rgba(28, 28, 28, 0.25);
    padding: 30px 20px;
    max-width: 360px;
}

.img-txt-list{
	margin-top: -40px;
}

.img-txt-list > .row{
	padding: 40px 0;
}

.img-txt-list > .row:not(:last-child){
	border-bottom: 1px solid #d9d9d9;
}

.img-txt-list > .row .img{
	max-width: 560px;
}

.play-btn {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	color: #ffffff;
	border: 2px solid #ffffff;
	border-radius: 50%;
	height: 86px;
	width: 86px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 34px;
	background: rgba(0, 0, 0, 0.3);
}

.img-txt-list .row .txt{
	width: calc(100% - 600px);
}

.img-txt-list .row .txt h3{
	font-size: 40px;
	font-weight: 700;
	margin-bottom: 30px;
}

.img-txt-list .row .txt h4{
	font-size: 32px;
	font-weight: 700;
	margin-bottom: 15px;
}

.img-txt-list .row .txt h4 span{
	display: block;
	font-size: 12px;
	margin-top: 5px;
}

.img-txt-list .row .txt p{
	font-size: 16px;
}

.img-txt-list .row .txt .more-link{
	position: absolute;
	right: 0;
	bottom: 0;
}

.more-link{
	font-size: 16px;
	display: table;
	width: 110px;
	padding-bottom: 3px;
}

.more-link::before,
.more-link::after{
	content: '';
	position: absolute;
	bottom: 0;
	height: 2px;
}

.more-link::before{
	width: 100%;
	background-image: linear-gradient(90deg, #e94049 0%, #e94049 63%, #111111 63%, #111111 100%);
	left: 0;
}

.more-link::after{
	background: #111111;
	width: 10px;
	right: 0;
	transform: rotate(45deg);
	transform-origin: right center;
}

.products-table .row:not(:last-child) > div {
	padding-bottom: 10px;
}

.products-table .th {
    width: 170px;
}

.products-table .th h5{
	font-size: 18px;
	font-weight: 700;
}

.products-table .th p {
	font-size: 16px;
}

.inquiry-table{
	max-width: 800px;
}

.inquiry-table.table-box .row > div{
	vertical-align: top;
	padding-bottom: 30px;
}

.inquiry-table.table-box .row:last-child > div{
	padding-bottom: 0;
}

.inquiry-table .th{
	width: 254px;
}

.inquiry-table .th.hissu p:after{
	content: "必須";
	background: #b7251e;
	color: #ffffff;
	font-size: 10px;
	font-weight: 700;
	line-height: 1;
	margin-left: 10px;
	padding: 2px 8px;
	vertical-align: middle;
}

.en-page .inquiry-table .th.hissu p:after{
	content: "Required";
}

.inquiry-table .th p{
	font-size: 16px;
	font-weight: 700;
	line-height: 50px;
	letter-spacing: 0.05em;
}

.inquiry-table select{
    border: 1px solid #cccccc;
    background: #ffffff;
	padding: 0 20px;
    height: 50px;
    width: 372px;
}

.inquiry-table input[type="text"],
.inquiry-table input[type="tel"],
.inquiry-table input[type="email"] {
    padding: 0;
    border: 1px solid #cccccc;
    background: #ffffff;
    border-radius: 0;
    outline: none;
    height: 50px;
    padding: 0 20px;
    width: 100%;
}

.inquiry-table input[type="text"].mid{
	max-width: 372px;
}

.inquiry-table input[type="text"].short{
	max-width: 198px;
}

.inquiry-table textarea{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    resize: none;
    padding: 10px 15px;
    border: 1px solid #cccccc;
    background: #ffffff;
    outline: none;
    height: 200px;
    width: 100%;
}

.inquiry-sec .privacy-p{
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.83;
	max-width: 490px;
}

.inquiry-sec .submit-btn{
	max-width: 360px;
	width: 100%;
}

.inquiry-sec .submit-btn input[type="submit"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: 0;
	border: none;
	outline: none;
	background: #808080;
	color: #ffffff;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.13em;
	height: 60px;
	width: 100%;
	cursor: pointer;
}

.modal-container{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	background: rgba(0,0,0,50%);
	overflow: auto;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
	box-sizing: border-box;
	z-index: 10;
}

.modal-container:before{
	content: "";
	display: inline-block;
	vertical-align: middle;
	height: 100%;
}

.modal-container.active{
	opacity: 1;
	visibility: visible;
}

.modal-body{
	border-radius: 4px;
	position: relative;
	display: none;
	vertical-align: middle;
	max-width: 1260px;
	width: 90%;
}

.modal-body.active{
	display: inline-block;
}

.modal-close{
	background: #303030;
	color: #E94049;
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	top: 30px;
	right: 30px;
	width: 36px;
	height: 36px;
	font-size: 25px;
	cursor: pointer;
	z-index: 2;
}

.modal-content{
	background: #fff;
	padding: 10px;
	outline: 4px solid #303030;
	border-radius: 4px;
	outline-offset: -10px;
}

.modal-flex .img{
	width: 49%;
}

.modal-flex .txt{
	background: url(../images/company/modal-illust.png) no-repeat;
	background-size: 224px;
	background-position: calc(100% - 10px) calc(100% - 10px);
	text-align: left;
	padding: 40px 20px;
	width: 51%;
	min-height: 90vh;
}

.modal-flex .txt h3{
	font-size: 36px;
}

.modal-flex .txt .name{
	font-size: 54px;
	font-weight: 700;
	margin-bottom: 40px;
}

.modal-flex .txt .ex{
	font-size: 18px;
	line-height: 2.33;
}

.main-contents.tomato-page{
	background: url(../images/tomato/btm-bg.png) no-repeat;
	background-color: #111111;
	background-position: bottom;
	background-size: 100% auto;
}

.tomato-mv h1{
	position: absolute;
	left: 0;
	bottom: 0;
}

.detail-page-title{
	margin: 0 auto 40px;
}

.main-contents.tomato-page .section-contents{
	background: url(../images/tomato/TX_BackGrand.png) no-repeat;
	background-size: 100% auto;
	background-attachment: fixed;
	background-position: center;
}

.main-contents.tomato-page .detail-about-sec p{
	font-size: 18px;
	line-height: 1.5;
	padding-left: 25px;
	max-width: 709px;
	text-shadow:
	4px 4px 2px rgba(0,0,0,0.4),
	-4px 4px 2px rgba(0,0,0,0.4),
	-4px -4px 0 rgba(0,0,0,0.4),
    4px -4px 0 rgba(0,0,0,0.4);
}

.detail-about-flex .l{
	margin-right: 20px;
}

.app-point-list .blo{
	justify-content: flex-end;
	width: 85%;
	z-index: 2;
}

.app-point-list .blo:not(:last-child){
	margin-bottom: 90px;
}

.app-point-list .blo::before{
	content: "";
	border: 4px double #00b7ff;
	height: 90%;
	width: calc(100% + 30px);
	position: absolute;
	bottom: -30px;
	z-index: -1;
}

.app-point-list .blo:nth-child(odd)::before{
	left: 0;
	border-left: unset;
}

.app-point-list .blo:nth-child(even)::before{
	right: 0;
	border-right: unset;
}

.app-point-list .blo:nth-child(even){
	flex-direction: row-reverse;
	margin-left: auto;
}

.app-point-list .blo .img{
	border: 2px double #00b7ff;
	max-width: 463px;
	box-shadow: 7px 7px 0 rgba(0, 183, 255, 0.4);
}

.app-point-list .blo:nth-child(odd) .img{
	margin-right: 30px;
}

.app-point-list .blo:nth-child(even) .img{
	margin-left: 30px;
}

.app-point-list .blo .txt{
	max-width: 540px;
}

.app-point-list .blo .txt h5{
	font-size: 26px;
	margin-bottom: 15px;
}

.l-img{
	position: fixed;
	left: 0;
	top: 0;
}

.r-img{
	position: fixed;
	transform: rotate(180deg);
	right: 0;
	bottom: 0;
}

.app-point-list .blo .txt p{
	font-size: 18px;
	line-height: 1.85;
}

video {
    max-width: 100%;
    vertical-align: top;
}

.main-contents.tomato-page section {
    padding: 75px 0;
}

@media all and (min-width: 768px){
	.menu-list li a:hover::after{
		width: 96px;
	}
	.news-list li a:hover{
		background: #1c1c1c;
		color: #ffffff;
	}
	
	.news-list li a:hover .txt .more{
		border-color: #ffffff;
	}
	
	.play-btn:hover{
		background: rgba(0, 0, 0, 1);
	}
}

/*------------------------------------------------------------
	レスポンシブ
------------------------------------------------------------*/
@media all and (min-width: 0) and (max-width: 767px){
	.top-mv .mv-chara {
		width: 130%;
		position: absolute;
		left: 50%;
		bottom: unset;
		z-index: 2;
		top: 50%;
		transform: translate(-50%, -50%);
	}
	
	.top-mv h1 {
		font-size: 26px;
		text-shadow: 0px 3px 3px rgba(0, 0, 0, 0.5);
	}
	
	.main-contents.top section {
		padding: 60px 0;
	}
	
	.sec-tl {
		font-size: 40px;
	}
	
	.news-list li {
		max-width: unset;
		width: 100%;
	}
	
	.company-main-box h3 {
		font-size: 26px;
	}
	
	.company-main-box {
		min-height: 230px;
	}

	body.en-page .company-main-box{
		min-height: 320px;
	}
	
	.service-list .blo {
		max-width: 100%;
	}
	
	.service-main-box {
		clip-path: polygon(0 0, 100% calc(0% + 14px), 100% calc(100% - 14px), 0 100%);
		padding: 60px 0;
		margin-top: 13px;
	}
	
	.service-list {
		gap: 20px;
	}
	
	.service-list .blo h3 {
		font-size: 24px;
	}
	
	.service-list .blo p {
		font-size: 16px;
	}
	
	.lower-mv {
		padding: 80px 20px 80px;
	}
	
	.lower-mv h1 {
		font-size: 30px;
	}
	
	.lower-mv h1 span {
		font-size: 16px;
	}
	
	.pankuzu li {
		font-size: 13px;
	}
	
	.main-contents {
		padding: 60px 0;
	}
	
	.p-company-sec .page-catch h2 {
		font-size: 24px;
	}
	
	.p-company-sec .page-catch p {
		font-size: 15px;
		max-width: 100%;
	}
	
	.lower-sec-main > .rows:not(:last-child) {
		margin-bottom: 60px;
	}
	
	.lower-sec-main > .rows .rows-tl {
		font-size: 24px;
	}
	
	.member-list li {
		width: 100%;
	}
	
	.member-list li .txt {
		padding: 20px 0 0;
	}
	
	.member-list li .txt h3 {
		margin-bottom: 5px;
	}
	
	.overview-box .row > div{
		display: block;
		padding: 0;
	}
	
	.overview-box .row > div.th{
		font-size: 16px;
		margin-bottom: 5px;
	}
	
	.overview-box .row > div.td{
		font-size: 15px;
		padding-bottom: 15px;
	}
	
	.table-box .row{
		display: block;
	}
	
	.overview-box .row:not(:last-child){
		margin-bottom: 15px;
	}
	
	.bold-list p {
		font-size: 13px;
		padding-left: 1.2em;
	}
	
	.arrows-tl {
		font-size: 16px;
	}
	
	.access-imgs{
		gap: 30px;
	}
	
	.access-imgs > div {
		width: 100%;
	}
	
	.access-imgs > div p {
		font-size: 14px;
	}
	
	.modal-body {
		max-height: 90vh;
		overflow: auto;
	}
	
	.modal-flex .img {
		width: 100%;
	}
	
	.modal-flex .txt {
		background: none;
		padding: 30px 15px;
		width: 100%;
		min-height: auto;
	}
	
	.modal-flex .img {
		height: 280px;
		overflow: hidden;
	}
	
	.modal-flex .txt h3 {
		font-size: 20px;
	}
	
	.modal-flex .txt .name {
		font-size: 34px;
		margin-bottom: 20px;
	}
	
	.modal-flex .txt .ex {
		font-size: 15px;
	}
	
	.category-list {
		gap: 5px;
		margin-bottom: 40px;
	}
	
	.category-list li {
		width: 90px;
		font-size: 14px;
	}
	
	.archive-list li h3 {
		font-size: 15px;
		margin-top: 10px;
		width: 100%;
	}
	
	.archive-list li .category {
		font-size: 12px;
		margin-right: 10px;
	}
	
	.archive-list li time {
		font-size: 15px;
	}
	
	.img-txt-list .row .txt {
		margin-top: 20px;
		width: 100%;
	}
	
	.img-txt-list .row .txt h3 {
		font-size: 24px;
		margin-bottom: 15px;
	}
	
	.img-txt-list .row .txt p {
		font-size: 15px;
		line-height: 1.6;
	}
	
	.img-txt-list .row .txt .more-link {
		position: relative;
		margin-left: auto;
		margin-top: 30px;
	}
	
	.products-table .th h5,
	.img-txt-list .row .txt p{
		font-size: 14px;
	}

	
	.tomato-mv h1 {
		left: 50%;
		bottom: 25%;
		width: 90%;
		transform: translateX(-50%);
	}
	
	.detail-about-sec,
	.detail-point-sec{
		margin: 0 auto;
		width: 90%;
	}
	
	.detail-about-flex .l {
		margin: 0 auto 20px;
		width: 70%;
	}
	
	.main-contents.tomato-page .detail-about-sec p {
		font-size: 14px;
		padding-left: 0;
		margin-top: 10px;
	}
	
	.app-point-list .blo{
		width: 100%;
	}
	
	.app-point-list .blo:nth-child(odd) .img,
	.app-point-list .blo:nth-child(even) .img{
		margin-left: 0;
		margin-right: 0;
		margin-bottom: 20px;
	}
	
	.app-point-list .blo .txt h5 {
		font-size: 20px;
	}
	
	.app-point-list .blo .txt p {
		font-size: 14px;
		line-height: 1.5;
	}
	
	.app-point-list .blo::before {
		width: calc(100% + 8%);
	}
	
	.app-point-list .blo:nth-child(odd)::before {
		left: -5%;
		border-left: 4px double #00b7ff;
	}
	
	.app-point-list .blo:nth-child(even)::before{
		right: -5%;
		border-right: 4px double #00b7ff;
	}

	
}