@charset "utf-8";

/*********************
共通
**********************/
/*---- font ----*/
body > * {
	font-family: 'GENJ LP';
}

div#page.blogid-1 > *,
header,
footer {
	font-family: 'GENJ LP';
}


.home a {
	text-decoration: none;
	/*display: block;*/
}

.home #main .top-page a {
	display: block;
}

.ftcl-wht {
	color: #fff;
	color: #fff;
}

.ftcl-blk {
	color: #000;
}

.ftcl-red {
	color: #8f0000;
}

.ftcl-grn {
	color: #006e35;
}

.ftwt-bold {
	font-weight: bold;
}

.bgc-rd {
	background-color: #8f0000;
}

.ftsz-S {
	font-size: 12px;
}

.ftsz-M {
	font-size: 16px;
}

.ftsz-L {
	font-size: 1.5rem;
}

.ftsz-LL {
	font-size: 2.5rem;
}

.flexBox {
	display: flex;
}

.txt-cntr {
	text-align: center;
}

.txt-left {
	text-align: left;
}

.txt-right {
	text-align: right;
}

.liH {
	line-height: 1.42rem;
}

.mab10 {
	margin-bottom: 10px;
}

.wht-spc-nwrp {
	white-space:nowrap;
}

.bottomImg {
	position: relative;
	margin-bottom: 120px;
}

.bgCloud {
	background-image: url(./module-site/common/images/pageTopimg.png);
	background-repeat: no-repeat;
	background-position: top 0% right 0%;
	background-size: 150px;
}

details summary {
list-style: none;
  cursor: pointer;
  padding: 5px;
  background: #e4e4e4;
  color: #242323;
  font-size: 1rem;
  font-weight: bold;
}

details summary::before {
  font-family: FontAwesome;
 content: "＋";
	font-size: 1.5rem;
  margin-right: 20px;
}

details[open] summary::before {
  content: "－";
}

@media screen and (max-width: 769px) {    
	.ftsz-S {
		font-size: 12px;
	}
	
	.ftsz-M {
		font-size: 14.5px;
	}
	
	.ftsz-L {
		font-size: 1.5rem;
	}
	
	.ftsz-LL {
		font-size: 2.5rem;
	}
}

@media screen and (max-width: 420px) {
	/* .blogid-1 section.support .bottomImg {
		display: block;
	}
	.bottomImg {
		position: relative;
		margin-bottom: 50px;
	}
	.blogid-1 .bottomImg:after {
		height: 100px;
		background-size: 103%;
		bottom: -80px;
		left: 0px;
		margin: 0 calc(50% - 48vw);
		width: 100vw;
	} */
}

/*********************
hamburger-menu　ハンバーガーメニュー
**********************/
/* @media screen and (max-width: 768px) {
	.g_nav .sp_m_nav_open {
		background-color: unset;
		color: #8f0000;
		padding: 10px;
	}
	.g_nav .sp_m_nav_open::before {
		margin-bottom: 15px;
		box-shadow: 0 11px, 0 -11px, 0 0;
	}
	.g_nav .sp_m_nav label:hover, .g_nav .sp_m_nav a:hover {
		background-color: #ccc;
		color: #8f0000;
	}
} */



/*********************
ぱんクズリスト　ハンバーガーメニュー
**********************/
.breadcrumbs > span > a {
	color: #000;
}

.breadcrumbs > span:last-child {
	color: #8f0000;
}




/*********************
Global Navi
**********************/

/*---- ヘッダー ----*/
.site .site-header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	top: -45px;
}

.head-search {
	margin: 0 0 0 20px;
}

.head-search .gsc-input-box {
	border-radius: 8px;
}

.gsc-search-button-v2[class] {
	border-radius: 18px;
}

.gsc-search-button-v2:hover,
.gsc-search-button-v2:focus {
	border-color: #bbbbbb !important;
}

#headNewNav {
	display: flex;
	margin: 0 auto;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	align-content: center;
	justify-content: center;
	width: 100%;
}

.head-logo {
	padding: 0;
}

.head-logo a {
	display: block;
}
/* nav#site-navigation {
	margin: 0 0 15px 0;
} */

ul#menu-globalnavi {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: center;
	align-items: center;
	justify-content: flex-start;
}


ul#menu-globalnavi li>a {
	float: unset;
}

ul#menu-globalnavi li>a:hover,
ul#menu-globalnavi>li:hover a {
	background-color: #8f0000;
	color: #ffffff;
}

ul#menu-globalnavi>li:hover a {
	background-color: #8f0000;
	color: #ffffff;
}

ul#menu-globalnavi>li:hover ul.sub-menu li a {
	background-color: #fff;
	color: #000;
}

ul#menu-globalnavi>li ul.sub-menu li a:hover {
	background-color: #8f0000;
	color: #fff;
}

/* ul#menu-globalnavi>li {
	width: calc(100% / 6);
} */

#site-navigation .menu-globalnavi-container {
	border-bottom: 3px solid rgba(201, 202, 202, .4);
}

#site-navigation .g_nav .m_nav {
	border-right: none; 
}

ul#menu-globalnavi li>a {
	color: #8f0000;
	text-transform: unset;
}

#site-navigation .g_nav .m_nav > li {
	border: none;
	float: none;
	display: flex;
	position: relative;
	margin: 0 0 0 25px;
}

#site-navigation .g_nav .m_nav > li:first-child {
	margin: 0;
}

#site-navigation .main-navigation li a {
	color: #9e1f24;
	font-family: 'GENJ LP';
	font-weight: 500;
}

ul#menu-globalnavi>li:before {
	content: '\025cb';
	font-size: .7em;
	position: absolute;
	top: calc( 50% - 10px );
	left: -18px;
	color: #8f0000;
}

ul#menu-globalnavi>li:first-child:before{
	content:"";
}

ul#menu-globalnavi>li:first-child>a:before {
	content: "";
}

.main-navigation li ul.sub-menu {
	margin: 0 0 0 -50px;
}

.main-navigation ul li:hover>ul {
	border-left: 0;
	display: block;
	padding: 10px 0 0;
}

.g_nav .m_nav ul.sub-menu > li {
	border-top: unset;
	margin: 0px;
}

ul.sub-menu li {
	padding: 0;
}

ul#menu-globalnavi li ul li>a {
	width: 270px;
	background-color: #fff;
	border-right: 1px solid #8f0000;
	border-bottom: 1px solid #8f0000;
	border-left: 5px solid #8f0000;
	color: #000;
	font-size: 13px;
	text-align: left;
	padding: 0px 5px;
	line-height: 30px;
	display: block;
	font-weight: normal;
	min-height: 35px;
}

.main-navigation li ul.sub-menu li:first-child a {
	border-top: 1px solid #8f0000;
}

#site-navigation .g_nav>ul.m_nav {
	display: none;
}

.main-navigation ul li ul li:hover ul {
	padding: 0;
	margin: -110px 0 0 0;
}

.main-navigation ul.m_nav li.sp_m_nav ul li ul {
	margin: 0;
}

.home .blogid-1 .g_nav {
	visibility: visible;
}

@media screen and (max-width: 769px) { 
	.head-search {
		display: none;
	}
	.head-logo {
		display: block;
		margin: 10px 0 0 10px;
	}
	.head-logo a {
		width: fit-content;
	}
	#headNewNav {
		display: inline-block;
	}
	nav#site-navigation{
		margin: 0;
	}
	.menu-globalnavi-container {
		display: none;
	}
	#site-navigation .g_nav>ul.m_nav {
		display: flex;
	}
	.main-navigation li ul li a {
		width: 100%;
	}
	.g_nav [id="sp_m_nav"]:checked ~ ul {
		padding: 0;
	}
	.main-navigation ul li:hover>ul{
		padding: 0;
	}
	.m_nav .sp_m_nav a {
		background-color: #fff;
	}
	.main-navigation .m_nav .sp_m_nav a,
	nav#site-navigation ul li a {
		text-transform: none;
	}
}

@media screen and (max-width: 420px) {
	/* #headNewNav .catch {
		display: flex;
		align-content: center;
		align-items: center;
		font-size: 10px;
		justify-content: center;
		height: 45px;
	} */
	.site .site-header {
		top: 0;
	}
	.g_nav {
		top: 5px;
	}
}






/*********************
hamburger-menu　ハンバーガーメニュー
**********************/
/* @media screen and (max-width: 768px) {
	.g_nav .sp_m_nav_open {
		background-color: unset;
		color: #8f0000;
		padding: 10px;
	}
	.g_nav .sp_m_nav_open::before {
		margin-bottom: 15px;
		box-shadow: 0 11px, 0 -11px, 0 0;
	}
	.g_nav .sp_m_nav label:hover, .g_nav .sp_m_nav a:hover {
		background-color: #ccc;
		color: #8f0000;
	}
} */



@media screen and (max-width: 768px) {
	div#headNewNav {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.pcNone.sp_nav_menu {
		position: absolute;
		right: 0;
	}
	.sp_menu_btn.hamburger-menu{
		position: relative;
		/* background-color: #8f0000; */
		cursor: pointer;
		width: 46px;
		height: 46px;
		border-radius: 3px;
		z-index: 999;
	}
	.sp_menu_btn.hamburger-menu span {
		display: inline-block;
		transition: all .4s;
		position: absolute;
		left: 9px;
		height: 3px;
		border-radius: 2px;
		background-color: #8f0000;
		width: 65%;
	}
	.sp_menu_btn.hamburger-menu span:nth-of-type(1) {
		top: 12px;
	}
	.sp_menu_btn.hamburger-menu span:nth-of-type(2) {
		top: 23px;
	}
	.sp_menu_btn.hamburger-menu span:nth-of-type(3) {
		top: 34px;
	}
	/*activeクラスが付与されると線が回転して×に*/
	.sp_menu_btn.hamburger-menu.active span:nth-of-type(1) {
		top: 15px;
		left: 12px;
		transform: translateY(6px) rotate(-45deg);
		width: 55%;
	}
	.sp_menu_btn.hamburger-menu.active span:nth-of-type(2) {
		opacity: 0;
	}
	.sp_menu_btn.hamburger-menu.active span:nth-of-type(3){
		top: 27px;
		left: 12px;
		transform: translateY(-6px) rotate(45deg);
		width: 55%;
	}

	#site-navigation .menu-sp_globalnavi-container {
		overflow-x: hidden;
    	position: relative;
	}
	#site-navigation .menu-sp_globalnavi-container ul.sp_nav_menu_inner {
		position: fixed;
		width: 100%;
		top: 0;
		right: -500px;
		background-color: rgba(33,33,33,.9);
		height: 100%;
		padding: 35px;
		padding-top: 50px;
		transition: .5s;
		display: block;
	}
	#site-navigation ul#menu-sp_globalnavi.sp_nav_menu_inner.menu-active {
		right: 0px;
		overflow-y: auto;
	}
	#site-navigation ul#menu-sp_globalnavi.sp_nav_menu_inner li {
		width: 100%;
		margin: 0;
		border-top: 1px solid #999;
		display: block;
	}
	#site-navigation ul#menu-sp_globalnavi.sp_nav_menu_inner li a {
		width: 100%;
		justify-content: flex-start;
	}
	#site-navigation ul#menu-sp_globalnavi.sp_nav_menu_inner li.menu-item-has-children a {
		background-color: #ccc;
		font-weight: normal;
		color: #000;
	}
	#site-navigation ul#menu-sp_globalnavi.sp_nav_menu_inner li.menu-item-has-children > a:before {
		margin-right: 0.9em;
		line-height: 1;
		display: block;
		content: "";
		width: 3px;
		height: 3px;
		background-color: currentColor;
		transform: scale(1);
		transition: box-shadow .3s;
		box-shadow: 0 2px, 0 -2px, 0 4px, 0 -4px, 2px 0, -2px 0, 4px 0, -4px 0, 0 0;
	}
	#site-navigation ul#menu-sp_globalnavi.sp_nav_menu_inner li.menu-item-has-children.active > a:before {
		box-shadow: 0 0, 0 0, 0 0, 0 0, 3px 0, -3px 0, 4px 0, -4px 0, 0 0;
	}

	#site-navigation ul#menu-sp_globalnavi.sp_nav_menu_inner li.menu-item-has-children ul {
		position: inherit;
		width: 100%;
		margin: 0;
		transition: 0.3s;
	}
	#site-navigation ul#menu-sp_globalnavi.sp_nav_menu_inner li.menu-item-has-children ul {
		display: none;
	}
	#site-navigation ul#menu-sp_globalnavi.sp_nav_menu_inner li.menu-item-has-children.active ul {
		display: block;
	}
	#site-navigation ul#menu-sp_globalnavi.sp_nav_menu_inner li.menu-item-has-children ul.sub-menu li a {
		background-color: #eee;
		border: none;
		padding-top: 9px;
		padding-left: 25px;
	}
}









/*********************
TOPメイン top-page
**********************/

.top-page>.read-me {
	display: flex;
	flex-direction: row;
	align-content: center;
	justify-content: flex-end;
	align-items: center;
	position: relative;
	margin: 0 0 30px;
}

.top-page>.read-me a {
	padding: 5px 20px;
	border: 1px solid #8f0000;
	box-shadow: 2px 2px 5px #ccc;
	position: absolute;
	z-index: 1;
	font-size: 18px;
	line-height: 24px;
	top: -28px;
	border-radius: 10px;
}

.top-page>.read-me a:before {
	display: inline-block;
	content: "◯";
	margin: 0 20px 0 0;
}

.top-page>.read-me a:hover {
	background-color: #8f0000;
	color: #fff;
}

section.mainVisual {
	background: url(images/topBackgroundB.png) no-repeat;
	background-size: 100%;
	background-position: left 0 bottom -20px;
	height: 820px;
}

/*---- topメインメニュー ----*/
#circle-box {
	position: absolute;
	z-index: 3;
	width: 100%;
	height: 650px;
}
#circle-box .item {
	position: absolute;
}
#circle-box .item {
	border: 2px solid #fff;
	border-radius: 90px;
}

#circle-box .item01 {
	right: 27%;
	top: -25px;
}
#circle-box .item02 {
	right: 12%;
	top: 70px;
}
#circle-box .item03 {
	right: 4%;
	top: 220px;
}
#circle-box .item04 {
	right: 4%;
	bottom: 160px;
}
#circle-box .item05 {
	right: 12%;
	bottom: 20px;
}
#circle-box .item06 {
	right: 27%;
	bottom: -80px;
}
#circle-box .item07{
	left: 27%;
	bottom: -80px;
}
#circle-box .item08 {
	left: 12%;
	bottom: 20px;
}
#circle-box .item09 {
	left: 4%;
	bottom: 160px;
}
#circle-box .item10 {
	left: 4%;
	top: 220px;
}
#circle-box .item11 {
	left: 12%;
	top: 70px;
}
#circle-box .item12 {
	left: 27%;
	top: -25px;
}


#top-slide-wrap .top-slider,
#top-slide-wrap .top-slide-base {
	position: absolute;
	transform: translateX(-50%);
	display: block;
	transform-origin: center center 0;
	animation: top-slide-img 30s -30s infinite linear both;
}

#top-slide-wrap img.top-slide-base {
	height: 710px;
	width: auto;
	left: 50%;
	top: -30px;
	transform: translateX(-50%);
	animation: none;
}

#top-slide-wrap img.top-slider{
	top: 340px;
	width: 500px;
	height: auto;
	left: 50%;
}
#top-slide-wrap img:nth-of-type(3){
	width: 560px;
}




/* 20210831 houki add */
@media screen and (min-width: 769px) {
	#mainVisual {
		height: 700px;
		position: relative;
		/* min-width: 968px; */
	}
	#top-slide-wrap img:nth-of-type(3) {
		animation-delay: -15s;
	}
	
}

@media screen and (max-width: 768px) {
	.top-page>.sp-catch {
		display: flex;
		align-content: center;
		align-items: center;
		font-size: 10px;
		justify-content: center;
		height: 45px;
	}
	#top-slide-wrap {
		display: none;
	}
	.home .blogid-1 .wrapper {
		padding-top: 0;
		background: none;
	}
}





/*---- 
top 丸ボタン 共通化 
----*/

#circle-box .item,
#sp_circle-box a,
section.mainVisualUnderBtn .btnWrap a {
	box-sizing: border-box;
	transition: 0.3s;
}

#circle-box .item .ccBtn,
#sp_circle-box .ccBtn,
section.mainVisualUnderBtn .btnWrap .ccBtn {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-content: center;
	justify-content: center;
	align-items: center;
	width: 115px;
	height: 115px;
	text-align: center;
	border-radius: 80px;
	box-shadow: 2px 2px 5px 0px rgb(0 0 0 / 30%);
	font-size: 17px;
}

#sp_circle-box .ccBtn {
	font-size: 14px;
	--widthA: 330px;
	--widthB: calc(var(--widthA) / 4);
	width: var(--widthB);
	height: var(--widthB);
}

#circle-box .item .ccBtn.ftsz-S {
	font-size: 15px;
}

#sp_circle-box .ccBtn.ftsz-S {
	font-size: 11px;
}

section.mainVisualUnderBtn .pcNone .ccBtn {
	font-size: 14px;
}

#circle-box .item .btnRed,
#sp_circle-box .btnRed,
section.mainVisualUnderBtn .btnWrap .btnRed {
	background: -moz-radial-gradient(rgb(191 43 43), #8f0000); 
	background: -webkit-radial-gradient(rgb(191 43 43), #8f0000); 
	background: -ms-radial-gradient(rgb(191 43 43), #8f0000); 
	background: radial-gradient(rgb(191 43 43), #8f0000); 
	background:linear-gradient(to bottom, rgb(191 43 43), #8f0000); /* IE */
	color: #fff;
	border: 4px solid #fff;
	text-decoration: none;
}

#sp_circle-box .btnRed {
	border: 4px solid #fff;
	font-size: 14px;
	display: block;
}

/* #circle-box .item .btnWht, */
#sp_circle-box .btnWht,
section.whatsKatari .btnWrap .btnWht,
section.info .top-main-news-more a.btnWht {
	background-color: #fff;
	color: #8f0000;
	border: 2px solid #8f0000;
}

#circle-box .item .btnWht span {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-content: center;
	justify-content: center;
	align-items: center;
	width: 110px;
	height: 107px;
	text-align: center;
	border-radius: 80px;
	font-size: 17px;
	background-color: #fff;
	color: #8f0000;
	border: 1px solid #8f0000;
}

#circle-box .item .btnWht span.ftsz-S {
	font-size: 15px;
}

#circle-box .item .ccBtn.btnWht {
	border: 4px solid white;
	text-decoration: none;
}

section.mainVisualUnderBtn .btnWrap .item {
	border: 2px solid #fff;
	border-radius: 80px;
	transition: 0.3s;
}

#circle-box .item:hover,
section.mainVisualUnderBtn .btnWrap .item:hover  {
	border: 2px solid #8f0000;
	border-radius: 100px;
}

section.mainVisualUnderBtn .btnWrap, 
section.whatsKatari .btnWrap {
	display: flex;
	justify-content: center;
	gap: 120px;
}

/*---- top  丸ボタン ----*/
section.mainVisualUnderBtn {
	text-align: center;
	/* background: url("images/topBackimage.jpg") no-repeat;
	background-size: 100%;
	height: 400px; */
	margin: 10px 0 70px;
}

/* section.mainVisualUnderBtn p {
	letter-spacing: 0.1em;
	margin-bottom: 30px;
	font-family: 'GENJ LP';
	font-weight: 500;
} */


/*section.mainVisualUnderBtn .dipexInternationalLogo {
	margin: 50px 0 30px;
}*/

section.mainVisualUnderBtn .dipexInternationalLogo img {
	width: 150px;
}

/*---- お知らせ ----*/
section.info {
	position: relative;
	height: 622px;
	width: 968px;
	background: url("images/info_bg.png") no-repeat;
	background-size: 100%;
	margin-bottom: 7rem;
}
/* 
#content .top-main-news {
	position: relative;
	color: #9e1f24;
	padding: 50px 0 50px 0;
	display: block;
	height: 700px;
	width: 968px;
} */

section.info .top-main-news {
	display: block;
	padding: 0;
}


section.info .top-main-news .top-main-news-heading {
	position: absolute;
	display: block;
	right: 220px;
	top: 40px;
}

section.info .top-main-news a {
	color: #9e1f24;
	text-decoration: none;
}

section.info .top-main-news a:hover {
	text-decoration: underline;
}

section.info .top-main-news .top-main-news-more {
	position: absolute;
	bottom: 40px;
	right: 235px;
	margin-top: 10px;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-content: center;
	justify-content: center;
	align-items: center;
}

section.info .top-main-news .top-main-news-box {
	/* margin: 125px 0 0 85px;
	position: absolute;
	width: 87%; */
	position: absolute;
	top: 145px;
	left: calc(50% - 400px);
	width: 87%;
	margin: 0;
}

section.info .top-main-news-box dl {
	border: none;
	font-weight: 500;
	font-size: 1.1rem;
}

section.info .top-main-news-box dl dd {
	border: none;
	font-weight: 500;
	font-size: 1.2rem;
	padding: 12px 0;
}

/*.top-main-news-more p {
	text-align: left;
}*/

section.info .top-main-news-box dl dt p.wponw-post-title::before {
	content: "";
	width:  10px;               /* 幅指定 */
	height:  10px;              /* 高さ指定 */
	display:  inline-block;     /* インラインブロックにする */
	background-color: #9e1f24;  /* 背景色指定 */
	border-radius:  50%;        /* 要素を丸くする */
	margin-right: 10px;
}

/* .top-main-news-box dl dt {
	margin: 0 20px;
} */

section.info .top-main-news-box dl {
	margin: 0;
}

section.info .top-main-news-box dl dt {
	width: 165px;
	font-size: 1.2rem;
	margin: 0 35px 0 0;
	padding: 12px 0;
}

section.info .top-main-news-heading h2 {
	font-size: 2.57rem;
	font-weight: 500;
}

section.info .top-main-news-heading h2::before {
	content: "";
	padding: 0;
	vertical-align: unset;
}

section.info .top-main-news-more a.ccBtn,
section.hajimeni a.ccBtn,
section.whatsKatari .btnWrap .ccBtn {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-content: center;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	border-radius: 50%;
	text-decoration: none;
	box-shadow: 2px 2px 5px 0px rgb(0 0 0 / 30%);
	text-align: center;
}

section.info .top-main-news-more a.ccBtn,
section.hajimeni a.ccBtn {
	font-size: 1.5rem;
	line-height: 30px;
	width: 120px;
	height: 120px;
}

section.hajimeni a.btnGrn {
	border: 2px solid #006e35;
	color: #006e35;
}

section.info .top-main-news-more a.ccBtn:hover,
section.hajimeni a.ccBtn:hover  {
	color: #fff;
	transition: 0.2s;
}

section.info .top-main-news-more a.btnWht ,
section.whatsKatari .btnWrap .btnWht {
	border: 2px solid #9e1f24;
}

section.info .top-main-news-more a.btnWht:hover,
section.whatsKatari .btnWrap .btnWht:hover {
	background-color: #8f0000;
	border: 1px solid #8f0000;
	color: #fff;
}

section.hajimeni a.btnGrn:hover {
	background-color: #006e35;
	border: 1px solid #006e35;
	color: #fff;
}

section.info .top-main-news-more p::before {
	padding: 0;
	content: "";
	vertical-align: unset;
}


section.whatsKatari .btnWrap .ccBtn {
	width: 220px;
	height: 220px;
	font-size: 1.15rem;
	font-weight: bold;
	line-height: 35px;
	min-width: 200px;
	min-height: 200px;
	transition: 0.3s;
}


/*---- はじめに＆もっと知る ----*/
/* .circle02 a {
	position: absolute;
	display: inline-block;
	left: 10%;
	top: 5%;
	font-size: 1.5rem;
	padding: 20px;
	color: #006e35;
	font-family: 'GENJ LP';
	font-weight: 500;
} */

section.hajimeni {
	position: relative;
	margin-bottom: 30px;
}

section.hajimeni h2.heading {
	position: absolute;
	top: 0;
	left: 50px;
	height: 156px;
	width: auto;
}

section.hajimeni .HajimeniImg {
	position: initial;
	display: block;
	height: 620px; 
}

section.hajimeni .HajimeniImg img {
	display: block;
	margin: 0 auto;
}

/* section.hajimeni .HajimeniImg {
	position: absolute;
	top: 20px;
	height: 511px;
}

section.hajimeni .HajimeniImg img {
	display: block;
	margin: 0 auto;
	width: 90%;
} */

section.hajimeni .topHajimeni-more {
	position: absolute;
	z-index: 4;
	top: 255px;
	right: 60px;
}

section.hajimeni .topHajimeni-text {
	position: absolute;
	bottom: 0;
}

section.hajimeni .topHajimeni-text,
section.whatsKatari .whatsKatari-text {
	margin: 30px 0;
	line-height: 3rem;
	font-size: 1.28rem;
	letter-spacing: -0.02rem;
	font-weight: 500;
}


/*---- 健康と病いの語りって何？ ----*/
section.whatsKatari {
	color: #9e1f24;
	position: relative;
	margin-bottom: 50px;
}

section.whatsKatari .clockImg img, 
section.whatsKatari .oyakoImg img {
	display: block;
	margin: 0 auto;
}

section.whatsKatari h2.heading {
	position: absolute;
	z-index: 5;
	top: 24%;
	left: 25%;
	font-size: 2rem;
	font-weight: 500;
}

section.whatsKatari h2.heading img {
	vertical-align: middle;
}

section.whatsKatari .btnWrap {
	gap: 250px;
	margin: 100px 0 0;
}


/*----topContents01----*/
section.bookMovie {
	margin: 100px 0;
}

section.bookMovie .listWrap {
	width: 510px;
	display: block;
	margin: 0 auto;
}

section.bookMovie .links-logo {
	margin: 20px auto;
	width: 225px;
}

section.bookMovie .movie-list a img,
section.bookMovie .book-list a img {
	transition: 0.5s;
}

section.bookMovie .movie-list a:hover img, section.bookMovie .book-list a:hover img {
	margin: 0 0 0 40px;
}


/*---- Links ----*/
section.links {
	display: block;
	margin: 100px 0 0;
}

section.bookMovie .heading,
section.links .heading {
	margin: 50px 0;
}

section.bookMovie .heading img,
section.links .heading img {
	display: block;
	margin: 0 auto;
}

section.links .linkBoxWrap {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-content: center;
	align-items: center;
	justify-content: center;
	gap: 50px 0;
}

section.links .linkBoxWrap .linkBox {
	width: 70%;
	position: relative;
	/* background-size: 100%; */
	height: 287px;
	background-repeat: no-repeat;
	min-width: 650px;
}

section.links .linkBoxWrap .boxRight2 {
	/* background: url("images/linkBackL.png") no-repeat; */
	background-image: url("images/oralHealthCare_bg2.png");
	background-size: 60%;
	background-position: left 5%;
}

section.links .linkBoxWrap .boxCenter {
	/* background: url("images/linkBackL.png") no-repeat; */
	background-image: url("images/oralHealthCare_bg3.png");
	background-size: 92%;
	/* background-position: left; */
}

section.links .linkBoxWrap .boxRight {
	/* background: url("images/linkBackR.png") no-repeat; */
	background-image: url("images/eduDipex_bg.png");
	/* background-position: right; */
	background-size: 60%;
}

/* section.links .linkBox img.link-img {
	margin: 20px;
} */

section.links .linkBox .linkBox_inner {
	position: absolute;
}

section.links .linkBox .banner {
	right: 20px;
	transition: 0.3s;
}

section.links .linkBox .banner:hover {
	right: 0px;
}

section.links .boxLeft .banner {
	top: 75px;
}

section.links .boxRight .banner {
	top: 105px;
}

section.links .linkBox .banner img {
	width: 470px;
}

section.links .boxRight2 .banner img{
	margin-top: 75px;
}
section.links .boxCenter .banner img {
	margin-top: 50px;
}

section.links .linkBox .txt {
	right: 50px;
	bottom: 50px;
}

section.links .boxLeft .txt {
	top: 140px;
}

section.links .boxRight .txt {
	top: 170px;
}


section.links .linkBox .linkBox_inner p {
	width: 95%;
	margin-left: 20px;
	/* font-weight: 500; */
	font-size: 15px;
	padding-bottom: 5px;
}

section.links .boxCenter .linkBox_inner p {
	border-bottom: 3px solid #9e1f24;
}

section.links .boxRight .linkBox_inner p {
	border-bottom: 3px solid #006e35;
}

section.links .boxRight2 .linkBox_inner p {
	border-bottom: 3px solid #006e35;
	padding-bottom: -15px;
}

section.links .linkBox .linkBox_inner h4 {
	margin: 0 0 10px 20px;
	font-size: 1.25rem;
	font-weight: 500;
}

/* section.links .linkBox .linkBox_inner img {
	width: 115%;
} */


/*--------------
pcNone
--------------*/
#spTopVisual img {
	width: 100%;
}

/* #sp_circle-box {
	background: url("images/topBackgroundB.png") no-repeat;
	background-size: 100%;
	background-position: bottom;
} */

.sp_circle-flex {
	display: flex;
	justify-content: space-evenly;
	flex-direction: row;
	flex-wrap: wrap;
	align-content: center;
	align-items: center;
	gap: 5px;
	margin-bottom: 10px;
	min-width: 340px;
}


@media screen and (min-width: 769px) {
	.pcNone {
		display: none;
	}
}
@media screen and (max-width: 900px) {

}
@media screen and (max-width: 768px) {
	.spNone {
		display: none;
	}
	.top-page>.read-me {
		margin: 35px 0 15px;
	}
	#sp_circle-box {
		height: 450px;
	}
	section.mainVisualUnderBtn {
		margin: 0;
		height: auto;
		/* padding: 30px 0; */
	}
	section.mainVisualUnderBtn .btnWrap {
		gap: 50px;
	}
	section.mainVisualUnderBtn .btnWrap .ccBtn {
		font-size: 14px;
		--widthA: 330px;
		--widthB: calc(var(--widthA) / 4);
		width: var(--widthB);
		height: var(--widthB);
	}
	section.info {
		background-image: url("images/SP_info-top.png"),
						url("images/SP_info-bottom.png");
		background-repeat: no-repeat,no-repeat;
		background-position: top,bottom;
		width: 75%;
		height: auto;
		margin: 0 auto;
		margin-bottom: 100px;
	}
	section.info .top-main-news {
		border: none;
		height: auto;
		padding: 15px 0 80px 0;
		/*
		background: rgba(158,31,36,0.1);
		border-radius: 10%; */
	}
	section.info .top-main-news .top-main-news-heading {
		position: static;
		margin: 55px 0 0;
	}
	section.info .top-main-news .top-main-news-box {
		position: static;
		margin: 20px auto 0;
		width: 100%;
	}
	section.info .top-main-news-box dl,
	section.info .top-main-news-box dl dd {
		margin: 0;
		margin-bottom: 10px;
		font-weight: 400;
		font-size: 1rem;
	}
	section.info .top-main-news-box dl dt {
		width: 12em;
		padding: 5px 0 0;
	}
	section.info .top-main-news-box dl dd{
		padding: 0;
	}
	section.info .top-main-news-box dl dt>p {
		font-size: 0.85rem;
		font-weight: bold;
	}
	section.info .top-main-news .top-main-news-more {
		position: static;
		margin: 40px 0 0;
	}
	section.info .top-main-news-more a.ccBtn,
	section.hajimeni a.ccBtn {
		font-size: 1.2rem;
		line-height: 20px;
		width: 85px;
		height: 85px;
	}
	section.hajimeni {
		height: 585px;
		margin-bottom: 40px;
	}
	section.whatsKatari h2.heading {
		top: 21%;
		left: calc( 50% - 230px );
		font-size: 2rem;
	}
	section.whatsKatari h2.heading img {
		width: 15px;
		margin: -2px 1px 0 0;
	}
	section.whatsKatari .oyakoImg img {
		width: 100%;
	}
	section.whatsKatari .btnWrap {
		gap: 50px;
	}

	/* bookMovie */
	.topContents01_box {
		justify-content: center;
		margin-top: 20px;
	}
	.topDouga01, .topDouga02 {
		width: 40%;
	}

	.banner_syoseki img {
		width: 96%;
	}

	/* Links */
	section.links .linkBoxWrap {
		align-items: center;
		justify-content: center;
		align-content: center;
	}
	/* section.links .linkBoxWrap .linkBox {
		width: 520px;
		display: block;
		margin: 0 auto;
		min-width: 100%;
	} */
	section.links .linkBoxWrap {
		gap: 0;
	}
	/* section.links .linkBox img.link-img {
		width: 260px;
	} */
	/* section.links .linkBox .linkBox_inner {
		top: 80%;
	} */
	section.links .linkBox .linkBox_inner p {
		font-size: 0.82rem;
	}
	section.links .linkBox .linkBox_inner h4 {
		letter-spacing: -0.1rem;
	}
	/* section.links .linkBox .linkBox_inner img {
		width: 100%;
	}  */

}
@media screen and (max-width: 425px) {
	.spNone {
		display: none;
	}
	.top-page>.read-me {
		display: none;
	}
	section.mainVisual {
		height: auto;
	}
	#sp_circle-box {
		height: 320px;
	}
	section.mainVisualUnderBtn .btnWrap .ccBtn{
		font-size: 14px;
		--widthA: 330px;
		--widthB: calc(var(--widthA) / 4);
		width: var(--widthB);
		height: var(--widthB);
	}
	section.mainVisualUnderBtn .btnWrap, 
	section.whatsKatari .btnWrap {
		gap: 50px;
	}
	section.mainVisualUnderBtn .dipexInternationalLogo{
		margin: 50px 0 0px;
	}
	section.mainVisualUnderBtn .dipexInternationalLogo img{
		width: 110px;
	}
	section.info {
		width: auto;
		margin: 0 0 50px 0;
	}
	section.hajimeni {
		height: auto;
	}
	section.hajimeni h2.heading {
		position: static;
		height: auto;
	}
	section.hajimeni h2.heading img {
		display: block;
		margin: 0 auto;
		width: 180px;
	}
	section.hajimeni .HajimeniImg {
		position: static;
		height: auto;
	}
	section.hajimeni .HajimeniImg img {
		width: 100%;
	}
	section.hajimeni .topHajimeni-more {
		position: inherit;
		width: 85px;
		margin: 20px auto;
	}
	section.hajimeni .topHajimeni-text {
		position: static;
	}
	section.hajimeni .topHajimeni-text,
	section.whatsKatari .whatsKatari-text {
		font-size: 1rem;
		line-height: 2rem;
	}    
	section.whatsKatari .clockImg img {
		width: 60px;
	}
	section.whatsKatari h2.heading {
		top: 17%;
		left: 10%;
		font-size: 1.2rem;
	}
	section.whatsKatari .oyakoImg img {
		width: 100%;
	}
	section.whatsKatari .btnWrap .ccBtn {
		width: 130px;
		height: 130px;
		font-size: 0.7rem;
		line-height: 1.4rem;
		min-width: 130px;
		min-height: 130px;
	}
	section.bookMovie .listWrap {
		width: 250px;
	}
	section.bookMovie .listWrap .movie-list img,
	section.bookMovie .listWrap .book-list img {
		width: 250px;
	}
	section.bookMovie .listWrap .links-logo img {
		width: 175px;
	}
	section.links .linkBoxWrap .linkBox {
		width: 280px;
		/* background-size: 100%; */
		height: 150px;
		/* margin: 25px 0 80px; */
		margin: 0;
		min-width: 100%;
	}
	section.links .linkBox .banner {
		right: 10px;
	}
	section.links .boxLeft .banner {
		top: 42px;
	}
	section.links .linkBox .banner img {
		width: 240px;
	}
	section.links .linkBox .txt {
		right: -15px;
	}
	section.links .boxLeft .txt {
		top: 82px;
	}
	section.links .linkBox .linkBox_inner p {
		width: 95%;
		font-size: 10px;
	}
	section.links .linkBoxWrap .boxLeft {
		background-size: 95%;
	}
	section.links .linkBoxWrap .boxRight {
		background-size: 63%;
	}
	section.links .boxRight .banner {
		top: 57px;
	}
	section.links .boxRight .txt {
		top: 95px;
	}
	section.links .linkBox .linkBox_inner h4 {
		font-size: 1rem;
	}
	.gotop a img {
		width: 100%;
	}
	.home .blogid-1 .wrapper .gotop {
		padding-right: 0;
	}
}

@media screen and (max-width: 372px) {
	#sp_circle-box {
		height: 280px;
	}
	.sp_circle-flex {
		min-width: 95vw;
		justify-content: space-around;
		gap: 0px;
	}
	#sp_circle-box .ccBtn {
		font-size: 10px;
		--widthA: 95vw;
	}
	#sp_circle-box .btnRed {
		border: 2px solid #fff;
		font-size: 12px;
	}
	#sp_circle-box .ccBtn.ftsz-S {
		font-size: 10px;
	}
	section.whatsKatari h2.heading {
		top: 14%;
		left: 8%;
		font-size: 1rem;
	}
	section.mainVisualUnderBtn .btnWrap,
	section.whatsKatari .btnWrap {
		gap: 10px;
	}
	section.links .linkBox .banner {
		right: -30px;
	}
}


@media print {
	
}

/*---- footer ----*/
.sp_footerWarning {
	text-align: center;
}
.sp_footerWarning p {
	padding: 20px 0;
}
/* .gotop {
	padding: 0;
	right: 5rem;
	bottom: 10rem;
} */

.wrapper .gotop {
	right: 5rem;
	bottom: 10rem;
	padding: 0;
}
.wrapper .gotop a {
	background-color: transparent;
	box-shadow: none;
}
.wrapper .gotop a::before {
	display: none;
}

@media screen and (max-width: 425px) {
	.wrapper .gotop {
		right: 0.5rem;
		bottom: 6.5rem;
		padding: 0;
		position: fixed;
	}
}

.spTop_linkBtn {
	display: flex;
	justify-content: space-evenly;
	flex-wrap: wrap;
	flex-direction: row;
	align-content: center;
	align-items: center;
}
/*
.spTop_linkBtn .twitter,
.spTop_linkBtn .facebook {
	margin: 0 30px;
	width: 50px;
	height: 50px;
	background: #21759b;
	border-radius: 30px;
	text-align: center;
}
.spTop_linkBtn .twitter i,
.spTop_linkBtn .facebook i {
	color: #FFFFFF;
	font-size: 2rem;
	margin-top: 10px;
} */

.spTop_linkBtn .twitter a,
.spTop_linkBtn .facebook a,
.linkBtn.sp_btn .twitter a,
.linkBtn.sp_btn .facebook a {
	font-size: 3.5rem;
	color: #fff;
	border-radius: 50px;
}

.spTop_linkBtn .twitter a,
.linkBtn.sp_btn .twitter a {
	padding: 10px 20px;
	background-color: #009edf;
}

.spTop_linkBtn .facebook a,
.linkBtn.sp_btn .facebook a {
	padding: 10px 45px;
	background-color: #0077bc;
	position: relative;
}

.spTop_linkBtn .facebook a>i,
.linkBtn.sp_btn .facebook a>i {
	position: absolute;
	bottom: -1px;
	left: calc(50% - 18px);
	font-size: 5rem;
}

.linkBtn.sp_btn {
	display: grid;
	align-content: center;
	align-items: center;
	grid-template-columns: repeat(auto-fill, minmax(150px,1fr));
	grid-gap: 40px 0px;
	justify-items: center;
}

.linkBtn.flexBox {
	display: flex;
	flex-wrap: wrap;
	align-content: center;
	justify-content: center;
	align-items: center;
	grid-gap: 75px;
	margin: 40px 0 0;
}


/*　「ご支援ご協力ください」以降メニューここから　*/
.topLowMenu{
	background-image: url(images/footerBack.png);
	background-repeat: no-repeat;
	background-position: bottom center;
	background-size: contain;
	padding-bottom: 250px; 
	position: relative;
}
.topLowMenu > p {
	color: #28903a;
	position: absolute;
	bottom: 185px;
	left: 180px;
}
.topLowMenuFlex{
	display: flex;
	justify-content: space-between;
}
.topLowMenuLeft,.topLowMenuRight{
	width: 23%;
}
.topLowMenuCenter{
	width:50%
}
.topLowMenuItem {
	margin-bottom: 15px;
}
h4.topLowMenuTitle {
	color: #9e1f24;
	margin: 0 0 10px 0;
	padding-left: 10px;
	font-size: 1.2rem;
	font-family: 'GENJ LP';
	font-weight: 700;
	border-bottom: 1px dotted #9e1f24;
}
ul.list-item li{
	margin: 5px 0;
	text-indent: -20px;
	padding-left: 20px;
}
ul.list-item li a{
	color: #9e1f24;
	text-decoration: none;
}
ul.list-item li a::before{
	content: "";
	width: 10px;
	height: 10px;
	display: inline-block;
	background-color: #9e1f24;
	border-radius: 50%;
	margin-right: 10px;
}
.centerItem{
	width: 48%;
}
.topLowMenuCenterLow{
	width: 55%;
	margin: 0 auto;
}
@media screen and (max-width: 768px) {
	.topLowMenuSp{
		font-size: 13px;
		margin: 0 20px;
	}
	.top-page .topLowMenuSp {
		background-image: url(images/sp_footerBack.png);
		background-repeat: no-repeat;
		background-position: bottom center;
		background-size: 110%;
		padding-bottom: 135px;
	}
	/* .topLowMenuSp{
		font-size: 13px;
		background-image: url(images/sp_footerBack.png);
		background-repeat: no-repeat;
		background-position: bottom center;
		background-size: 70%;
		padding-bottom: 135px; 
		margin: 0 20px;
	} */
	.blogid-1 .topLowMenuSp{
		margin: 0;
	}
	.topLowMenuLeftSp{
		width: 32%
	}
	.topLowMenuRightSp{
		width: 65%
	}
	h4.topLowMenuTitle{
		font-size: 14px;
		padding-left: 5px;
	}
	ul.list-item li{
		text-indent: -13px;
		padding-left: 13px;
	}
	ul.list-item li a::before{
		width: 8px;
		height: 8px;
		margin-right: 5px;
	}
	.topLowMenuCenterLow{
		width: 70%;
		margin-bottom: 15px;
	}
	
}
@media screen and (max-width: 425px) {
	.topLowMenuSp {
		background-size: contain;
	}
}
/*　「ご支援ご協力ください」以降メニューここまで　*/



/*********************
footer フッター
**********************/

footer#colophon {
	background-color: #8f0000;
	margin: 0 -20px;
	color: #fff;
}

footer .footer-nav {
	display: inline-block;
	margin: 15px auto;
}

footer .f_nav a {
	color: #fff;
	font-size: 15px;
	text-decoration: none;
}

footer .f_nav a:hover {
	text-decoration: underline;
}

footer ul#menu-footernavi {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-content: center;
	align-items: center;
	justify-content: center;
}

footer ul#menu-footernavi li {
	width: fit-content;
	margin: 5px;
}

footer ul#menu-footernavi li:after {
	content: "⚫︎";
	margin: 0 0 0 8px;
	font-size: 15px;
}

ul#menu-footernavi li:nth-child(5):after,
ul#menu-footernavi li:nth-child(8):after {
	content: "";
}

footer .link {
	display: flex;
	align-content: center;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin: 15px 0;
}

footer .link a {
	margin: 0 15px;
}

footer .copyright {
	text-align: center;
}

footer .copyright p {
	display: inline-block;
	margin: 15px;
}


@media screen and (max-width: 769px) {
	footer#colophon{
		margin: 0;
	}
	footer .link {
		margin: 0;
	}
	footer .pcNone .link a.twitter img,
	footer .pcNone .link a.facebook img {
		width: 50px;
	}
	footer .pcNone .link a.footerLogo img {
		width: 135px;
	}
	footer .pcNone .link a {
		margin: 0 10px;
	}
}




/*********************
支援する　Support
**********************/

section.support {
	background-image: url(./images/bottomImg.png);
	background-position: bottom;
	background-repeat: no-repeat;
	background-size: 105%;
	width: 100vw;
	margin: 90px calc(50% - 50vw) 25px;
	display: inline-block;
	padding: 0 0 70px;
}

/* .top-page section.support {
	background-image: unset;
	margin: 70px 0 25px;
	width: 100%;
	display: inline-block;
} */

section.support > * {
	flex-basis: 600px;
	overflow: visible;
	padding: 0 calc(50% - 490px);
}

section.support .flexBox {
	display: flex;
	flex-wrap: wrap;
	align-content: center;
	justify-content: center;
	align-items: center;
	margin: 40px 0;
	gap: 30px;
}

section.support .flexBox .flexLeft {
	width: 20%;
} 

section.support .flexBox .flexLeft img {
	width: 230px;
}

section.support .flexBox .flexRight {
	width: 45%;
	text-align: left;
}

section.support .flexBox .flexRight ul li {
	list-style: none;
}

section.support .flexBox .flexRight ul li>a {
	background: #fff;
	display: inline-block;
	margin: 10px;
	padding: 5px;
	width: 95%;
	border-radius: 8px;
	border: 1px solid #8f0000;
	box-shadow: 3px 3px 3px #ccc;
}

section.support .flexBox .flexRight ul li>a:hover {
	background-color: #99282c;
	color: #fff;
	transition: 0.2s;
}

section.support .flexBox .flexRight ul li a:before {
	content: "";
	display: inline-block;
	width: 30px;
	height: 28px;
	margin: 0 15px 0 5px;
	background: url(./module-site/common/images/pageIcon_A.png) no-repeat;
	background-size: contain;
	vertical-align: middle;
}

section.support .flexBox .flexRight ul li a:hover:before {
	background: url(./images/supportIcon.png);
	background-repeat: no-repeat;
	width: 30px;
	height: 28px;
	background-size: 29px;
}

section.support .catch h3 {
	font-size: 2.5rem;
}


@media screen and (max-width: 769px) {
	section.support .flexBox {
		margin: 0;
	}
	section.support .flexBox .flexRight ul li a:before{
		margin: 0 10px -5px 5px;
	}
	section.support .flexBox .flexLeft img {
		width: 170px;
	}
	section.support .flexBox .flexRight ul li>a {
		font-size: 16px;
		padding: 3px 0;
		margin: 5px;
	}
	section.support .catch h3 {
		font-size: 2.5rem;
		margin: 20px 0 0;
	}

}

@media screen and (max-width: 425px) {

	/* section.support .flexBox {
		justify-content: space-between;
	} */
	section.support .flexBox .flexLeft {
		width: 75px;
	}
	section.support .flexBox .flexLeft img {
		width: 115px;
	}
	section.support .flexBox .flexRight {
		width: 250px;
		text-align: left;
	}
	section.support .flexBox .flexRight ul li>a {
		font-size: 16px;
		padding: 3px 0;
		margin: 5px;
	}

}





/*********************
page-sitemap.php サイトマップ
**********************/

#sitemap h2, 
#sitemap h3{
	border:none;
}

#sitemap {
	background-image: url(./images/sitemapBgImg.png);
	background-size: 60% auto;
	background-repeat: no-repeat;
	background-position: top 0 right 0;
}

#sitemap section.heading .pageTitle figure {
	background: url(./images/titleWelcome.png) no-repeat;
	background-size: 100% auto;
	width: 320px;
	height: 150px;
}

#sitemap section.heading .pageTitle {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-content: center;
	justify-content: flex-start;
	align-items: center;
}

#sitemap section.heading .pageTitle figure figcaption {
	width: 220px;
	display: flex;
	flex-wrap: wrap;
	align-content: center;
	justify-content: center;
	align-items: center;
	height: 140px;
}

#sitemap section.heading .pageTitle figcaption h1 {
	position: static;
	top: unset;
	width: auto;
	font-size: 2.1em;
	text-align: center;
}

#sitemap section.heading .pageTitle .subTitle {
	margin-left: 40px;
	font-size: 4rem;
}

#sitemap section.sitemap-list {
	margin: 75px 0 0;
}

#sitemap section.sitemap-list a {
	margin: 75px 0 0;
}

#sitemap section.sitemap-list a:hover {
	opacity: 0.8;
}

#sitemap section.sitemap-list a {
	text-decoration: none;
	color: #8f0000;
}

#sitemap section.sitemap-list a:hover {
	text-decoration: underline;
}


#sitemap section.sitemap-list h2 {
	font-weight: bold;
	color: #8f0000;
}

#sitemap section.sitemap-list h2 {
	background-image: url(./images/pageIcon_A.png);
	background-position: left;
	background-repeat: no-repeat;
	background-size: 27px;
	padding: 0px 0 0px 35px;
}

#sitemap section.sitemap-list ul {
	margin: 0 0 50px 20px;
}

section.sitemap-list ul li {
	color: #8f0000;
}

section.sitemap-list ul li {
	color: #8f0000;
	font-size: 1.3rem;
}


@media screen and (max-width:480px) { 
	#sitemap {
		background-image: unset;
	}
	#sitemap section.heading {
		margin: 20px 0;
	}
	#sitemap section.heading .pageTitle figure {
		background-size: 200px;
		width: 200px;
		height: 88px;
	}
	#sitemap section.heading .pageTitle figure figcaption {
		width: 135px;
		height: 88px;
	}
	#sitemap section.heading .pageTitle figcaption h1 {
		font-size: 1.8rem;
	}
	#sitemap section.heading .pageTitle .subTitle {
		margin-left: 15px;
		font-size: 2rem;
	}
	#sitemap section.sitemap-list {
		margin: 50px 0 0;
	}
	#sitemap section.sitemap-list h2 {
		margin: 20px 0;
	}
	#sitemap.entry-content img,
	#welcome-page.entry-content img {
		max-width: unset;
		display: block;
	}
	#sitemap.entry-content ul,
	#welcome-page.entry-content ul {
		list-style: none;
		margin: 0;
	}
	#sitemap.entry-content li,
	#welcome-page.entry-content li {
		margin: 0;
	}
}




/*********************
welcome はじめましての方へ
**********************/

#welcome-page h2, 
#welcome-page h3{
	border:none;
}

#welcome-page section.heading {
	padding: 0 0 100px 0;
	margin: 0 0 50px 0;
}

#welcome-page section.heading {
	background-image: url(./images/bottomImg.png);
	background-position: bottom;
	background-repeat: no-repeat;
	background-size: 105%;
	width: 100vw;
	margin: 70px calc(50% - 50vw) 25px;
}

#welcome-page section.heading > * {
	flex-basis: 600px;
	overflow: visible;
	padding: 0 calc(50% - 490px);
}

#welcome-page section.heading .headingCachImg {
	background: url(./images/HedingWelcomeImg.png) center top / auto 100% no-repeat;
	width: 100%;
	min-height: 555px;
	min-width: 800px;
	position: relative;
	z-index: 0;
}

#welcome-page section.heading .pageTitle {
	position: relative;
}

#welcome-page section.heading .pageTitle figure {
	background: url(./images/titleWelcome.png) no-repeat;
	background-size: 100% auto;
	width: 320px;
	height: 150px;
}

#welcome-page section.heading .pageTitle figure figcaption {
	width: 220px;
	display: flex;
	flex-wrap: wrap;
	align-content: center;
	justify-content: center;
	align-items: center;
	height: 140px;
}

#welcome-page section.heading .pageTitle figcaption h1 {
	position: static;
	top: unset;
	width: auto;
	font-size: 2.1em;
	text-align: center;
}

#welcome-page section.heading .pageCatch {
	font-family: serif;
	max-width: 700px;
	position: relative;
	height: 250px;
	margin: 0 0 0 20px;
}

#welcome-page section.heading .pageCatch>h2 {
	font-size: 28px;
}

#welcome-page section.heading .pageCatch>h3 {
	font-size: 23px;
	margin: 0 0 0 30px;
	line-height: 20px;
}

#welcome-page section.heading .pageCatch img {
	position: absolute;
	bottom: 0px;
	left: 130px;
	width: 180px;
	height: auto;
}

#welcome-page section.heading .txt p {
	font-family: serif;
	margin: 30px 0;
}

#welcome-page .page .txt > p {
	line-height: 30px;
}

#welcome-page .page .txt p:first-child {
	margin-top: 0;
}


#welcome-page section.whatTalk .heading {
	position: relative;
}

#welcome-page section.whatTalk .heading figure {
	background: url(./images/oyako2.png) center center no-repeat;
	background-size: 500px;
	height: 250px;
}

#welcome-page section.whatTalk .heading figure figcaption h1 {
	position: absolute;
	top: calc( 50% - 45px );
	left: calc( 50% - 210px );
} 

#welcome-page section.whatTalk .heading figure figcaption h1:before, 
#welcome-page section.whatTalk .heading figure figcaption h1:after {
	content: "●";
}

#welcome-page section.whatTalk .txt {
	margin: 50px 0;
	line-height: 3rem;
	font-size: 1.28rem;
	letter-spacing: -0.02rem;
	font-weight: 500;
}

#welcome-page section.whatTalk .txt p {
	margin: 0 0 8px 0;
}

#welcome-page section.type-view>.heading,
#welcome-page section.attention .heading {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-content: center;
	justify-content: center;
	align-items: center;
}

#welcome-page section.type-view>.heading figure,
#welcome-page section.attention .heading figure {
	background: url(./images/pageTitle.png) no-repeat left center;
	background-size: 270px;
	width: 270px;
	height: 175px;
}

#welcome-page section.type-view>.heading figure figcaption, 
#welcome-page section.attention .heading figure figcaption {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-content: center;
	justify-content: center;
	align-items: center;
	width: 270px;
	height: 173px;
}

#welcome-page section.type-view>.heading h2,
#welcome-page section.attention .heading figure h2 {
	padding: 0;
	margin: 0;
	font-size: 21px;
}

#welcome-page section.type-view>h3 {
	margin: 50px 0;
}

#welcome-page section.type-view .siteListWrap a {
	color: #8f0000;
	text-decoration: none;
}

#welcome-page section.type-view .siteListWrap ol.flexBox {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-content: center;
	justify-content: flex-start;
	align-items: flex-start;
}

#welcome-page section.type-view .siteListWrap ol {
	counter-reset: count 0;
}

#welcome-page section.type-view .siteListWrap ol li:before {
	content: "0" counter(count);
	counter-increment: count 1;
	color: #8f0000;
	font-size: 1.8rem;
	font-weight: bold;
	position: absolute;
	top: -15px;
}

#welcome-page section.type-view .siteListWrap ol.flexBox li {
	width: 42%;
	margin: 20px;
	position: relative;
	list-style: none;
}

#welcome-page section.type-view .siteItem .heading {
	position: relative;
	height: 85px;
}

#welcome-page section.type-view .siteItem .heading figure {
	background: url(./images/Heading2Title.png) no-repeat left center;
	background-size: 160px;
	position: absolute;
	width: 100%;
	left: 15px;
	height: 80px;
}

#welcome-page section.type-view .siteItem .heading figure h2 {
	position: absolute;
	top: calc( 50% - 15px );
	left: 25px;
	text-shadow: 3px 3px 2px #fff, -3px -3px 2px #fff, -3px 3px 2px #fff, 3px -3px 2px #fff, 3px 0px 2px #fff, -3px 0px 2px #fff, 0px 3px 2px #fff, 0px -3px 2px #fff;
	font-size: 20px;
	font-weight: bold;
}

#welcome-page section.type-view>.txt ul li,
#welcome-page section.attention>.txt ul li {
	margin: 25px 0;
	list-style-image: url(./images/listDisc.png);
	padding: 0 0 0 10px;
	line-height: 2.5rem;
	font-size: 1.28rem;
	letter-spacing: -0.02rem;
	font-weight: 500;
}

#welcome-page section.type-view>.txt ul li a,
#welcome-page section.attention>.txt ul li a {
	color: #43454b;
	text-decoration: none;
}

#welcome-page section.type-view>.txt ul li a:hover,
#welcome-page section.attention>.txt ul li a:hover {
	text-decoration: underline;
}

#welcome-page section.type-view>.txt {
	margin: 0 0 0 28px;
}

#welcome-page section.attention .heading {
	position: relative;
	height: 135px;
	margin: 70px 0;
}

#welcome-page section.attention>.txt {
	margin: 0 0 0 28px;
}

@media screen and (max-width: 768px) {
	/* ページ上部挨拶部分 */
	#welcome-page section.heading_SP .pageTitle{
		display: flex;
		justify-content: space-evenly;
		align-items: center;
	}
	#welcome-page section.heading_SP .pageTitle figure {
		background: url(./images/titleWelcome.png) no-repeat;
		background-size: 100% auto;
		width: 150px;
		height: 75px;
	}
	#welcome-page section.heading_SP .pageTitle figcaption h1 {
		position: absolute;
		width: 100px;
		font-size: 15px;
		margin-left: 3px;
	}
	#welcome-page section.heading_SP .pageTitle p.greeting{
		color: #8f0000;
		font-weight: bold;
		font-size: 20px;
		margin-bottom: 10px;
	}
	#welcome-page section.heading_SP .pageTitle p.greeting,
	#welcome-page section.heading_SP .pageCatch,
	#welcome-page section.heading_SP .txt.ftcl-red{
		font-family: serif;
	}
	#welcome-page section.heading_SP .txt>p {
		margin: 20px 0 15px;
	}
	#welcome-page section.heading_SP .pageCatch h3{
		margin: 15px 0 0 20px;
		font-size: 21px;
		font-weight: bold;
	}
	#welcome-page section.heading_SP .pageCatch img{
		position: absolute;
		top: 89px;
		left: 60%;
		width: 32%;
		height: auto;
	}
	
	#welcome-page section.heading_SP .headingCachImg {
		background: url(./images/HedingWelcomeImgSp.png) center bottom / 100% no-repeat;
		width: 100%;
		height: 370px;
		position: relative;
		z-index: 0;
	}
	
	/* 区切り画像の埋め込み */
	#welcome-page section.whatTalk {
		background-image: url(https://www.dipex-j.org/dementia/wp-content/themes/twentytwelve-child/images/bottomImg.png);
		background-repeat: no-repeat;
		padding: 100px 0;
		background-size: 100vw;
	}

	/* 「健康と病いの語り」って何？部分 */
	#welcome-page section.whatTalk .heading figure {
		background: url(./images/oyako2.png) center center no-repeat;
		background-size: 100%;
		height: 185px;
	}
	#welcome-page section.whatTalk .heading figure figcaption h1{
		left: 15px;
		top: 60px;
		font-size: 19px;
	}
	#welcome-page section.whatTalk .txt {
		line-height: 2.2rem;
		font-size: unset;
	}
	/* 語りサイトの種類と見方/ご利用に当たっての留意点　タイトル部分 */
	#welcome-page section.type-view>.heading figure, #welcome-page section.attention .heading figure{
		background: url(./images/pageTitle.png) no-repeat center;
		background-size: 200px;
	}
	#welcome-page section.type-view>.heading h2{
		top: calc(50% - 11px);
		left: 75px;
		font-size: 17px;
	}
	#welcome-page section.attention .heading figure h2{
		top: calc(50% - 11px);
		left: 62px;
		font-size: 17px;
	}
	
	/* 語りサイトの種類と見方　タイトル下文章 */
	#welcome-page section.type-view>h3{
		font-size: 16px;
	}
	/* 語りサイトの種類と見方　○○の語り部分(タイトル) */
	#welcome-page section.type-view .siteListWrap ol li:before{
		font-size: 23px;
	}
	#welcome-page section.type-view .siteItem .heading figure{
		background-size: 145px;
		height: 90px;
	}
	#welcome-page section.type-view .siteItem .heading figure h2{
		padding-left: 0;
		font-size: 20px;
		font-weight: bold;
	}
	
	/* 語りサイトの種類と見方　○○の語り部分(全体) */
	#welcome-page section.type-view .siteItem .heading {
		margin: 0 0 20px 0; 
	}
	#welcome-page section.type-view .siteItem .heading figure h2{
		top: calc( 50% - 15px );
		left: 40px;
	}
	#welcome-page section.type-view .siteListWrap ol.flexBox{
		display: block;
	}
	#welcome-page section.type-view .siteListWrap ol.flexBox li{
		width: 100%;
		margin: 30px 0;
		padding: 0 25px;
	}
	
	/* 語りサイトの種類と見方/ご利用に当たっての留意点　リスト部分 */
	
	#welcome-page section.type-view>.txt ul li,
	#welcome-page section.attention>.txt ul li{
		background: none;
		padding: 0;
	}
	#welcome-page section.type-view>.txt ul li, #welcome-page section.attention>.txt ul li{
		font-size: 16px;
	}
}


/* credit 調査スタッフ写真入れる */
.staffWrap .staff {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-content: center;
	justify-content: flex-start;
	align-items: center;
}

.staffWrap .staff .notes {
	width: 75%;
}

.staffWrap .staff .staffImg {
	width: 20%;
}

.staffWrap .staff .staffImg img {
	width: 80%;
	max-width: 100px;
	max-height: 100px;
	border: 1px solid currentColor;
}

@media screen and (max-width: 768px) {
	.staffWrap .staff {
		margin: 30px 0;
		justify-content: space-between;
	}
}


/* データシェアリングページフォントサイズ変更 */
.outline .post-19 table.main tr td,
.outline .post-19 table.main tr td p {
    font-size: 13.5px;
}


/* 進行中モジュールページ　見出しに画像を入れる */
.entry-content .heading-staff-img {
    position: relative;
}

.entry-content .heading-staff-img h2 {
    width: 100%;
}

.entry-content .heading-staff-img .mainStaff-img {
    position: absolute;
    right: 20px;
    top: -60px;
}

.entry-content .heading-staff-img .mainStaff-img img {
    height: 100px;
    width: 100px;
    object-fit: cover;
    border: 1px solid #e3e3e3;
	max-width: unset;
}

@media screen and (max-width: 768px) {
	.entry-content .heading-staff-img {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		gap: 10px;
		border-bottom: 1px solid #bfbfbf;
	}
	.entry-content .heading-staff-img h2 {
		border-bottom: none;
	}
	.entry-content .heading-staff-img .mainStaff-img {
		position: initial;
		margin-bottom: 5px;
	}
	.entry-content .heading-staff-img .mainStaff-img img {
		height: 80px;
		width: 80px;
	}
}



/* 健康と病いの語り　データベース部分の変更 */
.outline_DB_container .outline_DB_block {
    margin-left: 20px;
}

.outline_DB_container .outline_DB_block h3 {
    background-image: url(./images/pageIcon_A.png);
    background-position: left;
    background-repeat: no-repeat;
    background-size: 27px;
    padding: 0px 0 0px 35px;
	border: none;
	margin-bottom: 15px;
}

.outline_DB_container .outline_DB_block h3 a {
    text-decoration: none;
    color: #8f0000;
}

.outline_DB_container .outline_DB_block h3 a:hover {
    text-decoration: underline;
}


/* 表のレスポンシブ化 */
@media screen and (max-width: 768px) {
	.entry-content table.sp_tbl {
		display: block;
		overflow-x: scroll;
		border: none;
	}
}

 a.book {
	display: block;
	width: 218px;
	height: 350px;
}
