@charset "UTF-8";

/* Reset
------------------------------------------------------------------*/
* { box-sizing: border-box;}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
figure, figcaption,
article, section, nav, header, footer {
	margin: 0;
	padding: 0;
	font-weight: normal;
	font-style: normal;
	}

html * {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	}

html {
	overflow-y: scroll;
	font-size: 62.5%;
	color: #666;
	}

body {
	width: 100%;
	font-family: sans-serif;
	font-weight: 400;
	background-color: #fff;
	background-size: 20% auto;
	background-position: bottom 7vw left 5vw;
	}


/* Basic elements
------------------------------------------------------------------*/
img {
	border: none;
	width: 100%;
	height: auto;
	vertical-align: bottom;
	}

ul, ol {
	list-style: none;
	list-style-position: inside;
	}

dl { margin: 0;}

dl dt { margin: 0;}

table {
	border-collapse: collapse;
	border-spacing: 0;
	empty-cells: show;
	}

blockquote, pre, dl, ol, ul, th, td {}

p { margin: 0;}

ul, ol, dl { list-style-position: outside;}

/* Base Link
------------------------------------------------------------------*/
a {
	color: #666;
	text-decoration: none;
	}
	
a:hover {
    color: #444;
    text-decoration: none;
	}

a:active,
a:focus { outline: none;}

/* Font
------------------------------------------------------------------*/
/* type */
h1, h2, h3, h4, h5, h6 { font-weight: 700;}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { font-weight: 700;}


table th,
table td {
	vertical-align: top;
	text-align: left;
	}

/* リンクの付いたイメージは全て半透明になる */
a:hover img.hover,
span:hover img.hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
	}

/* header ___________________ */

header {
	margin: 0px;
	padding: 0px;
	position: relative;
	height: 515px;
	background: url(../images/top-001.webp) no-repeat top left transparent;
	background-size: cover;
	}

header .topbox {
	position: absolute;
	margin: 0px;
	padding: 0px;
	top: 6vw;
	left: 45vw;
	}

header .bloginfo {
	margin: 0px 0px .5em;
	padding: 0px;
	line-height: 1.5em;
	color: #fff;
	font-weight: 700;
	font-size: 2.2rem;
	}

body.home header .title {
	margin: 0px 0px .5em;
	padding: 0px;
	line-height: 1.2em;
	color: #fff;
	font-family: 'Noto Serif Japanese', serif;
	font-weight: 900;
	font-size: 3.8rem;
	}

.home header .titlecopy {
	margin: 0px;
	padding: 0px;
	line-height: 1.5em;
	color: #000;
	font-weight: 400;
	font-size: 1.6rem;
	}

/* top-avi ___________________ */

.top-avi {
	width: 100%;
	margin: 0px;
	padding: 0px;
	background-color: #357ddc;
	}

.top-avi.fixed {
	position: fixed;
	top: 0;
	}

.top-avi ul {
	margin: 0px auto;
	padding: 0px;
	display: flex;
	justify-content: left;
	align-items: stretch;
	max-width: 1000px;
	position: relative;
	overflow: hidden;
	}

.top-avi li {
	font-size: 1.4rem;
	line-height: 1.5em;
	}

.top-avi li:last-child { margin-right: 0px;}

.top-avi li a {
	color: #fff;
	font-weight: bold;
	padding: 18px 25px;
	margin: 0px;
	display: block;
	}

.top-avi li a:hover {
	color: #fff;
	background-color: #f60;
	}

.top-avi li:last-child {
	position: absolute;
	top: 0px;
	right: 0px;
	}

.top-avi li:last-child a {
	background: url(../images/icon-member.svg) no-repeat left 20px top 20px #f60;
	background-size: 16px 16px;
	color: #fff;
	padding: 18px 15px 18px 40px;
	margin-right: 0px;
	display: block;
	}

.top-avi li:last-child a:hover { background-color: #c00;}

/* main ___________________ */

main { margin: 20px 0px 0px;}

main h1 {
	padding: .5vw;
	margin: 0px;
	font-size: 1.6rem;
	line-height: 1.5em;
	font-family: 'Noto Serif Japanese', serif;
	font-weight: 900;
	color: #000;
	text-align: center;
	}

.home main .t001 {
	padding: 4vw 0px;
	margin: 0px auto;
	width: 50vw;
	display: flex;
	justify-content: center;
	align-items: stretch;
	}

.home main .t001 h2 {
	padding: 80px 40px 0px 0px;
	margin: 0px 2em 0px 0px;
	border-right: solid 1px #666;
	font-size: 2.2rem;
	height: 1.2em;
	font-family: 'Noto Serif Japanese', serif;
	font-weight: 900;
	display: table;
	text-align: center;
	vertical-align: middle;
	color: #000;
	background: url(../images/icon-001.webp) no-repeat left top transparent;
	width: 8em;
	white-space: nowrap;
	}

.home main .t001 dl {
	padding: 0px;
	margin: 0px;
	}

.home main .t001 dt {
	padding: 0px;
	margin: 0px 1em -2em 0px;
	font-size: 1.6rem;
	line-height: 2em;
	}

.home main .t001 dd {
	padding: 0px;
	margin: 0px 0px 0px 11em;
	font-size: 1.6rem;
	line-height: 2em;
	}

.home main .s001,
.home main .s002,
.home main .s003,
.page main .s003,
.single main .s003,
.archive main .s003 {
	padding: 3vw 0px;
	}

.home main .s001,
.home main .s003,
.page main .s003,
.single main .s003,
.archive main .s003 {
	background-color: #f0f0f0;
	background-repeat: no-repeat, no-repeat;
	background-position: top 15% left 0px, bottom 15% right 0px;
	}

.page main .s003,
.single main .s003 {
	width: 100%;
	}

.home main .s001 img.top-01,
.home main .s001 img.top-02 {
	padding: 0px;
	margin: 0px;
	width: 35vw;
	height: auto;
	}

.home main .s001 img.top-02 { text-align: right;}

.home main .s003 img.top-01,
.home main .s003 img.top-02 {
	padding: 0px;
	margin: 0px;
	width: 35vw;
	height: auto;
	}

.home main .s003 img.top-02 { text-align: right;}

main p.title {
	font-size: 2.8rem;
	line-height: 1.5em;
	margin-bottom: 1em;
	font-family: 'Noto Serif Japanese', serif;
	font-weight: 900;
	}

main p {
	font-size: 1.6rem;
	line-height: 1.7em;
	margin-bottom: 1em;
	text-align: justify;
	}

main p.day { margin-bottom: 1em;}
main p.desc { margin-bottom: 3em;}
main p.time { margin-bottom: 1em;}

main article h1,
main h1.single,
main h1.archive {;
	font-size: 2rem;
	line-height: 1.5em;
	margin-top: 3em;
	margin-bottom: 1em;
	}

main article h1 a { color: #094;}

.post-categories {
	margin-bottom: 1em;
	display: flex;
	}

.singleBox .post-categories li {
	margin-right: 0.5em;
	border: none;
	}

main .post-categories a,
main article .post-categories a {
	color: #fff;
	background-color: #999;
	padding: 3px 10px;
	border-radius: 3px;
	font-weight: bold;
	font-size: 1.4rem;
	}

main .singleBox .post-categories li { margin-bottom: 0px;}

main {
	background-image: url(../images/kumo-hidari-g.png), url(../images/kumo-migi-g.png);
	background-color: #fff;
	background-repeat: no-repeat, no-repeat;
	background-position: bottom 15% left 0px, top 16% right 0px;
	}

main .arcBox article h2 a:hover { text-decoration: underline;}

/* top ___________________ */

.topBox01,
.topBox02,
.topBox03 {
	max-width: 1000px;
	margin: 0px auto;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	}

.topBox01 { gap: 30px;}

.topBox01 h2 {
	font-size: 2rem;
	line-height: 1.5em;
	font-family: 'Noto Serif Japanese', serif;
	font-weight: 400;
	margin-bottom: 1em;
	}

.topBox01 p {
	margin-bottom: 1.6rem;
	}

.topBox01 h3 {
	font-size: 1.4rem;
	line-height: 1.5em;
	font-weight: bold;
	margin-bottom: 1em;
	}

.topBox01 ul {
	margin: 30px 0px 0px;
	display: flex;
	justify-content: right;
	}

.topBox01 li { margin-bottom: 1.5em;}

.topBox01 li a {
	font-size: 1.4rem;
	line-height: 1.5em;
	border: 1px solid #999;
	padding: 1vw 1.5vw;
	text-align: center;
	width: 12em;
	display: block;
	overflow: hidden;
	z-index: 1;
	position: relative;
	}

.topBox01 li a::after {
	background: #fff;
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 100%;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
	z-index: -1;
	}

.topBox01 li a:hover {
	color: #999;
	}

.topBox01 li a:hover::after {
	transform: scale(1, 1);
	}

.topBox01 li a .button-line {
	content: '';
	border-bottom: solid 1px #999;
	width: 40px;
	display: block;
	position: absolute;
	margin: 0px;
	padding: 0px;
	right: -15px;
	top: 23px;
	}

.topBox01 li a:hover .button-line {
	right: -25px;
	}


.topBox01 .topleft {
	margin: 0px;
	padding: 0px;
	max-width: 800px;
	}

.topBox01 figure {
	max-width: 168px;
	height: auto;
	}

/* .topBox02 ___________________ */

.topBox02 ul {
	margin: 0px auto;
	padding: 0px;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 30px;
	}

.topBox02 li {
	margin: 0px;
	padding: 20px;
	background-color: #9eb8ff;
	width: 290px;
	height: 290px;
	}

.topBox02 li a {
	color: #fff;
	font-size: 5rem;
	line-height: 1.2em;
	text-align: right;
	font-family: 'Noto Serif Japanese', serif;
	font-weight: 400;
	display: block;
	}

.topBox02 li:nth-child(1) { background: url(../images/ills-001.webp) bottom 10px left 10px no-repeat #9eb8ff;}
.topBox02 li:nth-child(2) { background: url(../images/ills-002.webp) bottom 10px left 10px no-repeat #9eb8ff;}
.topBox02 li:nth-child(3) { background: url(../images/ills-003.webp) bottom 10px left 10px no-repeat #9eb8ff;}


/* .topBox03 ___________________ */

.topBox03 ul {
	margin: 0px;
	padding: 0px;
	display: flex;
	justify-content: center;
	gap: 20px;
	flex-wrap: wrap;
	}

/* pagenation ___________________ */

.pagenation ul {
	display: flex;
	font-size: 1.6rem;
	justify-content: center;
	padding: 0px 10px;
	}

.pagenation li {
	margin-right: 0.5em;
	width: 2em;
	display: block;
	}

.pagenation li:last-child { margin-right: 0px;}

/* article ___________________ */

article { padding: 3em 0px;}

/* footer ___________________ */

footer {
	width: 100%;
	margin: 0px auto 20px;
	}

.bottom-avi {
	margin: 0px 0px 60px;
	padding: 0px;
	}

.bottom-avi ul {
	margin: 0px auto;
	padding: 15px;
	display: flex;
	justify-content: center;
	align-items: stretch;
	max-width: 1000px;
	}

.bottom-avi li {
	font-size: 1.4rem;
	line-height: 1.5em;
	margin-right: 20px;
	}

.bottom-avi li:last-child { margin-right: 0px;}

.bottom-avi li a { color: #666;}

.bottom-avi li a:hover { color: #c3ddff;}

.bottom-avi li a:active,
.bottom-avi li a:visited { color: #666;}


.home footer { border-top: none;}

footer h2.footerh2 {
	text-align: center;
	margin: 0px auto 0px;
	padding: 10px 0px 10px;
	font-family: 'Noto Serif Japanese', serif;
	line-height: 1.5em;
	font-size: 2.2rem;
	position: relative;
	border-top: solid 1px #666;
	width: 100%;
	max-width: 100%;
	background-image: none;
	}

footer h2 img {
	display: block;
	width: 230px;
	height: auto;
	position: absolute;
	right: 0px;
	bottom: -2px;
	}

small {
	max-width: 980px;
	padding: 10px 10px 10px;
	margin: 0px auto;
	display: block;
	font-size: 1.1rem;
	line-height: 1.5em;
	text-align: center;
	}

address {
	max-width: 980px;
	padding: 0px 10px 10px;
	margin: 0px auto;
	display: block;
	font-size: 1.2rem;
	line-height: 1.5em;
	text-align: center;
	}


/* 二階層目 ___________________ */

.page header .title,
.single header .title {
	margin: 0px;
	padding: 1em 0px 0px 1em;
	line-height: 1.2em;
	color: #fff;
	font-family: 'Noto Serif Japanese', serif;
	font-weight: 900;
	font-size: 2.4rem;
	font-weight: bold;
	}

.page header .title a,
.single header .title a,
.archive header .title a,
.error404 header .title a { color: #fff;}

.page header .title a:hover,
.single header .title a:hover,
.archive header .title a:hover,
.error404 header .title a:hover { color: #fff;}

.page main h1.single,
.page main article h1 {
	font-family: 'Noto Serif Japanese', serif;
	font-weight: 900;
	font-size: 3rem;
	margin: 1.5em auto 1em;
	padding: 0px;
	line-height: 1.2em;
	max-width: 1000px;
	text-align: left;
	}

ul.ishikaiBox {
	margin: 30px auto 50px;
	display: flex;
	justify-content: left;
	width: 1000px;
	gap: 50px;
	}

.ishikaiBox li { margin-bottom: 1.5em;}

.ishikaiBox li:first-child { margin-left: 100px;}

.ishikaiBox li a {
	font-size: 1.4rem;
	line-height: 1.5em;
	border: 1px solid #999;
	padding: 1vw 3vw 1em 1.5em;
	text-align: center;
	display: block;
	z-index: 1;
	position: relative;
	}

.ishikaiBox li a::after {
	background: #eee;
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 100%;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
	z-index: -1;
	}

.ishikaiBox li a:hover {
	color: #999;
	border: 1px solid #999;
	}

.ishikaiBox li a:hover::after { transform: scale(1, 1);}

.ishikaiBox li a .button-line {
	content: '';
	border-bottom: solid 1px #999;
	width: 40px;
	display: block;
	position: absolute;
	margin: 0px;
	padding: 0px;
	right: -15px;
	top: 23px;
	}

.page-id-2 .ishikaiBox li a:hover .button-line { right: -25px;}
.page-id-48 .ishikaiBox li a:hover .button-line { right: -25px;}

/* 南部地区医師会について ___________________ */

.page-id-2 header {
	margin: 0px;
	padding: 0px;
	position: relative;
	height: 352px;
	background: url(../images/ishikai-img.webp) no-repeat top left transparent;
	background-size: auto;
	background-size: cover;
	}

.page-id-2 h1 + p {
	margin: 0px auto 3em;
	max-width: 1000px;
	}

.page-id-2 h2 {
	background: url(../images/icon-001.webp) no-repeat left top transparent;
	background-size: auto;
	font-family: 'Noto Serif Japanese', serif;
	font-weight: 900;
	font-size: 2.4rem;
	margin: 0px auto .5em;
	padding: 1.2em 0px 1.2em 4em;
	line-height: 1.2em;
	max-width: 1000px;
	}

.page-id-2 h2 + p {
	padding-left: 7em;
	margin: 0px auto 3em;
	max-width: 1000px;
	font-size: 1.4rem;
	line-height: 1.5em;
	}

.page-id-2 p.endA {
	padding-left: 7em;
	margin: 0px auto 1em;
	max-width: 1000px;
	font-size: 1.4rem;
	line-height: 1.5em;
	}

.page-id-2 p.endB {
	padding-left: 7em;
	margin: 0px auto 10em;
	max-width: 1000px;
	font-size: 1.4rem;
	line-height: 1.5em;
	}

/* 医師会の活動 ___________________ */

.page-id-48 header {
	margin: 0px;
	padding: 0px;
	position: relative;
	height: 352px;
	background: url(../images/ishikai-img.webp) no-repeat top left transparent;
	background-size: cover;
	}

.page-id-48 h1 + p {
	margin: 0px auto 3em;
	max-width: 1000px;
	}

.page-id-48 h2 {
	background: url(../images/icon-001.webp) no-repeat left top transparent;
	background-size: auto;
	font-family: 'Noto Serif Japanese', serif;
	font-weight: 900;
	font-size: 2.4rem;
	margin: 0px auto .5em;
	padding: 1.2em 0px 1.2em 4em;
	line-height: 1.2em;
	max-width: 1000px;
	}

.page-id-48 h2 + p {
	padding-left: 7em;
	margin: 0px auto 3em;
	max-width: 1000px;
	font-size: 1.4rem;
	line-height: 1.5em;
	}

.page-id-48 p.endA {
	padding-left: 7em;
	margin: 0px auto 1em;
	max-width: 1000px;
	font-size: 1.4rem;
	line-height: 1.5em;
	}

.page-id-48 p.endB {
	padding-left: 7em;
	margin: 0px auto 10em;
	max-width: 1000px;
	font-size: 1.4rem;
	line-height: 1.5em;
	}

/* 医師会役員一覧 ___________________ */

.page-id-18 header {
	margin: 0px;
	padding: 0px;
	position: relative;
	height: 352px;
	background: url(../images/member-list-img.webp) no-repeat top left transparent;
	background-size: cover;
	}

.page-id-18 main h2 {
	font-family: 'Noto Serif Japanese', serif;
	font-weight: 900;
	font-size: 2rem;
	margin: 1.5em auto 1em;
	padding: 0px 0px 5px 30px;
	line-height: 1.2em;
	max-width: 1000px;
	background: url(../images/icon-memberB.svg) no-repeat top left transparent;
	background-size: 25px 25px;
	border-bottom: solid 3px #666;
	}

.page-id-18 main h3 {
	font-weight: 900;
	font-size: 1.6rem;
	margin: 0px 0px 2em;
	padding: 0px;
	line-height: 1.5em;
	}

.page-id-18 main h2.toph2 {
	padding: 0px 0px 0px 30px;
	border-bottom: none;
	}

.page-id-18 main h2 + p {
	margin: 0px auto 3em;
	max-width: 1000px;
	}

.page-id-18 .tableBox {
	max-width: 1000px;
	margin: 2vw auto 4vw;
	}

.page-id-18 table {
	width: 100%;
	border: solid 1px #666;
	table-layout: auto;
	border-collapse: collapse;
	margin: 0px;
	}

.page-id-18 table th {
	font-weight: bold;
	border: solid 1px #000;
	padding: 10px;
	font-size: 1.8rem;
	line-height: 1.5em;
	background-color: #eee;
	text-align: center;
	}

.page-id-18 table td {
	border: solid 1px #000;
	padding: 10px;
	font-size: 1.8rem;
	line-height: 1.5em;
	}

.page-id-18 .boxS {
	display: flex;
	justify-content: space-between;
	max-width: 1000px;
	margin: 0px auto 50px;
	flex-flow: wrap;
	gap: 30px;
	}

.page-id-18 .box {
	padding: 0px;
	margin: 0px;
	}

.page-id-18 .box ul {
	padding: 0px;
	margin: 0px;
	}

.page-id-18 .box li {
	padding: 0px;
	margin: 0px;
	font-size: 1.8rem;
	line-height: 1.5em;
	font-family: 'Noto Serif Japanese', serif;
	}

.page-id-18 .box li span {
	padding: 0px;
	margin: 0px;
	font-size: 1.2rem;
	line-height: 1.5em;
	}


/* 沿革・組織図 ___________________ */

.page-id-98 header {
	margin: 0px;
	padding: 0px;
	position: relative;
	height: 352px;
	background: url(../images/historyorganization-img.webp) no-repeat top left transparent;
	background-size: auto;
	background-size: cover;
	}

.page-id-98 main h2 {
	font-family: 'Noto Serif Japanese', serif;
	font-weight: 900;
	font-size: 2rem;
	margin: 1.5em auto 1em;
	padding: 0px 0px 0px 30px;
	line-height: 1.2em;
	max-width: 1000px;
	background: url(../images/icon-memberC.svg) no-repeat top left transparent;
	background-size: 25px 25px;
	}

.page-id-98 main h2.end { margin: 10em auto 1em;}

.page-id-98 main h2 + p {
	margin: 0px auto 3em;
	max-width: 1000px;
	}

.page-id-98 main dl {
	max-width: 1000px;
	padding: 0px;
	margin: 0px auto;
	}

.page-id-98 main dt {
	padding: 0px;
	margin: 0px 0px -2em 0px;
	font-size: 1.6rem;
	line-height: 2em;
	}

.page-id-98 main dd {
	padding: 0px;
	margin: 0px 0px 0px 10em;
	font-size: 1.6rem;
	line-height: 2em;
	}

.page-id-98 main figure {
	max-width: 820px;
	padding: 0px;
	margin: 0px auto 10em;
	}

.page-id-98 main figure img {
	width: 100%;
	height: auto;
	padding: 0px;
	margin: 0px;
	}

.page-id-98 .boxS {
	width: 100%;
	}

.page-id-98 .boxS li {
	padding: 20px 0px;
	}

.page-id-98 .boxS li:nth-child(odd) {
	background-color: #d3ebf0;
	padding: 20px 0px;
	}

.page-id-98 .houkoku {
	max-width: 680px;
	margin: 0px auto 100px;
	}

.page-id-98 .ishikaiBox {
	margin: 0px;
	display: block;
	width: auto;
	}

.page-id-98 .ishikaiBox li {
	margin: 0px 0px 1.5em;
	}

.page-id-98 .ishikaiBox li a {
	font-size: 1.4rem;
	line-height: 1.5em;
	border: 1px solid #999;
	padding: 1vw 3vw 1em 1.5em;
	text-align: center;
	display: block;
	z-index: 1;
	position: relative;
	margin: 0px;
	}

.page-id-98 .ishikaiBox li a::after {
	background: #eee;
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 100%;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
	z-index: -1;
	}

.page-id-98 .ishikaiBox li a:hover {
	color: #999;
	border: 1px solid #999;
	}

.page-id-98 .ishikaiBox li a:hover::after { transform: scale(1, 1);}

.page-id-98 .ishikaiBox li a .button-line {
	content: '';
	border-bottom: solid 1px #999;
	width: 40px;
	display: block;
	position: absolute;
	margin: 0px;
	padding: 0px;
	right: -15px;
	top: 23px;
	}

/* 各種委員会 ___________________ */

.page-id-21 header {
	margin: 0px;
	padding: 0px;
	position: relative;
	height: 352px;
	background: url(../images/committees-img.webp) no-repeat top left transparent;
	background-size: auto;
	background-size: cover;
	}

.page-id-21 h2 {
	font-family: 'Noto Serif Japanese', serif;
	font-weight: 900;
	font-size: 3rem;
	margin: 1.5em auto 1em;
	padding: 0px;
	line-height: 1.2em;
	max-width: 1000px;
	}

.page-id-21 h2 + p {
	margin: 0px auto 3em;
	max-width: 1000px;
	}

.lineBox {
	display: flex;
	justify-content: left;
	max-width: 1000px;
	margin: 0px auto 50px;
	flex-flow: wrap;
	gap: 5em;
	}

.page-id-21 .lineBox h2 {
	font-family: 'Noto Serif Japanese', serif;
	font-weight: 900;
	font-size: 2rem;
	margin: 1.5em auto 1em;
	padding: 0px 0px 5px 30px;
	line-height: 1.2em;
	max-width: 1000px;
	background: url(../images/icon-memberB.svg) no-repeat top left transparent;
	background-size: 25px 25px;
	border-bottom: solid 3px #666;
	}

.page-id-21 .lineBox h3 {
	font-weight: 900;
	font-size: 1.6rem;
	margin: 0px 0px 2em;
	padding: 0px;
	line-height: 1.5em;
	}

.page-id-21 dl {
	padding: 0px;
	margin: 0px;
	}

.page-id-21 dt {
	padding: 0px;
	margin: 0px 0px -1.5em 0px;
	font-size: 1.8rem;
	line-height: 1.5em;
	font-family: 'Noto Serif Japanese', serif;
	}

.page-id-21 dd {
	padding: 0px;
	margin: 0px 0px 0px 13em;
	font-size: 1.8rem;
	line-height: 1.5em;
	font-family: 'Noto Serif Japanese', serif;
	}

/* 会員の方はこちら ___________________ */

.page-id-28 header,
.page-id-184 header {
	margin: 0px;
	padding: 0px;
	position: relative;
	height: 352px;
	background: url(../images/member-boor-img.webp) no-repeat top left transparent;
	background-size: auto;
	background-size: cover;
	}

.page-id-28 h2,
.page-id-184 h2 {
	font-family: 'Noto Serif Japanese', serif;
	font-weight: 900;
	font-size: 3rem;
	margin: 1.5em auto 1em;
	padding: 10px 0px 0px;
	line-height: 1.2em;
	width: 100%;
	}

.page-id-28 h2 + p,
.page-id-184 h2 + p {
	margin: 0px auto 3em;
	max-width: 1000px;
	}

.page-id-28 main form {
	margin: 0px auto 10em;
	max-width: 1000px;
	}

/* 会員の方はこちら(仮) ___________________ */

.page-id-184 header {
	margin: 0px;
	padding: 0px;
	position: relative;
	height: 352px;
	background: url(../images/member-boor-img.webp) no-repeat top left transparent;
	background-size: auto;
	background-size: cover;
	}

.page-id-184 h2 {
	font-family: 'Noto Serif Japanese', serif;
	font-weight: 900;
	font-size: 3rem;
	margin: 1.5em auto 1em;
	padding: 10px 0px 0px;
	line-height: 1.2em;
	width: 100%;
	}

.page-id-184 p.member-boor-02 {
	margin: 5em auto 10em;
	max-width: 1000px;
	font-size: 2rem;
	line-height: 1.5em;
	text-align: center;
	font-family: 'Noto Serif Japanese', serif;
	font-weight: 900;
	}


/* お問い合わせ ___________________ */

.page-id-23 header {
	margin: 0px;
	padding: 0px;
	position: relative;
	height: 352px;
	background: url(../images/contact-img.webp) no-repeat top left transparent;
	background-size: auto;
	background-size: cover;
	}

.page-id-23 h2 {
	font-family: 'Noto Serif Japanese', serif;
	font-weight: 900;
	font-size: 3rem;
	margin: 1.5em auto 1em;
	padding: 0px;
	line-height: 1.2em;
	max-width: 1000px;
	}

.page-id-23 h2 + p {
	margin: 0px auto 3em;
	max-width: 1000px;
	}

#mw_wp_form_mw-wp-form-88 {
	margin: 3vw auto 5vw;
	max-width: 1000px;
	}

.form-box {
	max-width: 640px;
	margin: 0px auto;
	padding: 0px 20px;
	}

#mw_wp_form_mw-wp-form-88 p {
	font-size: 1.8rem;
	margin: 0px 0px 1em;
	padding: 0px 0px .3em;
	line-height: 1.5em;
	}

#mw_wp_form_mw-wp-form-88 p span { color: #c00;}

#mw_wp_form_mw-wp-form-88 .name-txt,
#mw_wp_form_mw-wp-form-88 .kana-txt,
#mw_wp_form_mw-wp-form-88 .mail-txt,
#mw_wp_form_mw-wp-form-88 .box-txt {
	font-size: 1.8rem;
	margin: 0px;
	padding: .2em .5em;
	line-height: 1.5em;
	width: 100%;
	color: #666;
	}

#mw_wp_form_mw-wp-form-88 .send {
	font-size: 1.8rem;
	margin: 0px auto;
	padding: .2em .5em;
	line-height: 1.5em;
	width: 10em;
	text-align: center;
	display: block;
	}

#mw_wp_form_mw-wp-form-88 ol {
	margin: 0px 0px 1em;
	padding: 3em;
	background-color: #eee;
	}

#mw_wp_form_mw-wp-form-88 ol li {
	font-size: 1.8rem;
	margin: 0px 0px 1em;
	padding: 0px 0px .3em;
	line-height: 1.5em;
	}


/* 個人情報保護方針 ___________________ */

.page-id-75 header {
	margin: 0px;
	padding: 0px;
	position: relative;
	height: 352px;
	background: url(../images/contact-img.webp) no-repeat top left transparent;
	background-size: auto;
	background-size: cover;
	}

.page-id-75 h2 {
	font-family: 'Noto Serif Japanese', serif;
	font-weight: 900;
	font-size: 3rem;
	margin: 1.5em auto 1em;
	padding: 0px;
	line-height: 1.2em;
	max-width: 1000px;
	}

.page-id-75 main p {
	margin: 0px auto 3em;
	max-width: 1000px;
	}

.page-id-75 main ol {
	margin: 0px auto 15em;
	max-width: 1000px;
	list-style-type: decimal
	}

.page-id-75 main ol li {
	margin: 0px 0px 3em 2em;
	max-width: 1000px;
	font-size: 1.4rem;
	line-height: 1.5em;
	}


/* 個人情報保護方針 ___________________ */

.page-id-173 header {
	margin: 0px;
	padding: 0px;
	position: relative;
	height: 352px;
	background: url(../images/contact-img.webp) no-repeat top left transparent;
	background-size: auto;
	background-size: cover;
	}

.page-id-173 h2 {
	font-family: 'Noto Serif Japanese', serif;
	font-weight: 900;
	font-size: 3rem;
	margin: 1.5em auto 1em;
	padding: 0px;
	line-height: 1.2em;
	max-width: 1000px;
	}

.page-id-173 main img {
	margin: 0px auto 5em;
	padding: 0px;
	max-width: 680px;
	display: block;
	}

/* 記事 ___________________ */

.single header {
	margin: 0px;
	padding: 0px;
	position: relative;
	height: 352px;
	background: url(../images/single-img.webp) no-repeat top left transparent;
	background-size: auto;
	background-size: cover;
	}

.single header .title {
	margin: 0px;
	padding: 1em 0px 0px 1em;
	line-height: 1.2em;
	color: #fff;
	font-family: 'Noto Serif Japanese', serif;
	font-weight: 900;
	font-size: 2.4rem;
	font-weight: bold;
	}

.singleBox {
	margin: 0px auto 60px;
	max-width: 1000px;
	}

main h1.single {
	font-family: 'Noto Serif Japanese', serif;
	font-weight: 900;
	font-size: 3rem;
	margin: 1.5em auto 1em;
	padding: 0px;
	line-height: 1.2em;
	text-align: left;
	}

.single main p {
	font-size: 1.6rem;
	line-height: 1.7em;
	margin: 0px auto 1em;
	}

.postNavi {
	font-size: 1.6rem;
	line-height: 1.7em;
	margin-bottom: 1em;
	margin: 0px auto 3em;
	}

.postNavi ul {
	display: flex;
	justify-content: space-between;
	}

/* アーカイブ ___________________ */

.archive header {
	margin: 0px;
	padding: 0px;
	position: relative;
	height: 352px;
	background: url(../images/single-img.webp) no-repeat top left transparent;
	background-size: auto;
	background-size: cover;
	}

.archive header .title {
	margin: 0px;
	padding: 1em 0px 0px 1em;
	line-height: 1.2em;
	color: #fff;
	font-family: 'Noto Serif Japanese', serif;
	font-weight: 900;
	font-size: 2.4rem;
	font-weight: bold;
	}

.arcBox {
	margin: 0px auto 60px;
	max-width: 1000px;
	}

main h1.archive {
	font-family: 'Noto Serif Japanese', serif;
	font-weight: 900;
	font-size: 3rem;
	margin: 1.5em auto 1em;
	padding: 0px;
	line-height: 1.2em;
	max-width: 1000px;
	text-align: left;
	}

.pagenation {
	margin: 0px auto 60px;
	max-width: 1000px;
	}

/* 404 ___________________ */

.error404 header {
	margin: 0px;
	padding: 0px;
	position: relative;
	height: 352px;
	background: url(../images/single-img.webp) no-repeat top left transparent;
	background-size: auto;
	background-size: cover;
	}

.error404 header .title {
	margin: 0px;
	padding: 1em 0px 0px 1em;
	line-height: 1.2em;
	color: #fff;
	font-family: 'Noto Serif Japanese', serif;
	font-weight: 900;
	font-size: 2.4rem;
	font-weight: bold;
	}

article.page {
	margin: 0px auto 60px;
	max-width: 1000px;
	}

.error404 h1.type-A {
	font-family: 'Noto Serif Japanese', serif;
	font-weight: 900;
	font-size: 3rem;
	margin: 1.5em auto 1em;
	padding: 0px;
	line-height: 1.2em;
	max-width: 1000px;
	text-align: left;
	}

article.page p {
	font-size: 1.6rem;
	line-height: 1.7em;
	margin-bottom: 1em;
	text-align: justify;
	}

/* スマフォナビ ___________________ */

button, .spNavi { display: none;}


@media screen and (max-width: 1080px) {

	.top-avi { display: none;}

	header .topbox {
		position: static;
		margin: 3em 0px 0px;
		padding: 0px;
	}

	header h2 {
		font-size: 2rem;
		top: 2vw;
	}

	header .bloginfo {
		text-align: center;
	}

	body.home header .title {
		text-align: center;
	}

	.home header .titlecopy {
		text-align: center;
	}

	.home main .t001 {
    	width: 80vw;
	}

	.topBox01 h2 {
		text-align: center;
	}

	.topBox01 p {
		margin-right: 10px;
		margin-left: 10px;
	}

	.topBox01 li {
		display: block;
		margin: 0px auto;
	}

	.topBox01 li a .button-line {
		top: 20px;
	}

	.images p.title { font-size: 2.8rem;;}

	nav li a { font-size: 1.4rem;}

	nav { padding-top: 2vw;}

	main p { font-size: 1.4rem;}

	button, .spNavi { display: block;}

	.spNavi {
		grid-column-start: left;
		grid-column-end: right;
		grid-row-start: head;
		grid-row-end: bottom;
		z-index: 100;
		width: 280px;
		margin-left: -280px;
		background-color: rgba(0,0,0,0.7);
	}

	body.open .spNavi { margin-left: 0;}

	.spNavi ul {
		margin: 70px 0 0 0;
		padding: 0;
	}

	.spNavi li a {
		display: block;
		padding: 20px 20px 20px 40px;
		color: #fff;
		font-size: 1.6rem;
		text-decoration: none;
		background: url("../images/arrow-circle-right-solid.svg") no-repeat 10px center transparent;
		background-size: 20px 20px;
	}

	.spNavi li a:hover { background-color: #222;}

	button {
		grid-column-start: mainR;
		grid-column-end: right;
		grid-row-start: head;
		justify-self: start;
		align-self: start;
		margin-right: 10px;
		margin-bottom: 20px;
		padding: 6px;
		border: none;
		background-color: transparent;
		color: #666;
		font-size: 2rem;
		cursor: pointer;
	}

	button:focus { outline: none;}

	body button {
		z-index: 200;
		color: #fff;
	}

	body:not(.open) .fa-close { display: none;}
	body.open .fa-bars { display: none;}

	body.open .page-cover {
		grid-column-start: left;
		grid-column-end: right;
		grid-row-start: head;
		grid-row-end: bottom;
		z-index: 50;
		background-color: rgba(0,0,0,0.2)
	}

	.bottom-avi { display: none;}

	.page-id-2 header,
	.page-id-18 header,
	.page-id-98 header,
	.page-id-21 header,
	.page-id-23 header,
	.page-id-75 header,
	.page-id-173 header,
	.page-id-48 header,
	.page-id-228 header,
	.single header,
	.archive header,
	.error404 header {
		height: 30vw;
	}

	main {
		width: 100%;
		margin: 0px;
	}

	.page main h1.single,
	.page main article h1,
	.page-id-2 h1 + p,
	.page-id-2 h2,
	.page-id-2 h2 + p,
	.topBox01,
	.topBox02,
	.topBox03,
	ul.ishikaiBox,
	.page-id-18 main h2.toph2,
	.page-id-18 .boxS,
	.page-id-18 main h2,
	.page-id-98 main h2,
	.page-id-98 main dl,
	.page-id-98 main h2.end,
	.page-id-98 main figure,
	.page-id-98 .houkoku,
	.lineBox,
	.page-id-75 main p,
	.page-id-75 main ol,
	.page-id-48 h2,
	.page-id-48 h1 + p,
	.page-id-48 h2 + p,
	.page-id-48 p.endB ,
	.single main h1.single,
	.single main p,
	.postNavi,
	.post-categories,
	.aligncenter {
		width: 90vw;
	}

	.page-id-18 main h3 {
		margin: 1em 0px;
	}

	.page-id-18 .boxS {
		display: block;
	}

	.page-id-18 table {
		width: 90vw;
		margin: 0px auto;
	}

	.page-id-18 table th,
	.page-id-18 table td {
		font-size: 1.2rem;
	}

	.post-categories {
		margin: 1em auto;
	}

	.archive h1.archive {
		width: 90vw;
		margin: 1em auto;
	}

	.archive .time {
		width: 90vw;
		margin: 1em auto;
	}

	.archive h2 {
		width: 90vw;
		margin: 1em auto;
	}

	.archive p {
		width: 90vw;
		margin: 1em auto;
	}

	.archive .post-categories {
		width: 90vw;
		margin: 1em auto;
	}

}

@media screen and (max-width: 500px) {

	header {
		height: 60vw;
	}

	header .bloginfo {
		font-size: 1.6rem;
	}

	body.home header .title {
		font-size: 2.8rem;
	}

	.home header .titlecopy {
		font-size: 1.2rem;
		color: #fff;
	}

	.home main .t001 h2 {
		padding: 0px 0px .5em;
		margin: 0px 0px 1em;
		border-right: none;
		font-size: 1.6rem;
		background-image: none;
		text-align: center;
		border-bottom: solid 1px #000;
		width: 100%;
	}

	.home main .t001 {
		display: block;
		margin-bottom: 2em;
	}

	.home main .t001 dt,
	.home main .t001 dd {
		font-size: 1.2rem;
	}

	.page header .title,
	.error404 header .title {
		font-size: 1.8rem;
	}

	.page main h1.single,
	.page main article h1,
	.error404 header .type-A {
		font-size: 2rem;
	}

	.page-id-48 h2 {
		background: url(../images/icon-001.webp) no-repeat left top transparent;
		background-size: 20%;
		font-size: 2rem;
	}

	.page-id-48 h2 + p {
		padding-left: 6em;
	}

	.lineBoxS {
		width: 100%;
	}

	.page-id-21 .lineBox h2 {
		font-size: 1.6rem;
	}

	.page-id-21 dt,
	.page-id-21 dd {
		font-size: 1.4rem;
	}

	#mw_wp_form_mw-wp-form-88 p {
		font-size: 1.4rem;
	}

	#mw_wp_form_mw-wp-form-88 .send {
		font-size: 1.4rem;
	}

	.single main h1.single {
		font-size: 1.6rem;
	}

	.single main p {
		font-size: 1.4rem;
	}

}

/* グリッド ___________________ */

body {
	display: grid;
	grid-template-columns: [left] 1fr [centerL] auto [centerR] 1fr [right];
	grid-template-rows: [head] auto [images] auto [main] auto [foot] auto [bottom];
	}

header {
	grid-column-start: left;
	grid-column-end: right;
	grid-row-start: head;
	}

.top-avi {
	grid-column-start: left;
	grid-column-end: right;
	grid-row-start: images;
	}

main,
article.page {
	grid-column-start: left;
	grid-column-end: right;
	grid-row-start: main;
	}

footer  {
	grid-column-start: left;
	grid-column-end: right;
	grid-row-start: foot;
	}


@media screen and (max-width: 1080px) {
	
body {
	grid-template-columns: [left] 5vw [mainL] auto [mainR] 5vw [right];
	grid-template-rows: [head] auto [images] auto [main] auto [foot] auto [bottom];
	}

header {
	grid-column-start: left;
	grid-column-end: right;
	grid-row-start: head;
	}

.top-avi {
	grid-column-start: left;
	grid-column-end: right;
	grid-row-start: images;
	}

main,
article.page {
	grid-column-start: left;
	grid-column-end: right;
	grid-row-start: main;
	}

footer  {
	grid-column-start: left;
	grid-column-end: right;
	grid-row-start: foot;
	}
	
}

@media screen and (max-width: 500px) {
	
body {
	grid-template-columns: [left] 10vw [mainL] auto [mainR] 10vw [right];
	grid-template-rows: [head] auto [images] auto [main] auto [foot] auto [bottom];
	}

header {
	grid-column-start: left;
	grid-column-end: right;
	grid-row-start: head;
	}

.top-avi {
	grid-column-start: left;
	grid-column-end: right;
	grid-row-start: images;
	}

main,
article.page {
	grid-column-start: left;
	grid-column-end: right;
	grid-row-start: main;
	}

footer  {
	grid-column-start: left;
	grid-column-end: right;
	grid-row-start: foot;
	}
	
}