@charset "utf-8";

html {
 min-width: 100%;
 min-height: 100%;
	font-size: 62.5%;
}

body {
 font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	text-size-adjust: 100%;
	font-size: 1.6rem;
 line-height: 1.5;
	font-weight: normal;
	color: #1a1311;
	background-color: #fff;
	position: relative;
 font-feature-settings: "palt" 1;
}

a {
 display: inline-block;
 color: #009a85;
 opacity: 1;
 transition: all 0.3s;
 word-break: break-all;
}
a:hover {
 opacity: 0.6;
 transition: all 0.3s;
}

img{
 margin: 0 auto;
}
img.half_size {
	max-width: 50%;
}

.txt-center {
 text-align: center;
}
.txt-right {
 text-align: right;
}
.black {
	color: #1a1311;
}
.red {
 color: #f00;
}
ruby > rt {
 font-size: 40%;
}

/* Add 202311 Start */
.txt-small {font-size: 1.3rem;}

small.red-box {
  background-color: #f00;
  color: #fff;
  padding: 2px 5px;
}
/** margin **/
.mt00 {margin-top: 0 !important;}
.mt10 {margin-top: 10px !important;}
.mt20 {margin-top: 20px !important;}
.mt30 {margin-top: 30px !important;}
.mt40 {margin-top: 40px !important;}
.mt50 {margin-top: 50px !important;}
.mt60 {margin-top: 60px !important;}
.mb00 {margin-bottom: 0 !important;}
.mb10 {margin-bottom: 10px !important;}
.mb20 {margin-bottom: 20px !important;}
.mb30 {margin-bottom: 30px !important;}
.mb40 {margin-bottom: 40px !important;}
.mb50 {margin-bottom: 50px !important;}
.mb60 {margin-bottom: 60px !important;}
.ml00 {margin-left: 0 !important;}
.ml10 {margin-left: 10px !important;}
.ml20 {margin-left: 20px !important;}
.ml30 {margin-left: 30px !important;}
.ml40 {margin-left: 40px !important;}
.ml50 {margin-left: 50px !important;}
.ml60 {margin-left: 60px !important;}
.mr00 {margin-right: 0 !important;}
.mr10 {margin-right: 10px !important;}
.mr20 {margin-right: 20px !important;}
.mr30 {margin-right: 30px !important;}
.mr40 {margin-right: 40px !important;}
.mr50 {margin-right: 50px !important;}
.mr60 {margin-right: 60px !important;}

/** padding **/
.pt00 {padding-top: 0 !important;}
.pt10 {padding-top: 10px !important;}
.pt20 {padding-top: 20px !important;}
.pt30 {padding-top: 30px !important;}
.pt40 {padding-top: 40px !important;}
.pt50 {padding-top: 50px !important;}
.pt60 {padding-top: 60px !important;}
.pb00 {padding-bottom: 0 !important;}
.pb10 {padding-bottom: 10px !important;}
.pb20 {padding-bottom: 20px !important;}
.pb30 {padding-bottom: 30px !important;}
.pb40 {padding-bottom: 40px !important;}
.pb50 {padding-bottom: 50px !important;}
.pb60 {padding-bottom: 60px !important;}
.pl00 {padding-left: 0 !important;}
.pl10 {padding-left: 10px !important;}
.pl20 {padding-left: 20px !important;}
.pl30 {padding-left: 30px !important;}
.pl40 {padding-left: 40px !important;}
.pl50 {padding-left: 50px !important;}
.pl60 {padding-left: 60px !important;}
.pr00 {padding-right: 0 !important;}
.pr10 {padding-right: 10px !important;}
.pr20 {padding-right: 20px !important;}
.pr30 {padding-right: 30px !important;}
.pr40 {padding-right: 40px !important;}
.pr50 {padding-right: 50px !important;}
.pr60 {padding-right: 60px !important;}
/* Add 202311 End */

a.icon {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	word-break: break-all;
	word-wrap: break-word;
	overflow-wrap: break-word;
	padding: 0 0 0 1.5em;
}
a.icon::before {
	content: "";
	width: 1.2em;
	height: 1.2em;
	margin: 0 0.3em 0 -1.5em;
	background-repeat: no-repeat;
	background-size: contain;
}
a.icon.pfd_icon::before {
	background-image: url("../images/icon_pdf.svg");
}

p.backnumber {
 text-align: center;
 font-weight: 700;
 font-size: 110%;
 letter-spacing: 0.1em;
 margin: 40px auto;
}
p.bn_caution {
 text-align: center;
 font-size: 110%;
 margin: 0 auto 40px;
}

/* Search Box
-----------------------------------------------*/
.search_form {
}
.search_form form {
 display: flex;
 padding: 0 5px;
 overflow: hidden;
 border: 1px solid #bebebe;
 border-radius: 50px;
 background-color: #fff;
}
.search_form form input {
 outline: none;
}
.search_form form input[type="search"] {
 order: 2;
 border: none;
 width: calc(100% - 1.8vw);
 font-size: 81.25%;
 line-height: 1;
}
.search_form form input[type="submit"] {
 order: 1;
 width: 1.6vw;
 height: 1.6vw;
 padding: 0;
 text-indent: -500px;
 border: none;
 overflow: hidden;
 background: url(../images/icon_search.svg) no-repeat center;
 background-size: 55%;
}

/* Header
-------------------------------------------------*/
#page_head {
 display: block;
 width: 100%;
}
#page_head > .inner {
 display: flex;
 justify-content: space-between;
 padding-top: 15px;
 padding-bottom: 15px;
}

#page_head h1.hd_logo {
 flex: 0 0 30.5%;
 width: 30.5%;
 max-width: 330px;
 margin: 0 auto 0 0;
 line-height: 1;
}
#page_head h1.hd_logo a {
 display: block;
 width: 100%;
}

#page_head .inner .search_form {
 flex: 0 0 19.8%;
 align-self: flex-end;
 margin: 0 2.4% 0 auto;
}

#page_head .inner .hd_btn_block {
 flex: 0 0 23.5%;
 align-self: flex-end;
}
#page_head .hd_btn_block .text_size {
 display: flex;
 align-items: center;
}
#page_head .hd_btn_block .text_size > p {
 font-size: 12px;
 margin: 0 5px 0 auto;
}
#page_head .hd_btn_block ul.txt_size_btn {
 display: flex;
 flex: 0 0 56.7%;
 justify-content: space-between;
}
#page_head .hd_btn_block ul.txt_size_btn li {
 flex: 0 0 30.6%;
 padding: 4px 0;
 text-align: center;
 font-size: 13px;
 line-height: 1;
 color: #fff;
 background-color: #7e7e7e;
 border: 1px solid #cecece;
 cursor: pointer;
}
#page_head .hd_btn_block ul.txt_size_btn li.current {
 color: #000;
 background-color: #fad001;
}
#page_head .hd_btn_block ul.txt_size_btn li:nth-child(2) {
 margin: 0 5px;
}

#page_head .hd_btn_block ul.letter_btn {
 display: flex;
 justify-content: space-between;
 font-size: 12px;
 line-height: 1;
 margin-top: 5px;
}
#page_head .hd_btn_block ul.letter_btn li {
 text-align: center;
}
#page_head .hd_btn_block ul.letter_btn a {
 display: block;
 padding: 6px 0;
 color: #fff;
 border-radius: 5px;
 text-decoration: none;
}
#page_head .hd_btn_block ul.letter_btn li.kenpo_letter {
 flex: 0 0 41.5%;
}
#page_head .hd_btn_block ul.letter_btn li.kids_letter {
 flex: 0 0 56.7%;
}
#page_head .hd_btn_block ul.letter_btn li.kenpo_letter a {
 background-color: #141414;
}
#page_head .hd_btn_block ul.letter_btn li.kids_letter a {
 background-color: #00b49b;
}

#page_head .inner .sp_menu_btn {
 display: none;
}

/* Global Menu
-------------------------------------------------*/
#global_menu {
 display: block;
 width: 100%;
 background-color: #000;
}

#global_menu ul.menu_list {
 display: flex;
 margin: 0 auto;
 padding: 0 4.06%;
 justify-content: space-between;
 text-align: center;
}
#global_menu ul.menu_list li {
 flex: 0 0 12.5%;
 position: relative;
}
#global_menu ul.menu_list li:first-child::before,
#global_menu ul.menu_list li::after {
 content: "";
 display: block;
 width: 1px;
 height: 27px;
 background-color: #fff;
 position: absolute;
 top: 50%;
 right: 0;
 transform: translateY(-50%);
}
#global_menu ul.menu_list a,
#global_menu ul.menu_list li > span {
 display: flex;
 justify-content: center;
 align-items: center;
 width: 100%;
 height: 100%;
 padding: 1em 2.65%;
 text-decoration: none;
 line-height: 1.1;
 color: #fff;
}
#global_menu ul.menu_list li.current a{
 background-color: #fad001;
}
#global_menu ul.menu_list li:has(+.current)::after,
#global_menu ul.menu_list li:has(+.current)::before,
#global_menu ul.menu_list li.current::before,
#global_menu ul.menu_list li.current::after,
#global_menu ul.menu_list li:last-child::after {
 content: none;
}
#global_menu ul.menu_list li.current a{
 color: #000;
 /*pointer-events: none;*/
}

#page_head .sp_menu{
 display: none;
}

/* Main
-------------------------------------------------*/
#main{
 display: block;
}

#feature #main {
 background-color: #fff6d7;
}
#feature #main.autumn{
 background-color: #feedfa;
}
.flex {
 display: flex;
}
*[class*="col"] {
 flex-wrap: wrap; 
}
/* 202311 Add Start */
.flex.col3>* {
  width:33%;
  justify-content:space-between;
}
/* 202311 Add End */
ul.circle,
ul.square,
ol, ol[class] {
 list-style: none;
 margin: 2em 0;
 padding: 0;
}
ul.circle.mtb10,
ul.square.mtb10,
ol, ol[class].mtb10 {
 margin: 10px 0;
}
ul.circle > li,
ul.square > li,
ul.marker > li,
ol > li,
ol[class] > li {
 margin: 0 0 0.2em;
 padding: 0 0 0 1.2em;
}
ul.circle > li::before {
 content: "\025cf";
}
ul.square > li::before {
 content: "\025a0";
}
ul.circle > li::before,
ul.square > li::before,
ol > li::before,
ol[class] > li::before {
 vertical-align: top;
 margin: 0 0.2em 0 -1.2em;
}
ul.circle.marker_red li::before,
ul.square.marker_red li::before {
	color: #f00;
}
ul.marker > li {
	text-indent: -1em;
}
ul.marker > li > * {
	text-indent: 0;
}
ul.uline > li,
ol.uline > li {
 display: table;
 white-space: nowrap;
 border-bottom: 1px solid #000;
}
ol, ol[class] {
 counter-reset: cnt 0;
}
ol > li::before,
ol[class] > li::before {
 content: counter(cnt) ".";
 counter-increment: cnt 1; 
}
ol.brackets > li::before {
 content: "(" counter(cnt) ")";
 counter-increment: cnt 1; 	
}
ul.tbl_type {
 margin: 0;
 padding: 0;
 list-style: none;
}
ul.tbl_type li {
 display: flex;
}
ul.tbl_type li > *:nth-of-type(1) {
 flex: 0 0 7em;
}
ul.border-box,
ol.border-box,
li.border-box {
 padding: 10px;
 border: 1px solid #000;
}

ol > li > ol,
ol > li > ol[class]{
	margin: 0.5em 0 1.3em;
}
ol > li > ol > li {
	list-style-type: none;
	counter-increment: num;
}
ol > li > ol > li::before {
	content: "(" counter(num) ") ";
}
ol > li > ol.maru_deci > li {
  list-style: none;
  padding-left: 1.3em;
  text-indent: -1.3em;
}
ol > li > ol.maru_deci > li::before {
	content: none;
}
.inner,
.container {
 width: 100%;
 max-width: 1200px;
 padding: 0 4.06%;
 margin: 0 auto;
 box-sizing: border-box;
}

.container.flex #main {
 flex: 0 0 69.4%;
 width: 69.4%;
 padding: 0 4% 40px;
 box-sizing: border-box;
 border-right: 1px solid #cfcccc;
}
.container.flex #side_bar {
 flex: 0 0 30.5%;
 width: 30.5%;
 padding: 50px 0 40px 4%;
 box-sizing: border-box;
}

hr {
 border-top: 2px solid #000;
 margin: 2em auto;
}
hr.thin {
 border-width: 1px;
}
.osusume_active {display:none;}
/* Breadcrumbs ---------------------------------*/
.breadcrumbs {
 padding-top: 15px;
 padding-bottom: 15px;
}
.breadcrumbs > *:not(:first-child)::before {
 content: "\03e";
 margin: 0 0.5em;
}
.breadcrumbs a {
 color: #010101;
 text-decoration: none;
	white-space: nowrap;
}
.breadcrumbs span {
 font-weight: 700;
}
.container.flex #main .breadcrumbs {
 padding: 15px 0;
}
.breadcrumbs p {
 display: flex;
}

/* common style ---------------------------------*/
.post_head .head_img {
 flex: 0 0 48.6%;
}
.post_head h1 {
 flex: 0 0 49%;
 margin: 0 0 0 auto;
 font-weight: 900;
 font-size: 196%;
 line-height: 1.3;
 align-self: center;
}
.post_head h1 span {
 display: block;
 font-size: 75%;
}
.post_date {
 padding: 20px 0 30px;
 font-size: 112.5%;
}
.post_date > *:not(:first-child) {
 margin-left: 1em;
}
.post_lead {
 font-weight: 700;
}
.post_index {
 width: 85%;
 padding: 30px;
 margin: 30px auto;
 text-align: center;
 border: 1px solid #000;
 background-color: #fff;
}
.post_index.padding_half {
}
.post_index h2 {
 display: table;
 font-size: 125%;
 line-height: 1.2;
 text-align: center;
 margin: 0 auto;
 border-bottom: 1px solid #000;
}
.post_index ul.circle {
 display: table;
 text-align: left;
 margin: 10px auto 0;
}
.post .post_index a {
 color: #000;
 text-decoration: none;
	white-space: normal;
}
.post .post_contents > .post_index {
 padding: 15px 30px;
}
.post .post_contents > .post_index ul {
 text-align: left;
 margin: 10px auto 0;
}
.post_contents h2,
.post_contents h3,
.post_contents h4,
.post_contents h5,
.post_contents h6{
 font-weight: 900;
 position: relative;
}
.post_contents h2::after,
.post_contents h4::before,
.post_contents h5::before{
 content: "";
 display: block;
 position: absolute;
}

.post_contents h2::after {
 width: 100%;
 height: 2px;
 bottom: -0.2em;
 left: 0;
 margin-top: 4px;
 background-color: #000;
}

.post_contents h2,
.post_contents h3 {
 margin-bottom: 1.3em;
}
.post_contents h4,
.post_contents h5 {
 padding: 0 0 0 0.6em;
 line-height: 1.2;
}
.post_contents h4,
.post_contents h5,
.post_contents h6 {
 margin: 0 0 0.5em;
}
.post_contents h4::before,
.post_contents h5::before {
 display: inline-block;
 vertical-align: middle;
 width: 5px;
 height: 1.2em;
 left: 0;
 background-color: #000;
}
.post_contents h2 {
 font-size: 125%;
}
.post_contents h2 small {
 font-size: 84%;
}
.post_contents h3 {
 font-size: 112.5%;
 background-image: linear-gradient(0deg, rgba(218, 218, 218, 1) 10px, rgba(218, 218, 218, 0) 10px);
}
.post_contents h4 {
 font-size: 112.5%;
}
.post_contents h5 {
 font-size: 87.5%;
}
.post_contents h6 {
 font-size: 100%;
}
.post_contents p {
 margin-bottom: 1.3em;
}
.post table p {
 margin-bottom: 0.5em;
}
.post a {
 color: #009a85;
 text-decoration: underline;
}
.post em {
 font-style: normal;
 font-weight: 700;
 color: #f00;
}

.post ul:not([class]) {
 list-style: none;
 margin: 0 0 1.3em 0;
 padding: 0;
}
.post ul:not([class]) > li,
.post ul.dot > li,
ul.tbl_type li {
 margin: 0;
 padding: 0 0 0 0.5em;
}
.post ul:not([class]) > li::before,
.post ul.dot > li::before,
ul.tbl_type li::before {
 content: "・";
 margin: 0 0 0 -0.5em;
}

.post dl {
	margin: 0;
}
.post dl > dt {
	font-weight: 700;
	font-size: 110%;
}
.post dl > dd {
	margin: 0 0 20px;
}
.post_contents .section_lead > p {
 font-weight: 700;
 margin-bottom: 2em;
}
.post_contents .sec_child h3+p{
 margin-bottom: 0.5em;
}
.post_contents .post_img,
.post_contents .dish_img {
 margin: 0 auto 1.3em;
}
.post_contents .dish_img img {
 width: 100%;
}
.post_contents .dish_img figcaption {
 margin: 5px 0;
 padding: 0;
 text-align: left;
 font-size: 82%;
}
.post_contents .dish_img figcaption ul {
 display: flex;
 list-style: none;
 margin: 0;
}
.post_contents .dish_img figcaption ul li {
 padding: 0;
 margin: 0 2em 0 0;
}
.post_contents .dish_img figcaption ul li::before {
 content: none;
}
.post_contents .dish_img figcaption ul li span::before { 
 display: inline-block;
 vertical-align: baseline;
 width: 16px;
 height: 16px;
}
.post_contents .dish_img figcaption ul li span.kcal::before {
 content: url("/old_site/assets/images/kcal.png");
}
.post_contents .dish_img figcaption ul li span.salt::before {
 content: url("/old_site/assets/images/solt.png");
}
.post_contents .dish_img figcaption ul li span::after {
 content: "\025b6";
 margin: 0 0.2em;
 color: #999;
}

.post table {
 border:none;
 border-collapse: collapse;
 border-spacing: 0;
 margin-bottom: 20px;
}
.post table th,
.post table td {
 padding: 5px 8px;
 text-align: left;
 vertical-align: top;
}
.post table th {
 white-space: nowrap;
}

.post_contents .table_wrapp {
 width: 100%;
 margin: 0 auto 30px;
}

.table_wrapp table {
 width: 100%;
 margin: 0 auto 20px;
 border-spacing: 0;
 border-collapse: collapse;
 border: 1px solid #aaa;
}
.table_wrapp table caption {
 caption-side: top;
 text-align: left;
 font-weight: 700;
 font-size: 106.25%;
 padding-bottom: 0.5em;
}
.table_wrapp table th,
.table_wrapp table td {
 padding: 0.5em;
 box-sizing: border-box;
 border: 1px solid #aaa;
}
.table_wrapp table th {
 width: 37.5%;
}
.table_wrapp table th.th-a {
 background-color: #fbeca3;
}
.table_wrapp table th.th-b {
 background-color: #fef7d4;
}
.table_wrapp table th.th-c {
 background-color: #f1fdf2;
}
.table_wrapp table.cell-3 th {
 width: 33.3%;
}
.table_wrapp table.table-2 thead th {
 width: 50%;
}
.table_wrapp table .v-writing {
 width: 2%;
 writing-mode: vertical-rl;
 text-orientation: upright;
}

table.ingredients,
table.recipe {
 width: 100%;
 margin: 0 auto 30px;
 border-collapse: collapse;
 border-spacing: 0;
 border: none;
}
table.ingredients th,
table.ingredients td,
table.recipe th,
table.recipe td {
 text-align: left;
 padding: 5px 10px;
 border-bottom: 1px solid #000;
}
table.ingredients th {
 text-align: left;
}
table.ingredients td {
 text-align: right;
}
table.recipe th {
 width: 6%;
 padding-right: 0;
}
table.recipe td {
 padding-left: 0;
}

.post_contents p+p.caution {
 margin-top: -1em;
}
ul.table_caution {
 margin: 0 0 0 0.5em;
 padding: 0;
}
ul.table_caution,
ol.caution_jp,
p.caution {
 font-size: 81.25%; 
}
ul.table_caution li,
ul.caution > li,
p.caution {
 margin: 0 0 0.5em;
 padding: 0 0 0 1.3em;
}
ul.table_caution li::before,
p.caution.red::before {
 color: #f00;
}
ul.table_caution > li::before,
ul.caution > li::before,
p.caution::before {
 content: "\0203b";
 margin: 0 0.3em 0 -1.3em;
}
ul.table_caution ul,
ul.table_caution ol,
ol.caution,
ol.caution_jp {
 margin: 1em 0;
 padding: 0;
 list-style: none;
}
ul.table_caution > li > ul > li {
 padding: 0 0 0 2em;
}
ul.table_caution > li > ul > li::before {
 content: "(注)";
 margin: 0 0.2em 0 -2em;
}
ul.table_caution > li > ul ol,
ol.caution_jp,
ol.caution {
 list-style: none;
 counter-reset: cnt 0; 
}
ul.table_caution > li > ul ol > li {
 padding: 0 0 0 3.5em;
}
ul.table_caution > li > ul ol > li::before {
 content: "(注)(" counter(cnt) ")";
 counter-increment: cnt 1;
 margin: 0 0.5em 0 -3.5em;
}
ul.table_caution > li > ol > li,
ol.table_caution > li,
ol.caution > li {
 padding: 0 0 0 2em;
}
ul.table_caution > li > ol > li::before ,
ol.table_caution > li::before,
ol.caution > li::before {
 content: "\0203b" counter(cnt);
 counter-increment: cnt 1;
 margin: 0 0.5em 0 -2em;
}
ol.caution_jp li{
 padding: 0 0 0 4em;
}
ol.caution_jp li::before {
 content: "【注意" counter(cnt) "】";
 counter-increment: cnt 1;
 margin: 0 0.5em 0 -4em;
}
p.caution {
 margin-bottom: 1.5em;
}

div[class^="color-box-"] {
 padding: 20px;
 margin-bottom: 30px;
}
*[class^="color-box-g"] {
 background-color: #f1fdf2;
}
h3[class^="color-box-"] {
 display: table;
 margin: 0;
 padding: 10px 20px;
 background-image: none;
}

div.caution-box,
div.border-box,
div.color-box01 {               /* 202311 Add */
 padding: 20px 20px 1px 20px;
 margin-bottom: 30px;
 font-size: 93.75%;
}
div.caution-box {
 background-color: #ffdede;
}
div.border-box {
 margin: 30px auto;
 border: 1px solid #000;
 background-color: #fff;
}
/* 202311 Add Start */
div.color-box01 {
  background-color: #20B8C3;
  color: #fff;
}

.profile-box {
  margin-bottom: 30px;
}
.profile-box figure {margin-right: 20px;}
figure.mgnR10 {margin-right: 10px;}
/* 202311 Add End */

div.caution-box p,
div.border-box p {
}

div.caution-box hr,
div.border-box hr {
 margin: 1em auto;
}

div.page_navi {
 display: flex;
 justify-content: space-between;
 align-items: center;
 font-size: 125%;
}
div.page_navi a {
 text-decoration: none;
 color: #009a85;
 font-weight: 700;
}
div.page_navi p.disable a {
 pointer-events: none;
 opacity: 0.5;
}
div.page_navi p.prev a::before,
div.page_navi p.next a::after {
 content: "";
 display: inline-block;
 vertical-align: middle;
 width: 24px;
 height: 24px;
 margin: 0px 10px 4px 5px;
 background: url(../images/arrow-right.svg) no-repeat center;
 background-size: contain;
}
div.page_navi p.prev a::before {
 transform: rotate(180deg);
}
span.maru,
span.maru_r,
span.maru_b {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	margin: 0 0.2em;
	width: 22px;
	height: 22px;
	font-size: 94%;
	font-weight: bold;
	border-radius: 50%;
	border: 1px solid #000;
	line-height: 22px;
}
span.maru_r,
span.maru_b {
	color: #fff;
	border: none;
}
span.maru_r {
	background-color: #f00;
}
span.maru_b {
	background-color: #1a1311;
}

.feature_list.flex.col2 {
 align-items: center;
}
.feature_list.col2 > * {
 flex: 0 0 48.5%;
 margin-bottom: 40px;
}
.feature_list.col2 > *:not(:nth-child(odd)) {
 margin-left: auto;
}
.feature_list.col2 .feature_post {
 padding: 24px 14px;
 background-color: #fff;
 border-radius: 10px;
 box-shadow: 2px 4px 8px rgba(0,0,0,0.16);
}
.feature_list.col2 .feature_post > a {
 display: flex;
 align-items: center;
 color: #000;
 text-decoration: none;
}
.feature_list.col2 .feature_post .thumbnail {
 flex: 0 0 50%;
 margin: 0 auto 0 0;
 max-width: 50%;
 position: relative;
}
.feature_list.col2 .feature_post h3 {
 flex: 0 0 45%;
 margin: 0 0 0 auto;
 font-weight: 900;
 font-size: 1.8rem;
 line-height: 1.3;
}

.flow figure {
 display: block;
 width: 80%;
 margin: 0 auto 20px;
}
.flow figure figcaption {
 padding: 10px 0;
}
.flow figure:not(:nth-last-child(1))::after {
 content: "";
 display: block;
 width: 80px;
 height: 20px;
 margin: 20px auto 0;
 background-color: #7e7e7e;
 clip-path: polygon(0 0, 100% 0%, 50% 100%);
}


/* Category Icon
--------------------------------*/
.article_list p[class^="cat"],
.recent_posts .post p[class^="cat"] {
 padding: 0;
 font-size: 12px;
 line-height: 1;
 color: #fff;
}
.recent_posts .post p[class^="cat"] {
 position: absolute;
 top: 10px;
 left: 0;
 padding: 0 30px 0 10px;
 font-size: 15px;
 font-weight: 700;
 text-shadow: 0 0 5px rgba(0, 0, 0, 0.7);
}
.article_list p[class^="cat"]::before,
.recent_posts .post p[class^="cat"]::before {
 display: inline-block;
 vertical-align: middle;
}
.article_list p[class^="cat"]::before {
 width: 24px;
 height: 24px;
}
.recent_posts .post p[class^="cat"]::before {
 width: 35px;
 height: 35px;
 filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.7));
}
/*特集記事*/
.article_list p.cat1 {}
.recent_posts .post p.cat1 { background-color: #515ec3; }
.article_list p.cat1::before, .recent_posts .post p.cat1::before {
 content: url("../images/icon_cat01.svg");
}
/*けんぽだより*/
.article_list p.cat2 { background-color: #47ce90; }
.recent_posts .post p.cat2 { background-color: #47ce90; }
.article_list p.cat2::before, .recent_posts .post p.cat2::before {
 content: url("../images/icon_cat02.svg");
}
/*Topics*/
.article_list p.cat3 { background-color: #7eaa39; }
.recent_posts .post p.cat3 { background-color: #7eaa39; }
.article_list p.cat3::before, .recent_posts .post p.cat3::before {
 content: url("../images/icon_cat03.svg");
}
/*けんぽの保健師コラム*/
.article_list p.cat4 { background-color: #50c0c9; }
.recent_posts .post p.cat4 { background-color: #50c0c9; }
.article_list p.cat4::before, .recent_posts .post p.cat4::before {
 content: url("../images/icon_cat04.svg");
}
/*食の取り組み*/
.article_list p.cat5{ background-color: #e85fae; }
.recent_posts .post p.cat5 { background-color: #e85fae; }
.article_list p.cat5::before, .recent_posts .post p.cat5::before {
 content: url("../images/icon_cat05.svg");
}
/*衛生対策資料*/
.article_list p.cat6 {background-color: #75b43e;}
.recent_posts .post p.cat6 { background-color: #75b43e; }
.article_list p.cat6::before, .recent_posts .post p.cat6::before {
 content: url("../images/icon_cat06.svg");
}
/**/
.article_list p.cat_sp { background-color: #ff9000; }
.recent_posts .post p.cat_sp { background-color: #ff9000; }
.article_list p.cat_sp::before, .recent_posts .post p.cat_sp::before {
 content: url("../images/icon_sp.svg");
}


.is_sp {
 display: none !important;
}
.is_pc {
 display: block !important;
}

/* Side Bar
-------------------------------------------------*/
#side_bar h1 {
 font-size: 125%;
 margin-bottom: 0.8em;
}
#side_bar .recommend_post {
 margin-bottom: 30px;
}
#side_bar .recommend_post > a {
 color: #000;
 text-decoration: none;
}
#side_bar .recommend_post a .thumb {
 flex: 0 0 30%;
}
#side_bar .recommend_post .thumb img {
 aspect-ratio: 3/2;
 object-fit: cover;
 object-position: 50% 50%;
}

#side_bar .recommend_post a .post_data {
 flex: 0 0 65%;
 margin: 0 0 0 auto;
}
#side_bar .recommend_post .post_data h2 {
 font-size: 100%;
}
#side_bar .recommend_post .post_data time {
 font-size: 87.5%;
 margin-bottom: 0.5em;
}
#side_bar p.more_page_list {
 font-size: 120%;
 font-weight: 700;
 text-align: right;
}
#side_bar p.more_page_list a {
 text-decoration: none;
 color: #009a85;
}
#side_bar p.more_page_list a::before {
 content: "";
 display: inline-block;
 vertical-align: middle;
 width: 24px;
 height: 24px;
 margin: 0px 10px 4px 5px;
 background: url("../images/arrow-right.svg") no-repeat center;
 background-size: contain;
}

/* Footer
-------------------------------------------------*/
#page_foot{
 display: block;
 width: 100%;
 text-align: center;
 margin-top: 40px;
 padding: 10px 0;
 border-top: 2px solid #dadcdd;
}
#page_foot p.copyright {
 font-size: 87.5%;
}
.container +.page_top+ #page_foot {
 margin-top: 0;
}

/* Page Top
-------------------------------------------------*/
p.page_top {
 position: fixed;
 right: 2%;
 bottom: 8%;
 z-index: 10;
}
p.page_top a {
 position: relative;
 display: block;
 width: 60px;
 height: 60px;
 text-indent: -9999px;
 overflow: hidden;
 border: 2px solid #fff;
 border-radius: 50%;
 background-color: #fccf01;
 opacity: 0.9;
}
p.page_top a::before {
 content: "";
 position: absolute;
 top: 50%;
 left: 50%;
 display: block;
 width: 20px;
 height: 20px;
 border-style: solid;
 border-width: 5px 5px 0 0;
 border-color: #fff #fff transparent transparent;
 transform: rotate(-45deg) translate(-10%, -55%);
 transition: all 0.3s;
}
p.page_top a:hover {
 opacity: 0.65;
 transition: all 0.3s;
}

#sp_menubar{
 display: none;
}


/* Home Style
-------------------------------------------------*/
#main > section {
 margin: 40px auto 75px;
}
#main h2.sec_ttl {
 margin-bottom: 30px;
 font-size: 200%;
 line-height: 1;
 text-align: center;
 color: #2e2d2d;
}
#main h2.sec_ttl::after,
.letter_pdf h3::after {
 content: "";
 display: block;
 width: 70px;
 height: 2px;
 margin: 10px auto 0;
 background-color: #e5bf06;
}

/* 最新記事 -------------------------------------*/
#main > section#feature {
 overflow: hidden;
 margin-bottom: 40px;
}
#main > section#feature h2.sec_ttl {
 margin-bottom: 20px;
}
.slide {
 width: 90%;
 margin: 0 auto;
}
.slide_img {
 padding: 14px;
 box-sizing: border-box;
 border-radius: 10px;
 background-color: #fff;
 box-shadow: 2px 3px 6px rgba(0,0,0,0.3);
}
.slide_img a {
 display: flex;
 align-items: center;
 text-decoration: none;
 color: #1a1311;
}
.slide_img a .img_box {
 flex: 0 0 50%;
 margin: 0 auto 0 0;
 max-width: 50%;
 position: relative;
}
.slide_img a .txt_box {
 flex: 0 0 45%;
 margin: 0 0 0 auto;
 font-weight: 900;
 font-size: 3.0rem;
 line-height: 1.8;
}
.slide_img a .txt_box.txt-center span{
  display: block;
  margin: 0 auto;
 }
 .slide_img a .txt_box small {
  font-size: 60%;
  line-height: 1.1;
 }
.slide_img a .txt_box.txt-center small + span {
 line-height: 1;
 font-size: 100%;
 margin-top: 5px;
}

/*------------- Slick (SlideShow) -------------*/
.slick-list {
 overflow: visible;
}
.slick-slide {
 opacity: 0.4;
 margin: 10px 20px;
}
.slick-slide.slick-current {
 opacity: 1;
}
.slick-dotted.slick-slider {
 margin-bottom: 0;
 padding-bottom: 60px;
}
.slick-dots {
 bottom: 15px;
}
.slick-dots li button:before {
 font-size: 13px;
}

/* 理事長のあいさつ -----------------------------*/
#greeting .chairman_greeting {
 display: flex;
 justify-content: space-around;
}
#greeting .chairman_greeting .photo {
 flex: 0 0 30%;
 border: 1px solid #999;
 align-self: flex-start;
}
#greeting .chairman_greeting .greeting_txt {
 flex: 0 0 60%;
}
#greeting .chairman_greeting .greeting_txt p {
 text-indent: 1em;
 margin-bottom: 1.5em;
}
#greeting .chairman_greeting .greeting_txt p.name_img {
 display: block;
 width: 24%;
 margin: 10px 10px 0 auto;
}

/* 最新記事 -------------------------------------*/
#main > section#home_recent {
 padding: 20px 0 60px;
 margin-bottom: 15px;
 background-color: #fccf01;
}

#main #home_recent h2.sec_ttl::after {
 background-color: #646464;
}
.recent_posts.col4 > *{
 flex: 0 0 22.5%;
 margin: 0 0 2.8vw 3.33%;
}
.recent_posts.col4 > *:nth-of-type(4n+1) {
 margin-left: 0;
}
.recent_posts .post {
 position: relative;
 padding: 10px;
 border-radius: 5px;
 background-color: #fff;
 box-shadow: 2px 4px 7px rgba(0,0,0,0.16);
 transform: scale(1);
 transition: all 0.4s;
}
.recent_posts .post:hover,
.recent_posts .img_bnr:hover {
 transform: scale(1.1);
 transition: all 0.4s;
}
#home_recent .recent_posts .post {
 padding: 38px 10px 10px;
}
.recent_posts .post a {
 text-decoration: none;
 color: #1a1311;
}
.recent_posts .post h3 {
 margin: 10px auto 0;
 text-align: center;
 color: #1a1311;
 font-size: 113%;
 font-weight: 700;
 line-height: 1.3;
}

#home_recent .recent_posts .img_bnr {
	display: flex;
 padding: 0;
 align-items: center;
 border-radius: 5px;
 box-shadow: 2px 4px 7px rgba(0,0,0,0.16);
 overflow: hidden;
 transition: all 0.4s;
}
#home_recent .recent_posts .img_bnr a,
#home_recent .recent_posts .img_bnr img {
	flex: 0 0 100%;
	width: 100%;
}
#home_recent .recent_posts .img_bnr.enquete {
	background-color: #465499;
}


/* カテゴリ -------------------------------------*/
#categories ul.cat_list {
 margin: 0 auto;
}
#categories ul.cat_list.col2 > *{
 flex: 0 0 48.5%;
 margin-bottom: 40px 
}
#categories ul.cat_list.col2 > *:nth-child(even) {
 margin-left: auto;
}
#categories ul.cat_list a {
 display: flex;
 align-items: center;
 width: 100%;
 min-height: 120px;
 padding: 10px 20px;
 box-sizing: border-box;
 border: 3px solid #48b5a6;
 border-radius: 10px;
 font-weight: 700;
 text-decoration: none;
 position: relative;
}
#categories ul.cat_list a .cat_name {
 flex: 0 0 auto;
 min-width: 42%;
}
#categories ul.cat_list a .cat_name h3.cat_ttl {
 margin-bottom: 10px;
 font-size: 182%;
 letter-spacing: -0.04em;
 color: #006759;
 border-bottom: 2px solid #cecece;
}
#categories ul.cat_list a .cat_name p.go_list {
 font-size: 120%;
 color: #009a85;
}
#categories ul.cat_list a .cat_name p.go_list::before {
 content: "";
 display: inline-block;
 vertical-align: middle;
 width: 24px;
 height: 24px;
 margin: 0px 10px 4px 5px;
 background: url("../images/arrow-right.svg") no-repeat center;
 background-size: contain;
}

#categories .cat_img {
 position: absolute;
 bottom: 0;
 right: 0;
 height: 115px;
 max-height: 115px;
}
#categories .cat_img img {
 width: auto;
 height: 100%;
 transition: all 0.2s
}

/* 健康情報 -------------------------------------*/
#health_info .info_list.col4 > * {
 flex: 0 0 24%;
 margin-bottom: 30px;
}
#health_info .info_list.col4 > *:not(:first-child) {
 margin-left: auto;
}
#health_info .health_post .thumb {
 margin-bottom: 10px;
}
#health_info .health_post a {
 text-decoration: none;
 color: #333;
 font-weight: 700;
 line-height: 1.3;
}

/* けんぽだより
--------------------------------*/
#kenpopo_letter #main > section > h2::after {
 content: none;
}  
.letter_pdf {
 padding: 40px 0 0;  /*202311 Change before 40px 0 50px */
 text-align: center;
}
.letter_pdf h3 {
 font-size: 150%;
 margin-bottom: 1em;
 /*margin: 0.5em 0;  202311　Del*/
}
.letter_pdf:nth-of-type(odd) {
 background-color: #f6f6f6;
}

.letter_pdf > .inner.flex {
 max-width: 850px;
 padding: 0 0 40px 0;  /*202311 Change before 0 */
}
.letter_pdf > .inner > *:nth-child(1) {
 flex: 0 0 22%;
 margin: 0 auto 0 0;
}
.letter_pdf > .inner > *:nth-child(2) {
 flex: 0 0 72%;
 margin: 0 0 0 auto;
}
.letter_pdf ul.article_list li {
 display: flex;
 align-items: flex-start;
 justify-content: space-between;
 text-align: left;
 margin-bottom: 0.3em;
}
.letter_pdf ul.article_list li > *:nth-child(1) {
 flex: 0 0 24%;
}
.letter_pdf ul.article_list li > *:nth-child(2) {
 flex: 0 0 73%;
 margin: 0 0 0 auto;
 word-break: break-all;
}

.letter_pdf figcaption {
 padding: 0.5em 0;
 text-align: center;
}
.letter_pdf figcaption em {
	font-style: normal;
	font-weight: 700;
	color: #f00;
}
.letter_pdf a.pdf_dl {
 color: #009a85;
 font-weight: 700;
 text-decoration: none;
}
.letter_pdf a.pdf_dl::before {
 content: "";
 width: 16px;
 height: 16px;
 display: inline-block;
 vertical-align: middle;
 margin: 0 10px 0 0;
 background: url(../images/icon_dl.svg) no-repeat center;
 background-size: cover;
}
.pdf_list {
 flex: none;
 display: flex;
 flex-wrap: wrap;
 column-gap: 4.5%;
 row-gap: 30px;
 width: 80%;
 margin: 0 auto !important;
 align-items: flex-start;
 justify-content: flex-start;
}
.pdf_list figure.pdf_link {
 flex: 0 0 21.6%;
}
.pdf_list figure.pdf_link img {
 border: 1px solid #ccc;
}

ul.case {
 display: flex;
 align-items: center;
 justify-content: space-around;
 padding: 30px 10px;
 background-color: #fff9dd;
 border: 1px solid #000;
}
ul.case li {
 flex: 0 0 30%;
 padding: 10px;
 text-align: center;
 color: #fff;
 font-weight: 700;
 background-color: #e77a7c;
 border-radius: 5px;
}
.flow_box {
 width: 65%;
 margin: 0 auto 40px;
}
.flow_box .flow {
 padding: 30px 30px 0;
 margin: 0 auto 60px;
 border-radius: 10px;
 border: 3px double #999;
 position: relative;
}
.flow_box .flow:not(:nth-last-of-type(1))::after {
 content: "";
 display: block;
 width: 60px;
 height: 30px;
 clip-path: polygon(50% 100%, 0 0, 100% 0);
 background-color: #1969C9;
 position: absolute;
 left: 50%;
 bottom: -50px;
 transform: translateX(-50%);
}


/* For Responsive Style
-------------------------------------------------*/
@media only screen and (max-width: 1200px){
 html {
  font-size: 0.835vw;
 }
 #page_head .hd_btn_block .text_size > p,
 #page_head .hd_btn_block ul.letter_btn {
  font-size: 1.01vw;
 }
 #page_head .hd_btn_block ul.txt_size_btn li {
  font-size: 1.1vw;
 }
 .search_form form input[type="submit"] {
  width: 2vw;
  height: 2vw;
  background-size: 65%;
 }
 .article_list p[class^="cat"],
 .recent_posts .post p[class^="cat"] {
  white-space: nowrap;
  font-size: 1.3vw;
 }
 .recent_posts .post p[class^="cat"]::before {
  width: 2.92vw;
  height: 2.92vw;
 }
 .recent_posts .post {
  padding: 3.5vw 1.2vw 1.2vw;
 }
 #categories .cat_img {
  height: 20vw;
 }
 #categories .cat_img img {
  width: auto;
  margin: 0 0 0 auto;
  object-fit: cover;
  object-position: 0% 0%;
 }
 p.page_top a {
  width: 8.341vw;
  height: 8.341vw;
 }
 p.page_top a::before {
  width: 2.3vw;
  height: 2.3vw;
 }
}


/* For Mobile Style
-------------------------------------------------*/
@media only screen and (max-width: 767px){
 body{
  font-family: -apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif;
  font-size: 3.8vw;
  line-height: 1.6;
 }
 
 #page_head,
 #main .page_title,
 #main section,
 #footer {
  min-width: 100%;
 }
 .is_sp {
  display: block !important;
 }
 .is_pc {
  display: none !important;
 }

/* Header ---------------------------------------*/
 #page_head {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  background-color: #fff;
  border-bottom: 1px solid #e8e8e8;
 }
 #page_head .inner {
  padding: 10px 15px;
 }
 #page_head h1.hd_logo {
  flex: 0 0 42%;
  width: 42%;
 }
 #page_head .inner .search_form,
 #page_head .inner .hd_btn_block {
  display: none;
 }
 #page_head .inner .sp_menu_btn {
  display: block;
  align-self: center;
  flex: 0 0 8vw;
  width: 8vw;
  height: 8vw;
  position: relative;
  cursor: pointer;
 }
 #page_head .inner .sp_menu_btn span {
  top: 50%;
 }
 #page_head .inner .sp_menu_btn::before,
 #page_head .inner .sp_menu_btn::after {
  content: "";
 }
 #page_head .inner .sp_menu_btn span,
 #page_head .inner .sp_menu_btn::before,
 #page_head .inner .sp_menu_btn::after {
  display: block;
  width: 100%;
  height: 2px;
  border-radius: 2px;
  position: absolute;
  left: 0;
  background-color: #000;
  transition: all 0.3s;
 }
 #page_head .inner .sp_menu_btn::before {
  top: 23%;
 }
 #page_head .inner .sp_menu_btn::after {
  top: 80%;
 }
 #page_head .inner .sp_menu_btn.enabled span {
  opacity: 0;
  transform: translateX(10px);
 }
 #page_head .inner .sp_menu_btn.enabled::before {
  top: 50%;
  transform: rotate(315deg) translate(0%, 0%);
 }
 #page_head .inner .sp_menu_btn.enabled::after {
  top: 50%;
  transform: rotate(-315deg) translate(0%, 0%);
 }
 
/* Global Menu ---------------------------------------*/
 #global_menu {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 1000;
  background-color: rgba(255,255,255,0.94);
  overflow: scroll;
 }
 #global_menu ul.menu_list.inner {
  display: block;
  padding: 0;
  border-top: 1px solid #e8e8e8;
 }
 #global_menu ul.menu_list li {
  border-bottom: 1px solid #e8e8e8;
 }
 #global_menu ul.menu_list li:first-child::before,
 #global_menu ul.menu_list li::after {
  content: none;
 }
 #global_menu ul.menu_list a {
  padding: 12px 0;
  font-size: 130%;
  color: #1a1311;
 }
 #global_menu ul.menu_list li br {
  display: none;
 }
 #page_head .sp_menu {
  display: block;
  margin-bottom: 20vh;
 }
 #page_head .sp_menu .hd_btn_block {
  padding: 15px 0 0;
  border-bottom: 1px solid #e8e8e8;
 }
 #page_head .sp_menu .hd_btn_block ul.letter_btn {
  justify-content: center;
  width: 80%;
  margin: 0 auto;
  font-size: 3.8vw;
 }
 #page_head .sp_menu .hd_btn_block ul.letter_btn li[class] {
  flex: 0 0 48%;
  margin: 0 auto 15px;
  width: 70%;
 }
 #page_head .sp_menu .search_form {
  width: 70%;
  margin: 15px auto;
 }
 #page_head .sp_menu .search_form form input[type="search"] {
  font-size: 120%;
  width: calc(100% - 8vw);
 }
 #page_head .sp_menu .search_form form input[type="submit"] {
  width: 8vw;
  height: 8vw;
  background-size: 55%;
 }
 
 
/* Main ---------------------------------------*/
 #main {
  padding-top: 9vh;
 }
 #main > section {
  padding: 10px 0 30px;
  margin: 0 auto;
 }
 #main h2.sec_ttl {
  font-size: 180%;
  margin-bottom: 20px;
 }
 #main h2.sec_ttl::after {
  width: 10vw;
  margin: 5px auto 0;
 }
 .breadcrumbs {
  font-size: 75%;
  display: block !important;
 }
 .breadcrumbs p,
 .breadcrumbs a {
  display: inline;
 }
 .feature_list.flex.col2 {
  display: block;
 }
 .feature_list.col2 > * {
  flex: none;
  margin: 0 auto 20px;
 }
 .feature_list.col2 .feature_post {
  padding: 12px 7px;
 }
 .feature_list.col2 .feature_post h3 {
  font-size: 3.1vw;
  line-height: 1.4;
 }
 .recent_posts .post h3 {
  font-size: 90%;
 }
 .container.flex {
  display: block;
  padding: 60px 0 0;
  margin: 0;
 }
 .container.flex #main,
 .container.flex #side_bar {
  width: 100%;
  margin: 0;
  padding: 0 4% 20px;
 }
 .container.flex #side_bar {
  padding-top: 20px;
 }
 .post_head .main_visual.flex {
  display: block;
 }
 .post_head .head_img {
  margin: 0 -4% 1.3em;
 }
 .post_head h1 {
  font-size: 224%;
  margin-bottom: 1.3em;
 }
 .post_date {
  padding: 10px 0 15px;
 }
 .post_index {
		padding: 25px;
  width: 100%;
 }
	.post_index ul.circle {
  width: 100%;
 }
 .post_index ul.uline > li {
  width: 100%;
 }
 .post_contents .post_img {
  margin: 0 auto 1.3em;
 }
 .flow figure {
  width: 100%;
 }

 
 div.page_navi,
 #side_bar p.more_page_list {
  font-size: 75%;
 }
 div.page_navi p.prev a::before,
 div.page_navi p.next a::after,
 #side_bar p.more_page_list a::before {
  width: 4.2vw;
  height: 4.2vw;
 }
 #side_bar .recommend_post .post_data h2 {
  font-size: 90%;
 }
 
/* Home Style
 特集記事 -------------------------------------*/
 #main > section#feature {
  padding: 10px 0;
  margin: 20px auto;
 }
 #main > section#feature .inner {
  padding: 0;
 }
 .slide {
  width: 98%;
 }
 .slide_img {
  padding: 7px;
 }
 .slide_img a .txt_box {
  font-size: 3.0vw;
 }
 .slick-slide {
  margin: 0 5px;
 }
 .slick-dotted.slick-slider {
  padding-bottom: 30px;
 }
 .slick-dots {
  bottom: 0;
 }
 .slick-dots li {
  margin: 0 2px;
 }
 .slick-dots li button:before {
  font-size: 12px;
 }
 
/* 最新記事 -------------------------------------*/
 #main > section#home_recent {
  padding: 30px 0;
  margin-bottom: 0;
 }
 .recent_posts.col4 > * {
  flex: 0 0 48%;
 }
 .recent_posts.col4 > *:nth-of-type(2n+1) {
  margin-left: 0;
 }
 .recent_posts .post {
  padding: 6vw 1.5vw 1.5vw;
 }
 .recent_posts .post p[class^="cat"] {
  top: 6px;
  padding: 0 4vw 0 1.5vw;
 }
 .recent_posts .post p[class^="cat"]::before {
  width: 5.5vw;
  height: 5.5vw;
 }
 .article_list p[class^="cat"],
 .recent_posts .post p[class^="cat"] {
  white-space: nowrap;
  font-size: 2.8vw;
 }
 
/* カテゴリ -------------------------------------*/
 #main > section#categories,
 #main > section#health_info{
  padding-top: 60px;
  margin-top: -30px;
  background-color: #f5f2f1;
 }
 #categories ul.cat_list {
  display: block;
 }
 #categories ul.cat_list.col2 > * {
  margin-bottom: 24px;
 }
 #categories .cat_img {
  height: 34vw;
 }
 #categories ul.cat_list a {
  padding: 10px 15px;
  min-height: 94px;
  background-color: #fff;
 }
 #categories ul.cat_list a .cat_name {
  min-width: 45%;
 }
 #categories ul.cat_list a .cat_name h3.cat_ttl {
  padding-right: 5vw;
  margin-bottom: 5px;
  font-size: 128%;
  letter-spacing: normal;
  white-space: nowrap;
 }
 #categories ul.cat_list a .cat_name p.go_list {
  font-size: 100%;
 }
 #categories ul.cat_list a .cat_name p.go_list::before {
  width: 4.5vw;
  height: 4.5vw;
  margin: 0 5px 2px 2px;
 }
 #categories .cat_img {
  height: 25vw;
 }
 #categories .cat_img img {
  width: auto;
  height: 100%;
 }
 
/* 健康情報 -------------------------------------*/
 #health_info .info_list.col4 > * {
  flex: 0 0 48%;
 }
 #health_info .info_list.col4 > *:not(:first-child) {
  margin-left: auto;
 }
 #health_info .info_list.col4 > *:nth-child(odd) {
  margin-left: 0;
 }
 #health_info .health_post {
  font-size: 90%;
 }
 
/* けんぽだより
--------------------------------*/
 .letter_pdf {
  padding: 20px 0 25px;
 }
 .letter_pdf h3 {
  font-size: 150%;
  /*margin-bottom: 1em; 202311 Del*/
  margin: 0.5em 0;
 }
 .letter_pdf:nth-of-type(odd) {
  background-color: #f6f6f6;
 }

 .letter_pdf > .inner.flex {
  display: block;
 }
 .letter_pdf > .inner > *:nth-child(1) {
  flex: none;
  width: 50%;
  margin: 0 auto 20px;
 }
 .letter_pdf > .inner > *:nth-child(2) {
  flex: none;
  margin: 0 auto;
 }
 .letter_pdf ul.article_list li {
  display: block;
  width: 80%;
  margin: 0 auto 10px;
 }

 .letter_pdf ul.article_list li > *:nth-child(1) {
  display: inline-block;
  min-width: 50%;
  padding: 0 10px 0 0;
  margin: 0 0 0.2em;
 }
 .letter_pdf ul.article_list li > *:nth-child(2) {
  width: 100%;
  margin: 0 auto;
 }
 .letter_pdf figcaption {
  padding: 0.5em 0;
  text-align: center;
 }
 .letter_pdf a.pdf_dl {
  color: #009a85;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
 }
 .letter_pdf a.pdf_dl::before {
  content: "";
  width: 16px;
  height: 16px;
  display: inline-block;
  vertical-align: middle;
  margin: 0 10px 0 0;
  background: url(../images/icon_dl.svg) no-repeat center;
  background-size: cover;
 }
 .letter_pdf .inner .pdf_list {
  width: 100%;
  column-gap: 6%;
 }
 .letter_pdf .inner .pdf_list figure.pdf_link {
  flex: 0 0 47%;
 }
 
 
/* Footer ---------------------------------------*/
 #page_foot {
  margin-top: 0;
 }
 
 
/* Page Top -------------------------------------*/
 p.page_top {
  position: relative;
  bottom: auto;
  right: auto;
  margin: 10px auto;
 }
 p.page_top a{
  margin: 0 auto;
  width: 16vw;
  height: 16vw;
 }
 p.page_top a::before {
  width: 5.4vw;
  height: 5.4vw;
  border-width: 4px 4px 0 0;
  transform: rotate(-45deg) translate(-20%, -50%);
 }
 
 
 ul.case {
  display: block;
  padding: 15px;
 }
 ul.case li {
  flex: none;
  width: 100%;
  margin-bottom: 15px;
 }
 ul.case li:nth-last-of-type(1) {
  margin-bottom: 0;
 }
 .flow_box {
  width: 90%;
 }
 .flow_box .flow {
  padding: 15px 15px 0;
  margin: 0 auto 35px;
 }
 .flow_box .flow:not(:nth-last-of-type(1))::after {
  content: "";
  display: block;
  width: 60px;
  height: 20px;
  bottom: -30px;
 }
}
/*-------------------------------------------------
End Mobile Style */


/* Login Form
-------------------------------------------------*/
#login_form {
 width: 93%;
 max-width: 1100px;
 margin: 20px auto;
 padding: 7%;
 font-size: 141%;
 font-weight: 700;
 color: #fff;
 background-color: #000080;
}
#login_form form.form {
	margin: 0 auto 30px;
}
#login_form p.message {
 font-size: 89%;
 font-weight: 400;
 margin-bottom: 2em;
}
#login_form p.lonin_lead {
 margin: 1em 0;
}
#login_form .login_input {
 display: flex;
 align-items: center;
 font-size: 122%;
 margin-bottom: 30px;
}
#login_form .login_input p.dt {
 flex: 0 0 18%;
}
#login_form .login_input input {
 flex: 0 0 30%;
 padding: 4px 10px;
 border-radius: 5px;
 border: none;
}
#login_form .login_btn {
 text-align: center;
}
#login_form .login_btn button {
 padding: 10px 20px;
 margin: 0 auto;
 color: #000;
 border: none;
 border-radius: 10px;
 background-color: #fff;
 cursor: pointer;
}

@media only screen and (max-width: 767px){
 #login_form {
  font-size: 110%;
 }
 #login_form .login_input {
  display: block;
 }
 #login_form .login_input p.dt,
 #login_form .login_input input {
  display: block;
  width: 100%;
 }
 
}
/*-------------------------------------------------
End Login Form */

/* Start Interview List 20240617update
-------------------------------------------------*/
figure figcaption {
	padding: 10px 5px;
	font-size: 85%;
}
dl.interview {}
dl.interview dt.qes {
	margin-bottom: 1em;
	font-weight: 700;
	color: #3869be;
	padding-left: 1em;
	padding-bottom: 0.5em;
	text-indent: -1em;
	border-bottom: 1px solid #3869be;
}
dl.interview dt.qes::before {
	content: "━";
	margin-right: 5px;
}
dl.interview dd {
	margin-bottom: 1.5em;
}
dd.ans_img {
 display: flex;
 align-items: flex-start;
	column-gap: 1%;
}
dd.ans_img span {
	white-space: nowrap;
	font-size: 75%;
	font-weight: 700;
	color: #3869be;
}
dd.ans_img span.thumb {
		white-space: normal;
	flex: 0 0 70px;
	margin-right: 10px;
	text-align: center;
}
dd.ans_img span.thumb img {
	display: block;
	margin: 0 auto 5px;
}
.interview_img figcaption {
	background-color: #fbeca3;
}
p.interview_end {
	font-weight: 700;
	font-size: 120%;
}
@media only screen and (max-width: 767px){
 dd.ans_img {
  flex-wrap: wrap;
 }
 dd.ans_img > p {
  flex: 0 0 calc(100% - 85px);
 }
 dd.ans_img > p.sp_fullsize {
  flex: 0 0 100%;
		margin-top: 10px;
 }
}
/*-------------------------------------------------
End Interview List */


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

/* For Print Style
-------------------------------------------------*/
@media print {
 body {
  padding-left: 0;
  width: 1200px;
  transform: scale(0.88);
  transform-origin: 0 0;
 }
}
@page {
 size: A4;
 margin-bottom: -57.73mm;
}
/*-------------------------------------------------
End Print Style */

