@charset "utf-8";
/* CSS Document */

main .contents .category {
    clear: both;
    margin: 80px 0 -40px 0;
}
main .contents .category img {
    margin: 0 auto 15px auto;
}

main .contents section.list {
    background-color: #fff;
    padding: 75px 3.64% 45px 3.64%;
    border-radius: 10px;
    margin: 60px 0;
}
main .contents section.list h2 img {
    margin: 0 auto;
}
main .contents section.list .hr img {
    margin: 25px auto 0 auto;
}
main .contents section.list ul {
    margin-top: 20px;
	margin-bottom: -40px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    position: relative;
}
main .contents section.list ul li {
    width: 48.04%;
	margin: 40px 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
main .contents section.list ul li:before {
    content: "";
    position: absolute;
    top: -41px;
    left: 0;
    width: 1020px;
    height: 1px;
    background-image: linear-gradient(to right, #cbcbcb, #cbcbcb 3px, transparent 3px, transparent 6px);
    background-size: 8px 1px;
    background-repeat: repeat-x;
}
main .contents section.list ul li:nth-child(even):before,
main .contents section.list ul li:first-child:before {
    display: none;
}
main .contents section.list ul li > a:first-child {
	width: 48.98%;
	display: block;
}
main .contents section.list ul li .img_width {
	width: 100%;
    border-radius: 10px;
    overflow: hidden;
}
main .contents section.list ul li .img_width .img {
    padding-top: 66.6666%;
}
main .contents section.list ul li .img_width .img img {
    max-height: none;
}
main .contents section.list ul li .img_width.no_height .img img {
	max-height: 100%;
	max-width: none;
}
main .contents section.list ul li .text {
    width: 44.9%;
    float: right;
}
main .contents section.list ul li .text h3 {
    font-size:  1.6rem;
    margin-bottom: 10px;
}
main .contents section.list ul li .text p {
    margin: 0;
}

ul.sns {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-right: -15px;
}
ul.sns li {
	margin-right: 15px;
}
ul.sns li:first-child {
	margin-right: 40px;
}

.column {
	margin: 80px auto;
	max-width: 866px;
}
.column h1 {
	margin: 60px 0;
	padding: 0;
	text-align: center;
	font-size: 3.0rem;
	line-height: 166%;
	color: #5d4037;
	font-weight: 500;
}
.column h1 img {
	display: block;
	margin: 0 auto 20px auto;
}
.column h1 .hr {
	margin-top: 20px;
}
.column h1 .hr img {
	margin: 0 auto;
}
.column .img_width.main,
.column.wakuwaku .img_width {
	width: 100%;
	overflow: hidden;
	border-radius: 25px;
}
.column.karada .img_width.main {
	margin-bottom: 60px;
}
.column .img_width.main .img,
.column.wakuwaku .img_width .img {
	padding-top: 56.35%;
}
.column#column1 .img_width.main .img,
.column#column2 .img_width.main .img {
	padding-top: 41.57%;
}
.column .img_width.world-snacks1 .img {
	padding-top: 64.1%;
}
.column .img_width.chocolate2 .img {
	padding-top: 64.7%;
}
.column .img_width.manners2 .img {
	padding-top: 66.3%;
}
.column .img_width.manners .img,
.column .img_width.cakes .img,
.column .img_width.world-snacks .img,
.column .img_width.world-snacks2 .img,
.column .img_width.cake-history2 .img,
.column .img_width.cake-history4 .img,
.column .img_width.adults-sweets .img,
.column .img_width.sweets-features .img,
.column .img_width.with-kids .img,
.column .img_width.for-coffee .img,
.column .img_width.chocolate .img {
	padding-top: 66.7%;
}
.column .img_width.manners4 .img {
	padding-top: 65.4%;
}
.column .img_width.chocolate1 .img {
	padding-top: 68.3%;
}
.column .img_width.cake-history5 .img {
	padding-top: 68.4%;
}
.column .img_width.cake-history .img,
.column .img_width.sweets-features3 .img {
	padding-top: 68.5%;
}
.column .img_width.for-coffee1 .img {
	padding-top: 72.5%;
}
.column .img_width.cakes5 .img,
.column .img_width.cake-history1 .img,
.column .img_width.cake-history3 .img {
	padding-top: 75%;
}
.column .img_width.main .img img,
.column.wakuwaku .img_width .img img  {
	max-height: none;
}
.column .img_width.main .img img {
	max-width: none;
}
.column#column1 .img_width.main .img img {
	top: 76%;
	left: 46%;
}
.column#column2 .img_width.main .img img {
	top: 85%;
}
.column#column2 .img_width.main .img img.intestinal_activity {
	top: 55%;
}
.column#index .img_width.main .img img {
	top: 59%;
}
.column .img_width.index1 .img img,
.column .img_width.index2 .img img {
	top: 57%;
}
.column p.main_text {
	margin: 30px 0;
}
.column article {
	margin: 40px 0;
	clear: both;
	display: inline-block;
	width: 100%;
}
.column article:last-child {
	margin-bottom: 0;
}
.column#karada article {
	margin: 30px 0;
}
.column article h2 {
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	display: flex;
	align-items: center;
	margin-bottom: 30px;
	background-color: #fff;
	height: 80px;
	padding: 0 30px;
	font-size:  2.4rem;
	font-weight: 500;
}
.column.karada article h2 {
	padding: 0 20px;
	height: 70px;
	font-size: 2.0rem;
	color: #fff;
	background-color: #5d4037;
}
.column article h2 img {
	margin-right: 25px;
}
.column article h3 {
	border-bottom: 2px solid #474747;
	padding: 0 15px 15px calc(15px + 1.5em);
	font-size: 2.2rem;
	font-weight: normal;
	margin-top: 85px;
	text-indent: -1.5em;
	margin-bottom: 30px;
}
.column.karada article .img_width {
	width: 380px;
	margin-right: 45px;
	float: left;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	overflow: hidden;
}
.column.karada article .img_width .img {
	padding-top: 78.95%;
}
.column article p {
	margin: 30px 0;
}
.column article p.title {
	margin-bottom: 0;
}
.column article p:last-child {
	margin-bottom: 0;
}
.column.karada article .img_width + p {
	padding-top: 10px;
}
.column#column1 article ul {
	margin: -30px 0;
	overflow: hidden;
	padding: 0;
	border: none;
}
.column#column1 article ul li {
	margin: 30px 0;
	padding: 0;
}
.column#column1 article ul li:before {
	display: none;
}
.column#column1 article ul li h4 {
	font-size: 1.8rem;
	padding-left: 25px;
	position: relative;
	color: #5d4037;
	margin-bottom: 10px;
}
.column#column1 article ul li h4:before,
.column#column2 article ul li:before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	box-sizing: border-box;
}
.column#column1 article ul li h4:before {
	border: 3px solid #5d4037;
	border-radius: 100%;
	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	width: 1em;
	height: 1em;
	top: 50%;
}
.column#column2 article ul {
	margin: -20px 0;
	overflow: hidden;
	padding: 0;
	border: none;
}
.column#column2 article ul li {
	margin: 20px 0;
	padding-left: 25px;
	position: relative;
}
.column#column2 article ul li:before {
	background-color: #5d4037;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	width: 0.8em;
	height: 0.8em;
	top: 0.833em;
}
.column .advice {
	margin: 30px 0;
}
.column .advice .name {
	margin-bottom: 30px;
}
.column .advice .name .row {
	display: flex;
	align-items: center;
}
.column .advice .name .row .icon {
	display: flex;
	align-items: center;
	height: 35px;
	padding: 0 25px;
	color: #fff;
	background-color: #f28100;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	overflow: hidden;
	line-height: 100%;
	justify-content: center;
}
.column .advice .name .row .text {
	margin-left: 1em;
	width: auto;
}
.column .advice .name .row .text span {
	font-size: 2.0rem;
	vertical-align: text-bottom;
	margin-right: 10px;
}
.column .advice .row {
	display: flex;
	align-items: flex-start;
}
.column .advice .row img {
	width: 84px;
	margin-right: 30px;
}
.column .advice .row .text {
	width: 752px;
}
.column .advice .row .fukidashi,
.column .advice .row aside {
	padding: 25px 30px;
	border-radius: 20px;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
}
.column .advice .row .fukidashi {
	border: 1px solid #5d4037;
	position: relative;
	background-color: #fff;
}
.column .advice .row .fukidashi:before,
.column .advice .row .fukidashi:after {
	content: "";
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	top: 50%;
	right: 100%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	border-style: solid;
}
.column .advice .row .fukidashi:before {
	border-width: 9px 15px 9px 0;
	border-color: transparent #5d4037 transparent transparent;
}
.column .advice .row .fukidashi:after {
	border-width: 8px 13px 8px 0;
	border-color: transparent #fff transparent transparent;
}
.column .advice .row aside {
	margin-top: 20px;
	background-color: #f6f6f6;
	border: 1px solid #eee;
}
.column a.banner {
	margin-top: 80px;
	display: block;
	position: relative;
	border-radius: 15px;
	-webkit-border-radius: 15px;
	-moz-border-radius: 15px;
	overflow: hidden;
}
.column a.banner span {
	font-size: 2.0rem;
	letter-spacing: -0.05em;
	position: absolute;
	left: 57%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	color: #5d4037;
	top: 60px;
}
.column a.banner span br {
	display: none;
}
.column a.banner span.view {
	display: block;
	width: 300px;
	line-height: 30px;
	background-color: #5d4037;
	color: #fff;
	border-radius: 30px;
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	font-size: 1.5rem;
	text-align: center;
	letter-spacing: 0.05em;
	top: auto;
	bottom: 40px;
}

.column ul,
.column ol {
	border: 2px solid #464646;
	padding: 30px 40px;
	border-radius: 10px;
}
.column .title + ul {
	margin-top: 0;
}
.column ul li {
	padding-left: 1em;
	position: relative;
}
.column ul li:before {
	content: "";
	position: absolute;
	display: block;
	height: 4px;
	width: 4px;
	border-radius: 100%;
	background-color: #464646;
	top: 0.8em;
	left: 0;
}
.column ol li {
	list-style: decimal;
	margin-left: 1em;
}
.column .marker {
	background-color: #f8c880;
}
.column section {
	background-color: #fff;
	border-radius: 10px;
	padding: 30px;
	margin-top: 30px;
}
.column section h4 {
	font-size:  1.6rem;
}
.column section p {
	margin: 20px 0;
}
.column section ul,
.column section ol {
	border: none;
	padding: 0;
}

.column a {
	color: #767fba;
}

/* =================================== */
/* SNSアイコン                          */
/* 追記                                */
/* =================================== */

/* アイコン全体のコンテナ */
.sns-icon-container {
    display: flex;
    justify-content: center; /* PC表示で中央揃え */
    align-items: center;
    gap: 20px; /* アイコンのグループ間の隙間 */
	margin-top: 40px ;
    flex-wrap: wrap; /* スマホ表示のために折り返しを許可 */
}

/* アイコンのグループ（Xとその他） */
.sns-icon-container .sns-group {
    display: flex;
    align-items: center;
    gap: 24px; /* グループ内のアイコン同士の隙間 */
}

/* 各SNSアイコンの共通スタイル */
.sns-icon-container .sns-group .sns-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px; /* アイコンとテキストの間の隙間 */
    text-decoration: none;
    color: #000;
    transition: transform 0.2s ease;
}

.sns-icon-container .sns-group .sns-icon:hover {
    transform: scale(1.1); /* ホバー時に少し拡大 */
    opacity: 0.8;
}

/* IMGタグのサイズ調整 */
.sns-icon-container .sns-group .sns-icon img {
    width: 32px;
    height: 32px;
    display: block; /* インライン要素の余白問題を解消 */
    border-radius: 20%;
}

/* Xアイコンのテキスト */
.sns-icon-container .sns-group .x-icon span {
    font-weight: bold;
	line-height: 1.5;
    font-size: 10px;
}

.sns-icon-container .only-icons{
    margin-left: 10px;
}

/* =================================== */
/* レスポンシブ設定 (スマートフォン)     */
/* 画面幅が600px以下の場合に適用       */
/* =================================== */
@media screen and (max-width: 600px) {
    /* コンテナのflex-directionをcolumnに変更して、グループを縦に並べる */
    .sns-icon-container {
        flex-direction: column;
		margin-top: 20px;
		margin-bottom: 60px ;
        gap: 20px; /* スマホ表示時のグループ間の隙間 */
    }

	.sns-icon-container .only-icons{
		margin-left: 0px;
		gap: 40px; /* グループ内のアイコン同士の隙間 */
	}
}