/**
 * TCD styles
 */

/* Column layout - カラムレイアウト */
.post_row {}

.post_col,
.post_col-2,
.post_col-3 {
	margin-bottom: 20px;
}

@media (min-width: 992px) {
	.post_row {
		margin-right: -15px;
		margin-left: -15px;
	}

	.post_row::before,
	.post_row::after {
		display: table;
		content: " ";
	}

	.post_row::after {
		clear: both;
	}

	.post_col,
	.post_col-2,
	.post_col-3 {
		position: relative;
		box-sizing: border-box;
		float: left;
		width: 100%;
		min-height: 1px;
		padding-right: 15px;
		padding-left: 15px;
		margin-bottom: 30px;
	}

	.post_col-2 {
		width: 50%;
	}

	.post_col-3 {
		width: 33.33333%;
	}
}

/* 見出し */
.styled_h2 {
	padding: var(--tcd-custom-h2-padding, 0) !important;
	font-size: var(--tcd-custom-h2-font-size, 22px) !important;
	font-weight: var(--tcd-custom-h2-font-weight, 600) !important;
	color: var(--tcd-custom-h2-color, #000) !important;
	text-align: var(--tcd-custom-h2-text-align, left) !important;
	background-color: var(--tcd-custom-h2-bg-color, transparent) !important;
	border-color: var(--tcd-custom-h2-border-color, #000) !important;
	border-style: var(--tcd-custom-h2-border-style, solid) !important;
	border-width: var(--tcd-custom-h2-border-width, 0) !important;
}

.styled_h3 {
	padding: var(--tcd-custom-h3-padding, 0) !important;
	font-size: var(--tcd-custom-h3-font-size, 20px) !important;
	font-weight: var(--tcd-custom-h3-font-weight, 600) !important;
	color: var(--tcd-custom-h3-color, #000) !important;
	text-align: var(--tcd-custom-h3-text-align, left) !important;
	background-color: var(--tcd-custom-h3-bg-color, transparent) !important;
	border-color: var(--tcd-custom-h3-border-color, #000) !important;
	border-style: var(--tcd-custom-h3-border-style, solid) !important;
	border-width: var(--tcd-custom-h3-border-width, 0) !important;
}

.styled_h4 {
	padding: var(--tcd-custom-h4-padding, 0) !important;
	font-size: var(--tcd-custom-h4-font-size, 18px) !important;
	font-weight: var(--tcd-custom-h4-font-weight, 600) !important;
	color: var(--tcd-custom-h4-color, #000) !important;
	text-align: var(--tcd-custom-h4-text-align, left) !important;
	background-color: var(--tcd-custom-h4-bg-color, transparent) !important;
	border-color: var(--tcd-custom-h4-border-color, #000) !important;
	border-style: var(--tcd-custom-h4-border-style, solid) !important;
	border-width: var(--tcd-custom-h4-border-width, 0) !important;
}

.styled_h5 {
	padding: var(--tcd-custom-h5-padding, 0) !important;
	font-size: var(--tcd-custom-h5-font-size, 16px) !important;
	font-weight: var(--tcd-custom-h5-font-weight, 600) !important;
	color: var(--tcd-custom-h5-color, #000) !important;
	text-align: var(--tcd-custom-h5-text-align, left) !important;
	background-color: var(--tcd-custom-h5-bg-color, transparent) !important;
	border-color: var(--tcd-custom-h5-border-color, #000) !important;
	border-style: var(--tcd-custom-h5-border-style, solid) !important;
	border-width: var(--tcd-custom-h5-border-width, 0) !important;
}

/* flame - 囲み枠 */
.q_frame {
	position: relative;
	padding: 23px 29px;
	margin-bottom: 2rem;
	line-height: 1.8;
	border: 1px solid #ddd;
}

* + .q_frame {
	margin-top: 2.5rem;
}

.q_frame_label {
	position: absolute;
	top: -0.7em;
	left: 1rem;
	display: block;
	max-width: calc(100% - 2rem);
	padding: 0 1em;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.4;
	background: inherit;
}

@media (max-width: 767px) {
	.q_frame {
		padding: 13px 19px;
	}

	.q_frame_label {
		padding: 0 0.5rem;
	}
}

.q_frame1 {
	background-color: var(--tcd-frame1-bg-color, #fff);
	border-color: var(--tcd-frame1-border-color, #ddd);
	border-style: var(--tcd-frame1-border-style, solid);
	border-width: var(--tcd-frame1-border-width, 1px);
	border-radius: var(--tcd-frame1-border-radius, 0);
}

.q_frame1 .q_frame_label {
	color: var(--tcd-frame1-label-color, #000);
}

.q_frame2 {
	background-color: var(--tcd-frame2-bg-color, #fff);
	border-color: var(--tcd-frame2-border-color, #ddd);
	border-style: var(--tcd-frame2-border-style, solid);
	border-width: var(--tcd-frame2-border-width, 1px);
	border-radius: var(--tcd-frame2-border-radius, 0);
}

.q_frame2 .q_frame_label {
	color: var(--tcd-frame2-label-color, #000);
}

.q_frame3 {
	background-color: var(--tcd-frame3-bg-color, transparent);
	border-color: var(--tcd-frame3-border-color, #ddd);
	border-style: var(--tcd-frame3-border-style, solid);
	border-width: var(--tcd-frame3-border-width, 1px);
	border-radius: var(--tcd-frame3-border-radius, 0);
}

.q_frame3 .q_frame_label {
	color: var(--tcd-frame3-label-color, #000);
}

.well {
	padding: 1.1rem 2rem;
	margin-bottom: 2rem;
	background-color: #fafafa;
	border: 1px solid #ddd;
	border-radius: 6px;
}

.well2 {
	padding: 1.1rem 2rem;
	margin-bottom: 2rem;
	border: 1px solid #ddd;
}

.well3 {
	padding: 1.1rem 2rem;
	margin-bottom: 2rem;
	background: #fafafa;
	border: 1px dashed #ddd;
}

.wl_red {
	color: #a94442;
	background-color: #f2dede;
	border-color: #ebccd1;
}

.wl_yellow {
	color: #8a6d3b;
	background-color: #fcf8e3;
	border-color: #faebcc;
}

.wl_blue {
	color: #31708f;
	background-color: #d9edf7;
	border-color: #bce8f1;
}

.wl_green {
	color: #3c763d;
	background-color: #dff0d8;
	border-color: #d6e9c6;
}

@media (max-width: 767px) {
	.well,
	.well2,
	.well3 {
		padding: 0.9em 0.8em 0.9em 1em;
	}
}

/* styled ol */
.q_styled_ol {
	margin-bottom: 2em;
	margin-left: 0 !important;
	list-style-type: none;
	counter-reset: item;
	position: relative;
}

.q_styled_ol li {
	display: block;
	padding-left: 2em;
	margin-bottom: 0.4em;
}

.q_styled_ol li::before {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 1.5em;
	height: 1.5em;
	margin-top: 0.3em;
	margin-right: 0.7em;
	line-height: 1;
	color: #fff;
	content: counter(item);
	counter-increment: item;
	background: #000;
	border-radius: 50%;
	position: absolute;
	left: 0;
}

@media (max-width: 767px) {
	.q_styled_ol li::before {
		margin-top: 0.1em;
	}
}

/* カスタムボタン */
.q_button_wrap {
	text-align:center;
	margin: 2em auto;
}

.q_custom_button {
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 270px;
	max-width: 100%;
	height: 50px;
	padding: 0 1.5rem;
	overflow: hidden;
	font-size: 1rem;
	line-height: 1.5;
	color: #fff !important;
	text-align: center;
	text-decoration: none !important;
	background-color: #000;
	transition-timing-function: cubic-bezier(0.17, 0.84, 0.44, 1);
	transition-duration: 0.5s;
	transition-property: background-color, border-color, color;
}

.q_custom_button::before {
	position: absolute;
	inset: 0;
	z-index: -2;
	display: block;
	content: "";
	border-color: transparent;
	border-style: solid;
	border-width: 0;
	border-radius: inherit;
}

.q_custom_button::after {
	position: absolute;
	inset: 0;
	z-index: -1;
	display: block;
	content: "";
	background-color: var(--tcd-accent-color, #000);
	opacity: 0;
	transition-timing-function: cubic-bezier(0.17, 0.84, 0.44, 1);
	transition-duration: 0.5s;
	transition-property: opacity, transform;
}

.q_custom_button1 {
	min-width: var(--tcd-custom-button1-min-width, 130px);
	height: var(--tcd-custom-button1-height, 40px);
	line-height: var(--tcd-custom-button1-height, 40px);
	color: var(--tcd-custom-button1-color, #fff) !important;
	background-color: var(--tcd-custom-button1-bg-color, transparent);
	border-radius: var(--tcd-custom-button1-border-radius, 0);
}

.q_custom_button1::before {
	border-color: var(--tcd-custom-button1-border-color, transparent);
	border-width: var(--tcd-custom-button1-border-width, 0);
}

.q_custom_button1::after {
	inset: var(--tcd-custom-button1-effect-inset, 0);
	background-color: var(--tcd-custom-button1-effect-bg-color, transparent);
	opacity: var(--tcd-custom-button1-effect-opacity, 1);
	transform: var(--tcd-custom-button1-effect-transform, none);
}

.q_custom_button2 {
	min-width: var(--tcd-custom-button2-min-width, 130px);
	height: var(--tcd-custom-button2-height, 40px);
	line-height: var(--tcd-custom-button2-height, 40px);
	color: var(--tcd-custom-button2-color, #fff) !important;
	background-color: var(--tcd-custom-button2-bg-color, transparent);
	border-radius: var(--tcd-custom-button2-border-radius, 0);
}

.q_custom_button2::before {
	border-color: var(--tcd-custom-button2-border-color, transparent);
	border-width: var(--tcd-custom-button2-border-width, 0);
}

.q_custom_button2::after {
	inset: var(--tcd-custom-button2-effect-inset, 0);
	background-color: var(--tcd-custom-button2-effect-bg-color, transparent);
	opacity: var(--tcd-custom-button2-effect-opacity, 1);
	transform: var(--tcd-custom-button2-effect-transform, none);
}

.q_custom_button3 {
	min-width: var(--tcd-custom-button3-min-width, 130px);
	height: var(--tcd-custom-button3-height, 40px);
	line-height: var(--tcd-custom-button3-height, 40px);
	color: var(--tcd-custom-button3-color, #fff) !important;
	background-color: var(--tcd-custom-button3-bg-color, transparent);
	border-radius: var(--tcd-custom-button3-border-radius, 0);
}

.q_custom_button3::before {
	border-color: var(--tcd-custom-button3-border-color, transparent);
	border-width: var(--tcd-custom-button3-border-width, 0);
}

.q_custom_button3::after {
	inset: var(--tcd-custom-button3-effect-inset, 0);
	background-color: var(--tcd-custom-button3-effect-bg-color, transparent);
	opacity: var(--tcd-custom-button3-effect-opacity, 1);
	transform: var(--tcd-custom-button3-effect-transform, none);
}

@media (hover: hover) and (pointer: fine) {
	.q_custom_button:hover {
		color: #fff !important;
	}

	.q_custom_button:hover::before {
		opacity: 1;
	}

	.q_custom_button1:hover {
		color: var(--tcd-custom-button1-hover-color, #fff) !important;
	}

	.q_custom_button1:hover::after {
		opacity: var(--tcd-custom-button1-hover-effect-opacity, 1);
		transform: var(--tcd-custom-button1-hover-effect-transform, none);
	}

	.q_custom_button2:hover {
		color: var(--tcd-custom-button2-hover-color, #fff) !important;
	}

	.q_custom_button2:hover::after {
		opacity: var(--tcd-custom-button2-hover-effect-opacity, 1);
		transform: var(--tcd-custom-button2-hover-effect-transform, none);
	}

	.q_custom_button3:hover {
		color: var(--tcd-custom-button3-hover-color, #fff) !important;
	}

	.q_custom_button3:hover::after {
		opacity: var(--tcd-custom-button3-hover-effect-opacity, 1);
		transform: var(--tcd-custom-button3-hover-effect-transform, none);
	}
}

.rounded {
	border-radius: 6px;
}

.pill {
	border-radius: 50px;
}

/* Youtube responsive - Youtube動画のレスポンシブ表示 */
.ytube {
	position: relative;
	height: 0;
	padding-top: 30px;
	padding-bottom: 56.25%;
	margin-bottom: 2rem;
	overflow: hidden;
}

.ytube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

/* Underline - アンダーライン */
.q_underline {
	background-image: linear-gradient(to right, transparent 50%, #fff799 50%);
	background-repeat: repeat-x;
	background-position: 0 0.8em;
	background-size: 200% 0.5em;
	border: none;
	border-bottom-color: transparent;
	transition: background 2s ease;
}

.q_underline.is-active {
	background-position: -100% 0.8em !important;
}

.q_underline1 {
	font-weight: var(--tcd-underline1-font-weight, 400);
	background-image: linear-gradient(to right, transparent 50%, var(--tcd-underline1-color, var(--tcd-accent-color)) 50%);
	background-position: var(--tcd-underline1-background-position, 0 0.8em);
}

.q_underline2 {
	font-weight: var(--tcd-underline2-font-weight, 400);
	background-image: linear-gradient(to right, transparent 50%, var(--tcd-underline2-color, var(--tcd-accent-color)) 50%);
	background-position: var(--tcd-underline2-background-position, 0 0.8em);
}

.q_underline3 {
	font-weight: var(--tcd-underline3-font-weight, 400);
	background-image: linear-gradient(to right, transparent 50%, var(--tcd-underline3-color, var(--tcd-accent-color)) 50%);
	background-position: var(--tcd-underline3-background-position, 0 0.8em);
}

/* Speech balloon - 吹き出し */
.speech_balloon {
	display: flex;
	align-items: flex-start;
}

.speech_balloon_user {
	flex: 0 0 auto;
	min-width: 80px;
	margin-right: 36px;
	margin-bottom: 2rem;
	text-align: center;
}

.speech_balloon_user_image {
	width: 80px;
	height: 80px !important;
	border-radius: 50%;
	object-fit: cover;
}

.speech_balloon_user_name {
	margin-top: 12px;
	font-size: 87.5%;
	line-height: 1.2;
}

.speech_balloon_user_name:only-child {
	display: flex;
	align-items: center;
	min-height: 80px;
	margin-top: 0;
}

.speech_balloon_text {
	position: relative;
	flex: 1 1 auto;
	margin-bottom: 2rem;
}

.speech_balloon_text_inner {
	position: relative;
	min-height: 80px;
	padding: 22px 28px;
	line-height: 2;
	background: #fff;
	border: 2px solid #ddd;
	border-radius: 10px;
}

.speech_balloon_text_inner > *:last-child {
	margin-bottom: 0 !important;
}

.speech_balloon.right {
	flex-direction: row-reverse;
}

.speech_balloon.right .speech_balloon_user {
	margin-right: 0;
	margin-left: 36px;
}

.speech_balloon_text .before,
.speech_balloon_text .after {
	position: absolute;
	top: 40px;
	right: 100%;
	width: 0;
	height: 0;
	margin-top: -10px;
	pointer-events: none;
	border-color: transparent;
	border-style: solid;
	border-width: 8px 10px 8px 0;
}

.speech_balloon_text .after {
	margin-right: -3px;
}

.speech_balloon.right .before {
	left: 100%;
	transform: rotate(180deg);
}

.speech_balloon.right .after {
	left: 100%;
	margin-right: 0;
	margin-left: -3px;
	transform: rotate(180deg);
}

.speech_balloon1 .speech_balloon_text_inner {
	color: var(--tcd-speech-balloon1-color, #000);
	background-color: var(--tcd-speech-balloon1-bg-color, #fff);
	border-color: var(--tcd-speech-balloon1-border-color, #ddd);
}

.speech_balloon1 .before {
	border-right-color: var(--tcd-speech-balloon1-border-color, #ddd);
}

.speech_balloon1 .after {
	border-right-color: var(--tcd-speech-balloon1-bg-color, #fff);
}

.speech_balloon2 .speech_balloon_text_inner {
	color: var(--tcd-speech-balloon2-color, #000);
	background-color: var(--tcd-speech-balloon2-bg-color, #fff);
	border-color: var(--tcd-speech-balloon2-border-color, #ddd);
}

.speech_balloon2 .before {
	border-right-color: var(--tcd-speech-balloon2-border-color, #ddd);
}

.speech_balloon2 .after {
	border-right-color: var(--tcd-speech-balloon2-bg-color, #fff);
}

.speech_balloon3 .speech_balloon_text_inner {
	color: var(--tcd-speech-balloon3-color, #000);
	background-color: var(--tcd-speech-balloon3-bg-color, #fff);
	border-color: var(--tcd-speech-balloon3-border-color, #ddd);
}

.speech_balloon3 .before {
	border-right-color: var(--tcd-speech-balloon3-border-color, #ddd);
}

.speech_balloon3 .after {
	border-right-color: var(--tcd-speech-balloon3-bg-color, #fff);
}

.speech_balloon4 .speech_balloon_text_inner {
	color: var(--tcd-speech-balloon4-color, #000);
	background-color: var(--tcd-speech-balloon4-bg-color, #fff);
	border-color: var(--tcd-speech-balloon4-border-color, #ddd);
}

.speech_balloon4 .before {
	border-right-color: var(--tcd-speech-balloon4-border-color, #ddd);
}

.speech_balloon4 .after {
	border-right-color: var(--tcd-speech-balloon4-bg-color, #fff);
}

/* Cardlink style - カードリンクのスタイル */
.cardlink {
	display: flex;
	max-width: 100%;
	padding: 20px;
	margin: 0 0 2rem;
	background: #fafafa;
	border: 1px solid #ddd;
}

.cardlink-thumbnail {
	flex: 0 0 130px;
	margin-right: 20px;
}

.cardlink-thumbnail img {
	display: block;
	width: 130px;
	height: 130px;
	object-fit: cover;
}

.cardlink-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em;
	margin-bottom: 18px;
	font-size: 14px;
	line-height: 1;
	color: #222;
}

.cardlink-date,
.cardlink-modified-date {
	display: inline-flex;
	align-items: center;
}

.cardlink-date {
	margin-right: 0.5em;
}

.cardlink-date::before,
.cardlink-modified-date::before {
	padding-right: 5px;
	margin-bottom: -1px;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.cardlink-date::before {
	font-family: "footer_bar";
	font-size: 12px;
	content: "\e912";
}

.cardlink-modified-date::before {
	padding-right: 4px;
	font-family: "design_plus";
	font-size: 12px;
	content: "\e943";
}

.cardlink-title {
	display: -webkit-box;
	max-height: 3.2em;
	margin-top: -0.35em;
	margin-bottom: -0.35em;
	overflow: hidden;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.7;
	text-decoration: none;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.cardlink-excerpt {
	display: -webkit-box;
	max-height: 3.8em;
	margin-top: 12px;
	margin-bottom: -0.35em;
	overflow: hidden;
	font-size: 14px;
	line-height: 1.7;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.cardlink-excerpt:empty {
	display: none;
}

@media (hover: hover) and (pointer: fine) {
	a.cardlink-title:hover {
		text-decoration: underline;
	}
}

@media (max-width: 767px) {
	.cardlink {
		display: block;
		padding: 15px;
	}

	.cardlink-thumbnail {
		float: left;
		margin-right: 15px;
	}

	.cardlink-thumbnail img {
		width: 120px;
		height: 120px;
	}

	.cardlink-date-title {
		display: flex;
		flex-direction: column;
		justify-content: center;
		min-height: 120px;
	}

	.cardlink-meta {
		margin-bottom: 15px;
	}

	.cardlink-title {
		max-height: 5.4em;
		-webkit-line-clamp: 3;
	}

	.cardlink-excerpt {
		padding-top: 10px;
		margin-top: 0;
		clear: both;
	}
}

/* handy-class */
.e_link {
	position: relative;
	display: inline-block;
	padding-right: 1em;
}

.e_link::after {
	position: absolute;
	top: 50%;
	right: 0;
	display: block;
	margin-top: -0.1em;
	font-family: "design_plus";
	font-size: 100%;
	content: "\e92a";
	transition: none;
	transform: translateY(-50%);
}

img.frame {
	border: 1px solid #d2d2d2;
	box-shadow: 0 6px 6px -6px #ccc;
}

.a_break {
	display: inline-block;
}

@media (max-width: 767px) {
	.is-pc {
		display: none !important;
	}
}

@media (min-width: 768px) {
	.is-sp {
		display: none !important;
	}
}

/* Contactform - お問い合わせフォーム */
.wpcf7 {
	width: 100%;
	padding: 0;
	margin: 0 0 2.5rem !important;
	font-size: 14px;
	background: #fafafa;
	border: 1px solid #ddd;
}

.wpcf7 form {
	margin: 1.5rem 1.5rem 0;
}

.wpcf7 p {
	margin-bottom: 1rem;
}

.wpcf7 input,
.wpcf7 textarea {
	box-sizing: border-box;
	width: 100%;
	padding: 8px;
	line-height: 1.2;
	border: 1px solid #ccc;
}

.wpcf7 select,
.wpcf7 input[type="checkbox"],
.wpcf7 input[type="radio"] {
	width: auto;
	max-width: 97%;
	padding: 8px;
	border: 1px solid #ccc;
}

.wpcf7 select,
.wpcf7 .wpcf7-list-item-label {
	font-size: 14px;
	line-height: 1.2;
}

.wpcf7 .wpcf7-list-item {
	display: block;
}

.wpcf7 textarea {
	height: 300px;
}

.wpcf7 input:focus,
.wpcf7 textarea:focus {
	border: 1px solid #bbb;
	outline: none;
}

.wpcf7 .wpcf7-submit,
.wpcf7 .wpcf7-previous {
	position: relative;
	box-sizing: border-box;
	display: block;
	width: 225px;
	height: 48px;
	margin: 30px auto 0;
	font-size: 14px;
	line-height: 1.5;
	color: #fff;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	background-color: #333;
	border: none !important;
	outline: none;
	transition: all 0.3s;
}

.wpcf7 .wpcf7-submit::before,
.wpcf7 .wpcf7-submit::after {
	box-sizing: border-box;
}

.wpcf7 .wpcf7-submit .wpcf7-not-valid {
	background: pink;
}

.wpcf7 .wpcf7-submit .wpcf7-response-output {
	padding: 8px 35px 8px 14px;
	margin: 10px 0 0;
	border-radius: 4px;
}

.wpcf7 .wpcf7-submit .wpcf7-validation-errors {
	color: #b94a48;
	background-color: #f2dede;
	border: 1px solid #eed3d7;
}

.wpcf7 .wpcf7-submit .wpcf7-mail-sent-ok {
	color: #3a87ad;
	background-color: #d9edf7;
	border: 1px solid #bce8f1;
}

.wpcf7 .wpcf7-previous + br {
	display: none;
}

.wpcf7 form .wpcf7-response-output {
	padding: 0;
	margin: 2rem 0.5rem 2rem;
	text-align: center;
	border: none;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
	font-size: 1em;
	color: #dc3232;
}

@media (hover: hover) and (pointer: fine) {
	.wpcf7 .wpcf7-submit:hover,
	.wpcf7 .wpcf7-previous:hover {
		background-color: #666;
	}
}

/* font-size - フォントサイズ */
.text70 {
	font-size: 70%;
}

.text80 {
	font-size: 80%;
}

.text90 {
	font-size: 90%;
}

.text100 {
	font-size: 100%;
}

.text110 {
	font-size: 110%;
}

.text120 {
	font-size: 120%;
}

.text130 {
	font-size: 130%;
}

.text140 {
	font-size: 140%;
}

.text150 {
	font-size: 150%;
}

.text160 {
	font-size: 160%;
}

.text170 {
	font-size: 170%;
}

.text180 {
	font-size: 180%;
}

.text190 {
	font-size: 190%;
}

.text200 {
	font-size: 200%;
}

.text210 {
	font-size: 210%;
}

.text220 {
	font-size: 220%;
}

/* 太字 */
.b {
	font-weight: 600;
}

/* 下線 */
.u {
	text-decoration: underline;
}

/* 打ち消し線 */
.del {
	text-decoration: line-through;
}

/* font-color - フォントカラー */
.red {
	color: red;
}

.blue {
	color: #2ca9e1;
}

.green {
	color: #82ae46;
}

.orange {
	color: #ff7d00;
}

.yellow {
	color: #fff000;
}

.pink {
	color: #ff0084;
}

.gray {
	color: #999;
}

/* background-color - 背景色 */
.bg-blue {
	padding: 2px;
	background-color: #4ab0f5;
}

.bg-red {
	padding: 2px;
	background-color: red;
}

.bg-yellow {
	padding: 2px;
	background-color: #ff0;
}

/* text-align - 配置 */
.align1 {
	text-align: center !important;
}

.align2 {
	text-align: right !important;
}

.align3 {
	text-align: left !important;
}

/* float - 回り込み */
.r-flo {
	float: right;
	margin: 10px;
}

.l-flo {
	float: left;
	margin: 10px;
}

/* 回り込みの解除 */
.f-clear {
	clear: both;
}

/* hover - 画像リンクマウスオーバー時の不透明度 */
a img.fade {
	background: none !important;
	outline: none;
	transition: all 0.3s;
}

@media (hover: hover) and (pointer: fine) {
	a:hover img.fade {
		background: none !important;
		opacity: 0.7;
	}
}

/* text-style - テキストスタイル */
.att {
	padding-left: 1em;
	text-indent: -1em;
}

.att_box {
	padding: 1em 1.2em;
	margin: 2em 0 2.5em;
	line-height: 2;
	background: #fcfcfc;
	border: 1px dotted #ddd;
	box-shadow: 0 4px 0 0 #f9f9f9;
}

/* margin - 要素の外側の余白 */
.m0 {
	margin: 0 !important;
}

.mt0 {
	margin-top: 0 !important;
}

.mr0 {
	margin-right: 0 !important;
}

.mb0 {
	margin-bottom: 0 !important;
}

.ml0 {
	margin-left: 0 !important;
}

.m5 {
	margin: 5px !important;
}

.mt5 {
	margin-top: 5px !important;
}

.mr5 {
	margin-right: 5px !important;
}

.mb5 {
	margin-bottom: 5px !important;
}

.ml5 {
	margin-left: 5px !important;
}

.m10 {
	margin: 10px !important;
}

.mt10 {
	margin-top: 10px !important;
}

.mr10 {
	margin-right: 10px !important;
}

.mb10 {
	margin-bottom: 10px !important;
}

.ml10 {
	margin-left: 10px !important;
}

.m15 {
	margin: 15px !important;
}

.mt15 {
	margin-top: 15px !important;
}

.mr15 {
	margin-right: 15px !important;
}

.mb15 {
	margin-bottom: 15px !important;
}

.ml15 {
	margin-left: 15px !important;
}

.m20 {
	margin: 20px !important;
}

.mt20 {
	margin-top: 20px !important;
}

.mr20 {
	margin-right: 20px !important;
}

.mb20 {
	margin-bottom: 20px !important;
}

.ml20 {
	margin-left: 20px !important;
}

.m25 {
	margin: 25px !important;
}

.mt25 {
	margin-top: 25px !important;
}

.mr25 {
	margin-right: 25px !important;
}

.mb25 {
	margin-bottom: 25px !important;
}

.ml25 {
	margin-left: 25px !important;
}

.m30 {
	margin: 30px !important;
}

.mt30 {
	margin-top: 30px !important;
}

.mr30 {
	margin-right: 30px !important;
}

.mb30 {
	margin-bottom: 30px !important;
}

.ml30 {
	margin-left: 30px !important;
}

.m35 {
	margin: 35px !important;
}

.mt35 {
	margin-top: 35px !important;
}

.mr35 {
	margin-right: 35px !important;
}

.mb35 {
	margin-bottom: 35px !important;
}

.ml35 {
	margin-left: 35px !important;
}

.m40 {
	margin: 40px !important;
}

.mt40 {
	margin-top: 40px !important;
}

.mr40 {
	margin-right: 40px !important;
}

.mb40 {
	margin-bottom: 40px !important;
}

.ml40 {
	margin-left: 40px !important;
}

.m45 {
	margin: 45px !important;
}

.mt45 {
	margin-top: 45px !important;
}

.mr45 {
	margin-right: 45px !important;
}

.mb45 {
	margin-bottom: 45px !important;
}

.ml45 {
	margin-left: 45px !important;
}

.m50 {
	margin: 50px !important;
}

.mt50 {
	margin-top: 50px !important;
}

.mr50 {
	margin-right: 50px !important;
}

.mb50 {
	margin-bottom: 50px !important;
}

.ml50 {
	margin-left: 50px !important;
}

.m55 {
	margin: 55px !important;
}

.mt55 {
	margin-top: 55px !important;
}

.mr55 {
	margin-right: 55px !important;
}

.mb55 {
	margin-bottom: 55px !important;
}

.ml55 {
	margin-left: 55px !important;
}

.m60 {
	margin: 60px !important;
}

.mt60 {
	margin-top: 60px !important;
}

.mr60 {
	margin-right: 60px !important;
}

.mb60 {
	margin-bottom: 60px !important;
}

.ml60 {
	margin-left: 60px !important;
}

.m65 {
	margin: 65px !important;
}

.mt65 {
	margin-top: 65px !important;
}

.mr65 {
	margin-right: 65px !important;
}

.mb65 {
	margin-bottom: 65px !important;
}

.ml65 {
	margin-left: 65px !important;
}

.m70 {
	margin: 70px !important;
}

.mt70 {
	margin-top: 70px !important;
}

.mr70 {
	margin-right: 70px !important;
}

.mb70 {
	margin-bottom: 70px !important;
}

.ml70 {
	margin-left: 70px !important;
}

.m75 {
	margin: 75px !important;
}

.mt75 {
	margin-top: 75px !important;
}

.mr75 {
	margin-right: 75px !important;
}

.mb75 {
	margin-bottom: 75px !important;
}

.ml75 {
	margin-left: 75px !important;
}

.m80 {
	margin: 80px !important;
}

.mt80 {
	margin-top: 80px !important;
}

.mr80 {
	margin-right: 80px !important;
}

.mb80 {
	margin-bottom: 80px !important;
}

.ml80 {
	margin-left: 80px !important;
}

/* padding - 要素の内側の余白 */
.p0 {
	padding: 0 !important;
}

.pt0 {
	padding-top: 0 !important;
}

.pr0 {
	padding-right: 0 !important;
}

.pb0 {
	padding-bottom: 0 !important;
}

.pl0 {
	padding-left: 0 !important;
}

.p5 {
	padding: 5px !important;
}

.pt5 {
	padding-top: 5px !important;
}

.pr5 {
	padding-right: 5px !important;
}

.pb5 {
	padding-bottom: 5px !important;
}

.pl5 {
	padding-left: 5px !important;
}

.p10 {
	padding: 10px !important;
}

.pt10 {
	padding-top: 10px !important;
}

.pr10 {
	padding-right: 10px !important;
}

.pb10 {
	padding-bottom: 10px !important;
}

.pl10 {
	padding-left: 10px !important;
}

.p15 {
	padding: 15px !important;
}

.pt15 {
	padding-top: 15px !important;
}

.pr15 {
	padding-right: 15px !important;
}

.pb15 {
	padding-bottom: 15px !important;
}

.pl15 {
	padding-left: 15px !important;
}

.p20 {
	padding: 20px !important;
}

.pt20 {
	padding-top: 20px !important;
}

.pr20 {
	padding-right: 20px !important;
}

.pb20 {
	padding-bottom: 20px !important;
}

.pl20 {
	padding-left: 20px !important;
}

.p25 {
	padding: 25px !important;
}

.pt25 {
	padding-top: 25px !important;
}

.pr25 {
	padding-right: 25px !important;
}

.pb25 {
	padding-bottom: 25px !important;
}

.pl25 {
	padding-left: 25px !important;
}

.p30 {
	padding: 30px !important;
}

.pt30 {
	padding-top: 30px !important;
}

.pr30 {
	padding-right: 30px !important;
}

.pb30 {
	padding-bottom: 30px !important;
}

.pl30 {
	padding-left: 30px !important;
}

.p35 {
	padding: 35px !important;
}

.pt35 {
	padding-top: 35px !important;
}

.pr35 {
	padding-right: 35px !important;
}

.pb35 {
	padding-bottom: 35px !important;
}

.pl35 {
	padding-left: 35px !important;
}

.p40 {
	padding: 40px !important;
}

.pt40 {
	padding-top: 40px !important;
}

.pr40 {
	padding-right: 40px !important;
}

.pb40 {
	padding-bottom: 40px !important;
}

.pl40 {
	padding-left: 40px !important;
}

.p45 {
	padding: 45px !important;
}

.pt45 {
	padding-top: 45px !important;
}

.pr45 {
	padding-right: 45px !important;
}

.pb45 {
	padding-bottom: 45px !important;
}

.pl45 {
	padding-left: 45px !important;
}

.p50 {
	padding: 50px !important;
}

.pt50 {
	padding-top: 50px !important;
}

.pr50 {
	padding-right: 50px !important;
}

.pb50 {
	padding-bottom: 50px !important;
}

.pl50 {
	padding-left: 50px !important;
}

.p55 {
	padding: 55px !important;
}

.pt55 {
	padding-top: 55px !important;
}

.pr55 {
	padding-right: 55px !important;
}

.pb55 {
	padding-bottom: 55px !important;
}

.pl55 {
	padding-left: 55px !important;
}

.p60 {
	padding: 60px !important;
}

.pt60 {
	padding-top: 60px !important;
}

.pr60 {
	padding-right: 60px !important;
}

.pb60 {
	padding-bottom: 60px !important;
}

.pl60 {
	padding-left: 60px !important;
}

.p65 {
	padding: 65px !important;
}

.pt65 {
	padding-top: 65px !important;
}

.pr65 {
	padding-right: 65px !important;
}

.pb65 {
	padding-bottom: 65px !important;
}

.pl65 {
	padding-left: 65px !important;
}

.p70 {
	padding: 70px !important;
}

.pt70 {
	padding-top: 70px !important;
}

.pr70 {
	padding-right: 70px !important;
}

.pb70 {
	padding-bottom: 70px !important;
}

.pl70 {
	padding-left: 70px !important;
}

.p75 {
	padding: 75px !important;
}

.pt75 {
	padding-top: 75px !important;
}

.pr75 {
	padding-right: 75px !important;
}

.pb75 {
	padding-bottom: 75px !important;
}

.pl75 {
	padding-left: 75px !important;
}

.p80 {
	padding: 80px !important;
}

.pt80 {
	padding-top: 80px !important;
}

.pr80 {
	padding-right: 80px !important;
}

.pb80 {
	padding-bottom: 80px !important;
}

.pl80 {
	padding-left: 80px !important;
}
