@charset 'UTF-8';

/* main */
/* sub */
/*-----------------------------------------------------------------------
	top
-----------------------------------------------------------------------*/
.topTtlStyle01 {
	padding: 10px 0;
	background: #dcdcdc;
}

@media screen and (max-width: 768px) {
	.topTtlStyle01 {
		padding: 6px 0;
	}
	.topTtlStyle01 .title {
		width: calc(100% - 6em);
		margin: 0 auto;
		font-size: 16px;
	}
	.topTtlStyle01 .link {
		position: absolute;
		top: 50%;
		right: 0;
		font-size: 12px;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}
}

.topTtlStyle01 .inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

@media screen and (max-width: 768px) {
	.topTtlStyle01 .inner {
		display: block;
		position: relative;
		text-align: center;
	}
}

.topTtlStyle01 a:hover {
	text-decoration: underline;
}

@media screen and (max-width: 768px) {
	#topSlider .contentIn {
		padding: 0;
	}
}

#topSlider .slick-dots {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 20px;
	color: transparent;
	font-size: 0;
}

@media screen and (max-width: 768px) {
	#topSlider .slick-dots {
		margin-top: 16px;
	}
}

#topSlider .slick-dots > li + li {
	margin-left: 15px;
}

@media screen and (max-width: 768px) {
	#topSlider .slick-dots > li + li {
		margin-left: 13px;
	}
}

#topSlider .slick-dots button::before {
	content: '';
	display: block;
	width: 15px;
	height: 15px;
	background: #999;
	border-radius: 50%;
}

@media screen and (max-width: 768px) {
	#topSlider .slick-dots button::before {
		width: 13px;
		height: 13px;
	}
}

#topSlider .slick-dots .slick-active button::before {
	background: #4d4d4d;
}

#topContents {
	margin-top: 65px;
}

@media screen and (max-width: 768px) {
	#topContents {
		margin-top: 7px;
	}
}

#topContents .list {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

@media screen and (max-width: 768px) {
	#topContents .list {
		flex-wrap: wrap;
	}
}

#topContents .list > * {
	flex: 0 0 auto;
}

@media screen and (max-width: 768px) {
	#topContents .list > * {
		width: 100%;
		margin-top: 13px;
	}
	#topContents .list > *.half {
		width: calc((100% - 8px) / 2);
	}
	#topContents .list > *.half + .half {
		margin-left: 8px;
	}
}

#topInfo {
	margin-top: 60px;
}

@media screen and (max-width: 768px) {
	#topInfo {
		margin-top: 38px;
	}
}

#topInfo .list {
	margin: 22px 15px 0;
}

@media screen and (max-width: 768px) {
	#topInfo .list {
		margin: 23px 7px 0;
	}
}

#topInfo .list a {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}

#topInfo .list a:hover {
	text-decoration: underline;
}

#topInfo .list .date {
	flex: 0 0 auto;
}

#topInfo .list .title {
	flex: 0 1 auto;
	margin-left: 10px;
}

#topInfo li + li {
	margin-top: 12px;
}

@media screen and (max-width: 768px) {
	#topInfo li + li {
		margin-top: 10px;
	}
}

#topTopics {
	margin-top: 50px;
}

@media screen and (max-width: 768px) {
	#topTopics {
		margin-top: 20px;
	}
}

#topTopics .list {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	margin-top: 50px;
}

@media screen and (max-width: 768px) {
	#topTopics .list {
		flex-wrap: wrap;
		margin: 23px 7px 0;
	}
}

#topTopics li {
	flex: 0 0 auto;
	width: calc((100% - 84px) / 4);
}

@media screen and (max-width: 768px) {
	#topTopics li {
		width: calc((100% - 20px) / 2);
	}
}

#topTopics li + li {
	margin-left: 28px;
}

@media screen and (max-width: 768px) {
	#topTopics li + li {
		margin: 0;
	}
}

@media screen and (max-width: 768px) {
	#topTopics li:nth-child(2n) {
		margin-left: 20px;
	}
	#topTopics li:nth-child(n+3) {
		margin-top: 20px;
	}
}

#topTopics .image {
	margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
	#topTopics .image {
		margin-bottom: 12px;
	}
}

/*-----------------------------------------------------------------------
	archive
-----------------------------------------------------------------------*/
.archive {
	margin-top: 40px;
}

@media screen and (max-width: 768px) {
	.archive {
		margin-top: 25px;
	}
}

.archive li + li {
	margin-top: 12px;
}

@media screen and (max-width: 768px) {
	.archive li + li {
		margin-top: 10px;
	}
}

.archive a {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}

.archive a:hover {
	text-decoration: underline;
}

.archive .list {
	margin: 22px 15px 0;
}

@media screen and (max-width: 768px) {
	.archive .list {
		margin: 23px 7px 0;
	}
}

.archive .list .date {
	flex: 0 0 auto;
}

.archive .list .title {
	flex: 0 1 auto;
	margin-left: 10px;
}

#twoColBoxMain .archive.contents p {
	margin-top: 0;
}

/*-----------------------------------------------------------------------
	topics archive
-----------------------------------------------------------------------*/
@media screen and (max-width: 768px) {
	.topicsarchive .list {
		margin: 0 7px;
	}
}

.topicsarchive li {
	float: left;
	width: calc((100% - 84px) / 4);
	margin-left: 28px;
}

@media screen and (max-width: 768px) {
	.topicsarchive li {
		width: calc((100% - 20px) / 2);
		margin: 0;
	}
	.topicsarchive li:nth-child(2n) {
		margin-left: 20px;
	}
	.topicsarchive li:nth-child(n+3) {
		margin-top: 20px;
	}
}

.topicsarchive li:nth-child(4n+1) {
	margin-left: 0;
}

.topicsarchive .image {
	margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
	.topicsarchive .image {
		margin-bottom: 12px;
	}
}

/*-----------------------------------------------------------------------
	contact
-----------------------------------------------------------------------*/
#twoColBoxMain .contents [id^='contact'] {
	padding: 0 50px;
	font-size: 14px;
	line-height: 1.3;
}

@media screen and (max-width: 768px) {
	#twoColBoxMain .contents [id^='contact'] {
		padding: 0 20px;
	}
}

#twoColBoxMain .contents [id^='contact'] p {
	margin: 0;
	color: inherit;
	font-size: inherit;
	line-height: inherit;
}

#twoColBoxMain #contactFormArea {
	margin-top: 40px;
	padding-top: 40px;
	padding-bottom: 50px;
	background: #ebebeb;
}

@media screen and (max-width: 768px) {
	#twoColBoxMain #contactFormArea {
		padding-top: 30px;
		padding-bottom: 40px;
	}
}

#twoColBoxMain #contactFormArea [type='text'], #twoColBoxMain #contactFormArea [type='tel'], #twoColBoxMain #contactFormArea [type='email'], #twoColBoxMain #contactFormArea select {
	width: 100%;
	max-width: 362px;
}

@media screen and (max-width: 768px) {
	#twoColBoxMain #contactFormArea [type='text'], #twoColBoxMain #contactFormArea [type='tel'], #twoColBoxMain #contactFormArea [type='email'], #twoColBoxMain #contactFormArea select {
		max-width: none;
	}
}

#twoColBoxMain #contactFormArea [type='text'] + input, #twoColBoxMain #contactFormArea [type='text'] + select, #twoColBoxMain #contactFormArea [type='tel'] + input, #twoColBoxMain #contactFormArea [type='tel'] + select, #twoColBoxMain #contactFormArea [type='email'] + input, #twoColBoxMain #contactFormArea [type='email'] + select, #twoColBoxMain #contactFormArea select + input, #twoColBoxMain #contactFormArea select + select {
	margin-top: 20px;
}

#twoColBoxMain #contactFormArea [type='text'], #twoColBoxMain #contactFormArea [type='tel'], #twoColBoxMain #contactFormArea [type='email'] {
	padding: 1px 5px;
}

#twoColBoxMain #contactFormArea [type='radio'] {
	margin-right: 5px;
}

#twoColBoxMain #contactFormArea [type='checkbox'] {
	width: 1.2em;
	height: 1.2em;
	margin-right: 5px;
}

#twoColBoxMain #contactFormArea textarea {
	width: 100%;
	height: 120px;
}

#twoColBoxMain #contactFormArea select {
	display: block;
	padding-left: 5px;
	font-size: 11px;
}

#twoColBoxMain #contactFormArea [name='郵便番号'] {
	max-width: 163px;
}

#twoColBoxMain #contactFormArea [name='都道府県'] ~ :last-child {
	margin-bottom: 35px;
}

#twoColBoxMain #contactFormArea .inputItems > dt {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	min-height: 20px;
	line-height: 1.0;
}

#twoColBoxMain #contactFormArea .inputItems > dt + dd {
	margin-top: 8px;
}

#twoColBoxMain #contactFormArea .inputItems > dd + dt {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid #d2d2d2;
}

#twoColBoxMain #contactFormArea .must {
	flex: 0 0 auto;
	margin-left: 10px;
	padding: 4px 6px;
	background: #4d4d4d;
	color: #fff;
	font-size: 12px;
}

#twoColBoxMain #contactFormArea .nameInputs {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	font-size: 12px;
}

@media screen and (max-width: 768px) {
	#twoColBoxMain #contactFormArea .nameInputs {
		flex-wrap: wrap;
	}
}

#twoColBoxMain #contactFormArea .nameInputs > dt {
	width: 27px;
	padding-top: 5px;
}

@media screen and (max-width: 768px) {
	#twoColBoxMain #contactFormArea .nameInputs > dt {
		flex: 0 0 auto;
	}
	#twoColBoxMain #contactFormArea .nameInputs > dt:nth-child(n+3) {
		margin-top: 10px;
	}
}

@media screen and (max-width: 768px) {
	#twoColBoxMain #contactFormArea .nameInputs > dd {
		flex: 1 1 auto;
		width: calc(100% - 27px);
	}
	#twoColBoxMain #contactFormArea .nameInputs > dd:nth-child(n+3) {
		margin-top: 10px;
	}
}

#twoColBoxMain #contactFormArea .nameInputs > dd + dt {
	margin-left: 20px;
}

@media screen and (max-width: 768px) {
	#twoColBoxMain #contactFormArea .nameInputs > dd + dt {
		margin-left: 0;
	}
}

#twoColBoxMain #contactFormArea .nameInputs > dd .example {
	margin-top: 5px;
}

#twoColBoxMain #contactFormArea .nameInputs input {
	max-width: 138px;
	font-size: 14px;
}

@media screen and (max-width: 768px) {
	#twoColBoxMain #contactFormArea .nameInputs input {
		max-width: none;
	}
}

#twoColBoxMain #contactFormArea .example {
	margin-top: 8px;
	font-size: 12px;
	text-align: left;
}

#twoColBoxMain #contactFormArea .example + input, #twoColBoxMain #contactFormArea .example + select {
	margin-top: 10px;
}

#twoColBoxMain #contactFormArea .inputItemList {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	font-size: 12px;
}

#twoColBoxMain #contactFormArea .inputItemList > li {
	margin: 10px 15px 0;
}

#twoColBoxMain #contactFormArea .privacyBox {
	margin-top: 50px;
	padding: 18px 20px;
	background: #d7d7d7;
	border-radius: 6px;
	text-align: left;
}

@media screen and (max-width: 768px) {
	#twoColBoxMain #contactFormArea .privacyBox {
		margin-top: 30px;
	}
}

#twoColBoxMain #contactFormArea .privacyBox a {
	display: inline;
	color: #0097e0;
}

#twoColBoxMain #contactFormArea .privacyBox .text {
	margin-bottom: 10px;
	font-size: 13px;
}

#twoColBoxMain #contactFormArea .submitButton {
	margin-top: 35px;
}

#twoColBoxMain #contactFormArea .submitButton button, #twoColBoxMain #contactFormArea .submitButton input {
	position: relative;
	padding: 12px 52px 12px 17px;
	background: #4d4d4d;
	border-radius: 8px;
	color: #fff;
	font-size: 16px;
	line-height: 1.0;
	transition: opacity 300ms ease;
	cursor: pointer;
}

#twoColBoxMain #contactFormArea .submitButton button::after, #twoColBoxMain #contactFormArea .submitButton input::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 20px;
	width: 8px;
	height: 8px;
	margin-top: -4px;
	border: 1px currentColor;
	border-style: solid solid none none;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

#twoColBoxMain #contactFormArea .submitButton button:hover, #twoColBoxMain #contactFormArea .submitButton input:hover {
	opacity: 0.7;
}

#twoColBoxMain #contactInfomations {
	margin-top: 55px;
}

#twoColBoxMain #contactInfomations .noticeList {
	line-height: 1.375;
}

#twoColBoxMain #contactInfomations .noticeList > li {
	position: relative;
	padding-left: 1.0em;
}

#twoColBoxMain #contactInfomations .noticeList > li::before {
	content: '';
	display: block;
	position: absolute;
	top: 2px;
	left: 0;
	width: 0.9em;
	height: 0.9em;
	background: currentColor;
	border-radius: 50%;
}

#twoColBoxMain #contactInfomations .linkList {
	margin-top: 30px;
}

#twoColBoxMain #contactInfomations .linkList .image {
	margin-top: 3px;
}

#twoColBoxMain #contactInfomations .forPurchase {
	margin-top: 35px;
	font-size: 15px;
}

#twoColBoxMain #contactInfomations .forPurchase li + li {
	margin-top: 13px;
}

#twoColBoxMain #contactInfomations .forPurchase a {
	position: relative;
	padding-left: 12px;
}

#twoColBoxMain #contactInfomations .forPurchase a::before {
	content: '';
	display: block;
	position: absolute;
	top: 2px;
	left: 0;
	width: 0;
	height: 0;
	border-width: 7px 9px;
	border-style: solid none solid solid;
	border-color: transparent currentColor;
}

/* MW WP Form */
.mw_wp_form_confirm dt, .mw_wp_form_confirm .example {
	display: none;
}

.contents #list_topics{
    display: flex;
    flex-wrap: wrap;
}
.contents #list_topics li{
    width: 230px !important;
    display: block;
    margin: 10px !important;
}
@media screen and (max-width: 768px) {
    .contents #list_topics li{
        width: 43% !important;;
    }
    
}


