@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@300;400&family=Noto+Sans+JP:wght@500&display=swap');

/* ------------------------------
 見出し&テキスト
------------------------------ */
/* h1 */
h1, .headering p,
.contentsHome h2 {
	position: relative;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 2.6rem;
	font-weight: 500;
	line-height: 1;
	color: #333;
	margin-bottom: 30px;
}
h1 span, .headering p span,
.contentsHome h2 span {
	display: block;
	font-family: 'Josefin Sans', sans-serif;
	font-size: 7.5rem;
	font-weight: 300;
	line-height: 1.0;
	color: #0f8970;
}
h1, .headering p {
	font-size: 2.8rem;
}
h1 span, .headering p span {
	font-size: 8.5rem;
}
h1::before, .headering p::before,
.contentsHome h2::before {
	content: "";
	position: absolute;
	width: 27px;
	height: 3px;
	top: 30px;
	left: -45px;
	background: rgb(15,137,112);
	background: linear-gradient(90deg, rgba(15,137,112,1) 33.3333%, rgba(241,115,97,1) 33.3333%, rgba(241,115,97,1) 66.6666%, rgba(252,185,76,1) 66.6666%);
}
/* h2 */
.contentsTop h2,
.contents h2 {
	position: relative;
	font-size: 2.8rem;
	line-height: 1.4;
	font-weight: bold;
	padding-top: 20px;
	margin-bottom: 30px;
}
.contentsTop h2::before,
.contents h2::before {
	content: "";
	position: absolute;
	width: 27px;
	height: 3px;
	top: 0;
	left: 0;
	background: rgb(15,137,112);
	background: linear-gradient(90deg, rgba(15,137,112,1) 33.3333%, rgba(241,115,97,1) 33.3333%, rgba(241,115,97,1) 66.6666%, rgba(252,185,76,1) 66.6666%);
}
/* h3 */
h3 {
	position: relative;
	font-size: 2.4rem;
	line-height: 1.4;
	font-weight: bold;
	padding-left: 20px;
	margin-bottom: 20px;
}
h3::before {
	content: "";
	position: absolute;
	width: 2px;
	height: 28px;
	left: 0;
	top: 3px;
	background-color: #0f8970;
}
/* h4 */
h4 {
	font-size: 2.1rem;
	line-height: 1.4;
	font-weight: bold;
	color: #0f8970;
	margin-bottom: 20px;
}
/* lead */
.lead {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 2.2rem;
	font-weight: 500;
}
/* ------------------------------
 スマホ用コード（見出し）
------------------------------ */
@media screen and (max-width: 767px) {
	/* h1 */
	h1, .headering p,
	.contentsHome h2 {
		font-size: 2.4rem;
		text-align: center;
		padding-top: 30px;
	}
	h1 span, .headering p span,
	.contentsHome h2 span {
		font-size: 6.0rem;
		line-height: 1;
		margin-bottom: 0;
	}
	h1, .headering p {
		font-size: 2.1rem;
	}
	h1 span, .headering p span {
		font-size: 4.6rem;
	}
	h1::before, .headering p::before,
	.contentsHome h2::before {
		top: 0;
		left: 50%;
		transform: translateX(-50%);
	}
	/* h2 */
	.contentsTop h2,
	.contents h2 {
		font-size: 2.4rem;
		margin-bottom: 20px;
	}
	/* h3 */
	h3 {
		font-size: 2.1rem;
	}
	h3::before {
		top: 0;
	}
	/* h4 */
	h4 {
		font-size: 1.8rem;
		margin-bottom: 10px;
	}
	/* lead */
	.lead {
		font-size: 1.8rem;
	}
}

/* ------------------------------
 ボックス
------------------------------ */
/* -- 横並び --- */
.flexBox {
	display: flex !important;
	flex-wrap: wrap;
}
.flexBox::after {
	content: none;
}
/* 横並び センター揃え */
.flexBox.jc-c {
	justify-content: center;
}
/* 横並び 端揃え */
.flexBox.jc-sb {
	justify-content: space-between;
}
/* 横並び 縦センター揃え */
.flexBox.ai-c {
	align-items: center;
}
/* 横並び4列（SP横並び2列） */
.flexBox.div4 {
	flex-wrap: wrap;
}
/* ------------------------------
 横幅グリッド PC用限定CSS
------------------------------ */
@media print, screen and (min-width: 768px) {
	/* -- 1/2 --- */
	.w1-2 {
		width: 47.895% !important;
	}
	.w546 {
		width: 546px;
	}

	/* -- 1/3 --- */
	.w1-3 {
	    width: 30.702%;
	}
	.w350 {
	    width: 350px;
	}
	.w1-3.cms_fl + .w1-3.cms_fl,
	.w1-3.fl + .w1-3.fl {
		margin-left: 3.94736%;
	}
	.w350.cms_fl + .w350.cms_fl,
	.w350.fl + .w350.fl {
		margin-left: 45px;
	}
	/* -- 2/3 --- */
	.w2-3 {
	    width: 65.351%;
	}
	.w745 {
	    width: 745px;
	}
	/* -- 1/4 --- */
	.w1-4 {
		width: 22.632%;
	}
	.w258 {
		width: 258px;
	}
	.w1-4.cms_fl + .w1-4.cms_fl,
	.w1-4.fl + .w1-4.fl {
		margin-left: 3.15789%;
	}
	.w258.cms_fl + .w258.cms_fl,
	.w258.fl + .w258.fl {
		margin-left: 36px;
	}
	/* -- 3/4 --- */
	.w3-4 {
		width: 74.211%;
	}
	.w846{
		width: 846px;
	}
	/* -- 1/5 --- */
	.w208{
		width: 208px;
	}
	.w1-5 {
		width: 18.246%;
	}
	.w208.cms_fl + .w208.cms_fl,
	.w208.fl + .w208.fl {
		margin-right: 25px;
	}
	.w1-5.cms_fl + .w1-5.cms_fl,
	.w1-5.fl + .w1-5.fl {
		margin-right: 2.194%;
	}
	/* -- 3/5 --- */
	.w3-5 {
		width: 59.123%;
	}
	/* -- 4/5 --- */
	.w4-5 {
		width: 79.562%;
	}
	/* -- その他 --- */
	.cms_block {
		width: 1140px;
	}
	.mainContents .cms_block {
		width: 100%;
	}
	.wide {
		width: 100%;
	}
	.wide:not(.flexBox) > * {
		width: 1140px;
		margin-left: auto;
		margin-right: auto;
	}
	.w-auto {
		width: auto;
	}
	.w980 {
		width: 980px;
	}

	.w745 {
		width: 745px;
	}

	.w300{
		width: 300px;
	}
	.w300.fl{
		margin-right: 40px;
	}
	.w300.fl + .w300.fr{
		margin-right: 0;
	}

	/* 横並び2列 */
	.flexBox.div2 {
		flex-wrap: wrap;
	}
	.flexBox.div2 > * {
		width: 470px;
		margin-bottom: 0;
	}
	.flexBox.div2 > *:nth-child(n+3) {
		margin-top: 40px;
	}
	.flexBox.div2 > *:not(:nth-child(2n+1)) {
		margin-left: 40px;
	}
	/* 横並び3列 */
	.flexBox.div3 {
		flex-wrap: wrap;
	}
	.flexBox.div3 > * {
		width: 300px;
		margin-bottom: 0;
	}
	.flexBox.div3 > *:nth-child(n+4) {
		margin-top: 40px;
	}
	.flexBox.div3 > *:not(:nth-child(3n+1)) {
		margin-left: 40px;
	}
	/* 横並び4列（SP横並び2列） */
	.flexBox.div4 > * {
		width: 224px;
		margin-bottom: 0;
	}
	.flexBox.div4 > *:nth-child(n+5) {
		margin-top: 40px;
	}
	.flexBox.div4 > *:not(:nth-child(4n+1)) {
		margin-left: 28px;
	}
}
/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	.w1-4,
	.w258 {
		width: 47.25%;
	}
	.w1-4.cms_fl,
	.w258.cms_fl {
		float: left !important;
	}
	.w1-4.cms_fl + .w1-4.cms_fl,
	.w258.cms_fl + .w258.cms_fl,
	.w1-4.cms_fl + .w1-4.cms_fl + .w1-4.cms_fl + .w1-4.cms_fl,
	.w258.cms_fl + .w258.cms_fl + .w258.cms_fl + .w258.cms_fl {
		margin-left: 5.5%;
	}
	.w1-4.cms_fl + .w1-4.cms_fl + .w1-4.cms_fl,
	.w258.cms_fl + .w258.cms_fl + .w258.cms_fl {
		margin-bottom: 0;
		margin-left: 0%;
	}

	/* 横並び2列・横並び3列 */
	.flexBox.div2,
	.flexBox.div3 {
		display: block !important;
	}
	/* 横並び4列（SP横並び2列） */
	.flexBox.div4 > * {
		width: 47.25%;
	}
	.flexBox.div4 > *:not(:nth-child(2n+1)) {
		margin-left: 5.5%;
	}

	/* -- 横幅100％ --- */
	.cms_block:not(.wide) {
		margin-left: 5% !important;
		margin-right: 5% !important;
	}

	/* -- その他 --- */
	.cms_block.wide {
		padding-left: 5%;
		padding-right: 5%;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

/* ------------------------------
 背景
------------------------------ */
.bg {
	background-color: #f8f5f0;
	padding: 45px 50px;
	border-radius: 15px;
}
/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	.bg {
		padding: 20px;
		border-radius: 10px;
	}
}

/* ------------------------------
 画像
------------------------------ */
.r img,
.cms_image img {
	border-radius: 15px;
}
/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	.r img,
	.cms_image img {
		border-radius: 7px;
	}
}

/* ------------------------------
 テーブル
------------------------------ */
table {
	width: 100%;
	border-collapse: separate;
	border-radius: 15px;
	overflow: hidden;
}
table thead th {
	text-align: center;
	vertical-align: middle;
}
table th,
table td {
	text-align: left;
	vertical-align: top;
}
table th {
	font-weight: bold;
	background-color: #f4efe6;
	padding: 15px 25px;
}
table td {
	background-color: #f9f7f2;
	padding: 15px 25px;
}
table tr:not(:last-child) th, table tr:not(:last-child) td {
	border-bottom: solid 1px #fff;
}

/* ノーマルテーブル */
.normal table {
	border-radius: 0;
}
.normal table tr th,
.normal table tr td {
	line-height: 1.7;
	padding: 0;
}
.normal table th {
	width: 15%;
    color: #000;
	background: transparent;
}
.normal table td {
	background: transparent;
}
.normal table tr:not(:last-child) th, .normal table tr:not(:last-child) td {
	border-bottom: none;
}
@media print, screen and (min-width: 768px) {
	table th {
		width: 35%;
	}
	.normal table th {
		width: auto;
	}
	.normal table tr:not(:last-child) th,
	.normal table tr:not(:last-child) td {
		padding: 0 0 3px;
	}
}
/* ------------------------------
 スマホ用コード（テーブル）
------------------------------ */
@media screen and (max-width: 767px) {
	table {
		border-radius: 7px;
	}
	table th,
	table td {
		padding: 10px 15px;
	}
	table tr:last-child th {
		border-bottom: solid 1px #fff;
	}

	.normal table {
		border-radius: 0;
	}
	.normal table tr:not(:last-child) td:last-child {
		padding: 0 0 7px;
	}

	/* レスポンシブ */
	.res table th {
		width: auto !important;
		display: block;
	}
	.res table td {
		width: auto !important;
		display: block;
	}

	/* 横スクロール */
	.scroller {
		width: 100% !important;
    	overflow: auto !important;
    	padding-left: 0em;
    	padding-right: 0em;
	}
	.scroller table {
		font-size: 14px;
		width: 800px !important;
		margin: 0 auto;
	}
	.scroller table th, .scroller table td {
		padding: 5px 10px;
	}
	/* スクロールヒント */
	.scroller .scroll-hint-icon {
		top: 50%;
		transform: translateY(-50%);
	}
}

/* ------------------------------
 リスト
------------------------------ */
/* -- ノーマルリスト -- */
.cms_text ul li {
	text-indent: -7px;
	margin-left: 16px;
}
.cms_text ul li::before {
	content: "●";
	display: inline-block;
	font-size: 1.0rem;
	color: #0f8970;
	vertical-align: middle;
	margin-right: 3px;
	margin-bottom: 1px;
}
.cms_text ul li + li:not(.pageLink li) {
	margin-top: 3px;
}

.pageLink .cms_text ul li {
	text-indent: 0;
	margin-left: 0;
}
.pageLink .cms_text ul li::before {
	content: none;
}

/* -- 注釈リスト -- */
.noteList ul li {
	line-height: 1.7;
	padding-left: 16px;
	position: relative;
}
.noteList ul li:before {
	content: "※";
	position: absolute;
	top: 0;
	left: 0;
}

/* -- 数字リスト -- */
ol > li {
	line-height: 1.6;
	list-style-type: none;
	counter-increment: cnt 1;
	text-indent: -23px;
    margin-left: 46px;
}
ol > li + li {
	margin-top: 5px;
}
ol > li:before {
	content: counter(cnt, decimal-leading-zero)".";
	display: inline-block;
	width: 14px;
	font-family: 'Josefin Sans', sans-serif;
	font-size: 2.7rem;
	font-weight: normal;
	color: #0f8970;
	vertical-align: middle;
	margin-right: 10px;
}

/* 横並び */
.flexList ul, .flexList ol {
	display: flex;
    flex-flow: column wrap;
    align-content: space-between;
	align-content: flex-start;
}
.flexList ul li , .flexList ol li {
	display: inline-block;
}
/* ------------------------------
 PC用限定CSS
------------------------------ */
@media print, screen and (min-width: 768px) {
	.flexList.r3 ul, .flexList.r3 ol {
		height: 120px;
	}
	.flexList.r2 ul, .flexList.r2 ol {
		height: 70px;
	}
	.flexList ul li , .flexList ol li {
		width: 22.632%;
	}
}
/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	ol > li {
		text-indent: -17px;
		margin-left: 34px;
	}
	ol > li:before {
		font-size: 2.0rem;
		margin-right: 6px;
		width: 10px;
	}
}

/* ------------------------------
 ボタン
------------------------------ */
/* -- ノーマルボタン -- */
.btn a {
	position: relative;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	z-index: 2;
	overflow: hidden;

	min-width: 260px;
	min-height: 60px;
	font-size: 1.7rem;
	line-height: 1.4;
	font-weight: bold;
	text-align: center;
	color: #333;
	border: solid 2px #fcd848;
	background-color: #fcd848;
	border-radius: 50px;
	padding: 15px 0;
}
.btn a::after {
	content: "";
	position: absolute;
	width: 16px;
	height: 8px;
	top: 50%;
	right: 30px;
	transform: translateY(-50%);
	background: url(../img/icon_arrow.svg) no-repeat;
}
.btn a[target="_blank"]:not(.footer a[target="_blank"]):after {
	position: absolute;
	width: 11px;
	height: 10px;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	background: url(../img/icon_blank.svg) no-repeat;
}
.btn a[target="_blank"]:not(.footer a[target="_blank"])::before {
	content: none;
}
.btn.back a::after {
	left: 30px;
	right: inherit;
	background: url(../img/icon_arrow_back.svg) no-repeat;
}
.cms_link.btn a {
	color: #333;
	padding: 15px 50px;
}
.cms_link.btn.w1-2 a, .cms_link.btn.w1-3 a {
	width: 100%;
	padding: 15px 0;
}
.cms_link.btn a::after {
	width: 13px;
    height: 7px;
    top: 47%;
}

/* 専攻医募集 */
#recruitment .btn a {
	height: 110px;
	font-size: 2.1rem;
	color: #fff;
	background-color: #f17361;
	border-color: #f17361;
	border-radius: 15px;
}
#recruitment .btn a::after {
	width: 16px;
	height: 14px;
	background: url(../img/icon_blank_w_bg.svg) no-repeat;
}
/* ------------------------------
 PC用限定CSS
------------------------------ */
@media print, screen and (min-width: 768px) {
	.btn a:hover {
		opacity: 1;
		color: #0f8970;
		border-color: #0f8970;
		background-color: transparent;
	}
	.btn a:hover:after {
		background: url(../img/icon_arrow_g.svg) no-repeat;
	}
	.btn a[target="_blank"]:not(.footer a[target="_blank"]):hover:after {
		background: url(../img/icon_blank_g.svg) no-repeat;
	}
	.btn.back a:hover::after {
		background: url(../img/icon_arrow_back_g.svg) no-repeat;
	}

	#recruitment .btn a::after {
		right: 30px;
	}
	#recruitment .btn a:hover {
		color: #0f8970;
		border-color: #0f8970;
		background: transparent;
	}
	#recruitment .btn a:hover:after {
		background: url(../img/icon_blank_g_bg.svg) no-repeat;
	}
}
/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	/* -- ノーマルボタン -- */
	.btn a {
		min-width: 215px;
		min-height: 50px;
		font-size: 1.4rem;
	}
	.btn a::after {
		width: 11px;
		height: 6px;
		background-position: center right;
		right: 20px;
	}
	.cms_link.btn {
		text-align: center
	}
	.cms_link.btn a {
		max-width: 350px;
	}
	.cms_link.btn + .cms_link.btn {
		margin-top: 15px;
	}
	.cms_link.btn.w1-2 a {
		padding: 15px 50px;
	}

	#recruitment .btn a {
		height: 90px;
		font-size: 1.8rem;
		padding: 0 58px;
	}
}

/* ------------------------------
 ページ内リンク
------------------------------ */
.pageLink {
	height: auto;
	background-color: #f8f5f0;
	border-radius: 7px;
	padding: 25px 50px;
}
.pageLink ul li {
	display: inline-block;
	text-indent: 0;
	padding: 5px 0;
    margin-left: 0;
}
.cms_text.pageLink ul li:not(:last-child) {
	margin-bottom: 0;
}
.pageLink ul li::before {
	content: none;
}
.pageLink ul li:not(:last-child) {
	margin-right: 50px;
}
.pageLink ul li a {
	position: relative;
	font-size: 1.8rem;
	font-weight: bold;
	color: #000;
}
.pageLink a::before {
	content: "";
	display: inline-block;
	width: 22px;
	height: 22px;
	background-color: #fcd848;
	border-radius: 100%;
	vertical-align: middle;
	margin-right: 8px;
	margin-bottom: 3px;
}
.pageLink a::after {
	content: "";
	position: absolute;
	display: inline-block;
	width: 5px;
	height: 5px;
	vertical-align: middle;
	border-top: solid 1px #0f8970;
	border-right: solid 1px #0f8970;
	top: 8px;
	left: 8px;
	transform: rotate(135deg);
}

.hText .pageLink {
	background-color: #fff;
}
.hText .pageLink ul li a {
	color: #333;
}
@media print, screen and (min-width: 768px) {
	.pageLink ul {
		display: flex;
		align-items: center;
		flex-flow: row wrap;
	}
}
/* ------------------------------
 スマホ用コード
------------------------------ */
@media print, screen and (max-width: 767px) {
	.pageLink {
		border-radius: 7px;
		padding: 25px 30px;
	}
	.pageLink ul li {
		padding: 3px 0;
		margin: 0;
	}
	.pageLink ul li:not(:last-child) {
		margin-right: 13px;
	}
	.pageLink ul li a {
		font-size: 1.5rem;
	}
	.pageLink a::before {
		width: 19px;
		height: 19px;
		margin-right: 5px;
	}
	.pageLink a::after {
		width: 4px;
		height: 4px;
		top: 5px;
		left: 7px;
	}
}

/* ------------------------------
 お知らせ・ブログ（PC）
------------------------------ */
.cate, .tag {
	width: 145px;
	height: 25px;
	font-size: 1.3rem;
	font-weight: bold;
	color: #fff;
	text-align: center;
	background-color: #2f87c9;
	border-radius: 3px;
}
.cate1 .cate {
	background-color: #2f87c9;
}
.cate2 .cate {
	background-color: #31c1c4;
}
.cate3 .cate,
.tag {
	background-color: #ef9050;
}
.cate4 .cate {
	background-color: #e17363;
}

.tagBox {
	display: flex;
	flex-flow: row wrap;
	gap: 5px;
	margin-bottom: 10px;
}

.date {
	color: #666;
}
.text {
	color: #000;
	line-height: 1.6;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.newsList li a[target="_blank"]::after,
.mainContents > ul li a[target="_blank"]::after {
	content: none;
}
.newsList li a[target="_blank"] .text::after,
.mainContents > ul li a[target="_blank"] h2::after {
	content: "";
    display: inline-block;
    width: 11px;
    height: 10px;
    vertical-align: middle;
    background: url(../img/icon_blank.svg) no-repeat;
    margin-left: 5px;
}

.mainContents > ul li,
.mainContents > ul li a {
	display: flex;
	justify-content: space-between;
	width: 100%;
}
.mainContents > ul li:not(:last-child) {
	border-bottom: solid 1px #f2f2f2;
	padding-bottom: 40px;
	margin-bottom: 40px;
}
.mainContents > ul li figure {
	width: 180px;
	height: 180px;
}
.mainContents > ul li figure img {
	border-radius: 7px;
}
.mainContents > ul li > div,
.mainContents > ul li a > div {
	width: 505px;
	height: auto;
}
.mainContents > ul li h2 {
	font-size: 2.1rem;
	color: #282828;
	padding: 0;
	margin-bottom: 5px;
}
.mainContents > ul li h2::before {
	content: none;
}
.mainContents > ul li .date {
	margin-bottom: 5px;
}
.mainContents > ul li .text {
	line-height: 1.65;
}
.mainContents .cms_image img {
	border-radius: 0;
}

.sideContents > div > p {
	font-weight: bold;
	color: #fff;
    background-color: #0f8970;
	padding: 10px 20px;
}
.sideContents > div:not(.archive) > ul {
	padding: 10px 0;
}
.sideContents > div ul li a {
    position: relative;
    display: block;
	color: #1a1a1a;
}
.sideContents > div > ul > li > a {
    background-color: #f8f5f0;
	padding: 15px 20px;
}
.sideContents > div:not(.archive) > ul > li {
	margin-bottom: 18px;
}
.sideContents > div:not(.archive) > ul > li:first-child {
	margin-top: 13px;
}
.sideContents > div:not(.archive) > ul > li > a {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	line-height: 1.6;
	padding: 0 20px;
}
.sideContents > div ul li a .date {
	font-size: 1.4rem;
	margin-bottom: 3px;
}
.sideContents .archive ul li a::before,
.sideContents .tagBlock ul li a::before {
    content: "";
    display: inline-block;
}
.sideContents .archive > ul > li > a::before,
.sideContents .tagBlock > ul > li > a::before {
    width: 17px;
    height: 17px;
	vertical-align: middle;
    background: url(../img/icon_link.svg) no-repeat;
	margin-right: 10px;
	margin-bottom: 3px;
}
.sideContents .archive > ul > li:not(.on) > a {
    border-top: solid 1px #f4efe6;
}
.sideContents .archive > ul > li > ul {
    display: none;
	background-color: #f4efe6;
	padding: 8px 25px;
}
.sideContents .archive > ul > li > ul > li > a {
	font-size: 1.5rem;
	padding: 0;
}
.sideContents .archive > ul > li > ul > li > a::before {
	width: 8px;
	height: 4px;
	background: url(../img/icon_arrow_g.svg) no-repeat;
	margin-right: 12px;
    margin-bottom: 3px;
}
.sideContents .archive > ul > li.on > ul {
    display: block;
}
/* ------------------------------
 PC用限定CSS
------------------------------ */
@media print, screen and (min-width: 768px) {
	.sideContents > div {
		border-radius: 7px;
		overflow: hidden;
	}
	.sideContents > div:not(:last-child) {
		margin-bottom: 35px;
	}
}
/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	.mainContents > ul li:not(:last-child) {
		padding-bottom: 25px;
		margin-bottom: 30px;
	}
	.mainContents > ul li figure {
		width: 30.702%;
		height: auto;
	}
	.mainContents > ul li > div,
	.mainContents > ul li a > div {
		width: 65.351%;
	}
	.mainContents > ul li h2 {
		font-size: 1.6rem;
		margin-bottom: 0;
	}
	.mainContents > ul li .cate {
		width: 100px;
		margin-bottom: 3px;
	}
	.tag {
		width: 100px;
	}
	.mainContents > ul li .tagBox {
		margin-bottom: 3px;
	}
	.mainContents > ul li .date {
		line-height: 1.6;
		margin-bottom: 5px;
	}

	.sideContents > div > ul {
		background-color: #f8f5f0;
		padding-bottom: 80px;
	}
	.sideContents > div > ul > li > a {
		padding: 13px 5%;
	}
	.sideContent .archive > ul > li > ul {
		padding: 8px 24px;
	}
	.sideContents .archive > ul > li > ul > li > a {
		font-size: 1.4rem;
	}
}