@charset "utf-8";
/*
Theme Name: ママチュデザイン
Theme URI: https://mamachu-design.com
Description: ママチュデザインのテンプレート
Author: 小谷優歌
Tags: 
Version: 0.1.0
*/


/*　決済完了画面　*/

.order_details.bankjp_details {
	padding: 16px;
	margin-top: 16px !important;
	border: 1px solid #ccc;
}

/* 注文詳細テーブルのスマホ対応 */
.woocommerce-table--order-details {
  width: 100%;
  overflow-x: auto;
  display: block;
  -webkit-overflow-scrolling: touch;
}

/* テーブルの中の文字が折り返すように */
.woocommerce-table--order-details td,
.woocommerce-table--order-details th {
  word-wrap: break-word;
  word-break: break-word;
  white-space: normal;
}

/* リンクが長いときも折り返す */
.woocommerce-table--order-details a {
  word-break: break-word;
  white-space: normal;
}




/* カート調整 */

@media screen and (min-width: 768px) {
.elementor-menu-cart__main {
	width: 40% !important;
	padding:32px 136px 32px 32px !important;
}
}

@media screen and (max-width: 767.9px) {
.elementor-menu-cart__main {
	width: 90% !important;
	padding:24px !important;
}
}

.products.elementor-grid.columns-4 .add_to_cart_button {
	display: none !important;
}

.wc-block-components-checkbox__label {
	font-weight: 500;
}

.wc-block-checkout__actions.wp-block-woocommerce-checkout-actions-block button {
	background: #222;
	color: #fff;
}

.wc-block-components-order-summary__content {
	line-height: 150%;
}

.wc-block-components-totals-footer-item-tax {
	margin: 0px;
	letter-spacing: 1px;
}

.elementor-menu-cart__products.woocommerce-mini-cart.cart.woocommerce-cart-form__contents {
	order: 3;
	margin-top: 32px;
}

.elementor-menu-cart__subtotal {
	padding: 8px !important;
	border-left:0px solid #fff !important;
	border-right:0px solid #fff !important;
}

.elementor-menu-cart__product-name.product-name {
	line-height: 150% !important;
}

.elementor-menu-cart__product .variation dd p {
	margin-bottom: 0;
	margin: 0 !important;
}

.elementor-menu-cart__product {
	grid-template-columns: 15% auto !important;
}

.elementor-menu-cart__product {
	padding-right: 0px !important;
}


/* 縦バナー
------------------------------------ */
/* PCサイズのみ適用（例：画面幅が1025px以上） */
@media screen and (min-width: 1025px) {
  body::before,
  body::after {
    content: "";
    position: fixed;
    top: 0;
    width: 100px; /* 帯の幅を調整 */
    height: 100%;
    background-repeat: repeat-y;
 background-position: center center; /* 縦横中央に */
    background-size: contain; /* 画像のサイズ調整 */
    z-index: 600; /* 最前面に */
    pointer-events: none; /* バナーがクリックを邪魔しないように */
  }

  body::before {
    left: 0;
    background-image: url('https://shop.fdauto.jp/wp-content/uploads/2025/06/pc_line_banner-1.jpg'); /* 左端の画像 */
  }

  body::after {
    right: 0;
    background-image: url('https://shop.fdauto.jp/wp-content/uploads/2025/06/pc_line_banner02.jpg'); /* 右端の画像 */
  }
}



/*--woocommerce用--*/


.woocommerce-loop-product__title {
	font-size: 0.9em !important;
	line-height: 160%;
}

ul.products li.product .price {
	color: #bf0000 !important;
	letter-spacing: 0.5px !important;
	font-size: 1em !important;
}

.woocommerce-message {
	font-size: 0.9em;
	line-height: 150%;
	font-weight: 500;
	margin-bottom: 0px;
}

.woocommerce-message a {
	display: block;
	margin-top: 12px !important;
}

.product_contact_button a {
	background: #333;
	color: #fff;
	padding: 12px 24px;
	border: ;
	border-radius: 8px;
}

  .contact_table table,
  .contact_table tbody,
  .contact_table tr {
    display: block;
    width: 100%;
  }

.contact_table .sub_text p {
  word-wrap: break-word;  /* 長い単語やURLも折り返す */
  overflow-wrap: break-word; /* こちらも折り返し指定 */
  white-space: normal;    /* 改行を許可 */
  margin: 0;              /* 不要な余白をリセット（任意） */
}


.contact_table {
	background: #363636;
	padding: 16px;
}
.contact_table table {
	font-size: 1em !important;
	font-weight: 500 !important;
	background: #fff;
	border-top: 12px solid #fff !important;
	border-bottom: 12px solid #fff !important;
}


.contact_table th {
	border-left: 0px !important;
	background: #fff !important;
	border-right: 0px !important;
	text-align: left;
	display: block;
	width: 100%;
	border-top: 0px !important;
	border-bottom: 0px !important;
	padding: 8px 24px 0px 24px;
	font-weight:bold !important;
}

.contact_table th p{
	font-weight:bold !important;
}

.contact_his {
	background: #a80d0c;
	color: #fff;
	padding: 4px 8px;
	margin-right: 12px;
	font-size: 0.85em;
}

.contact_nini {
	background: #666;
	color: #fff;
	padding: 4px 8px;
	margin-right: 12px;
	font-size: 0.85em;
}

.contact_table td textarea {
	width: 100%;
	height: 180px;
}

.contact_table_button {
	margin: 0 auto !important;
	text-align: center;
}

.contact_table_button input {
	text-align: center !important;
	letter-spacing: 10px !important;
	font-size: 1.4em !important;
	background: #ccc;
	text-shadow: 0px 0px 0px !important;
}

.contact_table td {
	border-left: 0px !important;
	background: #fff !important;
	border-right: 0px !important;
	text-align: left;
	display: block;
	width: 100%;
	border-top: 0px !important;
	border-bottom: 0px !important;
	padding: 4px 24px 24px 24px;
}



.contact_table td input,.contact_table td textarea {
	border: 1px solid #ccc;
	padding: 4px 12px;
	border-radius: 8px;
}

.contact_table th p,.contact_table td p {
	margin: 0px;
	padding: 0px;
}

.contact_table table {
	font-size: 1em !important;
	font-weight: 500 !important;
	background: #fff;
	/* border-radius: 8px; */
	/* border: 0px !important; */
}

.e-search-results-list .e-loop-item {
	border-bottom: 1px dotted !important;
	padding: 0px 0px 4px 0px !important;
	margin: 0px 0px 8px 0px !important;
}

.e-search-results-list .e-loop-item:last-child {
	border-bottom: 0px solid #fff !important;
	padding: 0px 0px 0px 0px !important;
	margin: 0px 0px 0px 0px !important;
}

.live_search_title a{
  display: -webkit-box;
  -webkit-line-clamp: 2;       /* 表示行数を2行に制限 */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}



table {
	font-size: 0.9em;
}

.product_ac .button.product_type_variable.add_to_cart_button {
	display: none !important;
}

.product_ac .button.product_type_simple.add_to_cart_button.ajax_add_to_cart{
	display:none !important;
}

.woocommerce ul.products li.product .price {
	text-align: right;
	font-size: 1em;
}


.no-tel {
  pointer-events: none;
  cursor: default;
}
.no-tel a {
  pointer-events: none;
  color: inherit;
  text-decoration: none;
}



.woocommerce-ordering .orderby {
	border: 1px solid #ccc;
	border-radius: 4px;
	padding: 0px 8px;
}

.woocommerce-ordering select.orderby {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: white url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2010%206'%3E%3Cpath%20d='M0,0%20L5,6%20L10,0%20Z'%20fill='black'/%3E%3C/svg%3E") no-repeat right 0.75em center;
  background-size: 0.6em 0.35em; /* 小さめ＆正三角形バランス */
  padding-right: 2em;
  border: 1px solid #ccc;
  border-radius: 4px;
  height: 2.5em;
  line-height: 1.5;
}

.woocommerce .woocommerce-result-count {
	margin: 8px 0px 0px !important;
}




.page_title {
	font-size: 0.85em !important;
}

.kanren_box .woocommerce-loop-product__title {
	font-size: 0.85em !important;
}

.kanren_box .woocommerce-loop-product__buttons a {
/*	width: 100%;
	display: block;
	text-align: center !important;*/
	display:none !important;
}

.kanren_box .price {
	color: #bf0000 !important;
	text-align: right;
}


.woo-variation-gallery-trigger.woo-variation-gallery-trigger-position-top-right {
	display: none;
}

.cyui_text01 p {
	font-size: 0.8em;
	padding: ;
	margin: 12px 0px !important;
	line-height: 160%;
}

.cyui_text02 p {
	font-size: 0.8em;
	padding: ;
	margin: 12px 0px !important;
	line-height: 160%;
}


.product_loop_title {
	line-height: 140% !important;
}

.ranking_list a img {
	width: 100% !important;
	display: block !important;
	margin-bottom: 12px;
}

.single-product .variation-list {
	display: flex;
	flex-wrap: wrap;
}

@media screen and (min-width: 768px) {
.single-product .variation-list .variation-item{
	width:49%;
margin:0.5%;
padding:16px;
border:2px solid #eee;
	background:#fff;
}
	
.single-product .variation-list .variation-name {
	text-align:center;
	margin-top:12px;
	font-size:0.8em;
	line-height: 150%;
}
.product_loop_price p {
	margin:16px 0px 0px!important;
	color:#bf0000 !important;
	letter-spacing:0.5px !important;
	font-size:1em !important;
}
}

@media screen and (max-width: 767.9px) {
.single-product .variation-list .variation-item{
	width:49%;
margin:0.5%;
padding:8px;
border:2px solid #eee;
	background:#fff;
}
	
.contact_table_button input {
	width: 70% !important;
}
	
.contact_table_button input[type="submit"] {
  display: block;
  margin: 0 auto;
}
	
	
.contact_table_button{
	margin:0 auto;
	text-align: center;
}	
	
.single-product .variation-list .variation-name {
	text-align: center;
	margin-top: 4px;
	font-size: 0.7em;
	letter-spacing: 0px;
	line-height: 150%;
}
	
.product_loop_title {
	line-height: 140% !important;
	font-size:0.8em !important;
}	

.product_loop_price p {
	margin:12px 0px 0px !important;
	color:#bf0000 !important;
	letter-spacing:0px !important;
	font-size:0.9em !important;
}
}

.single-product .variation-list .variation-image img {
	width: 100%;
	height: auto;
}


.sc_gallery .elementor-shortcode {
	display: flex;
	flex-wrap: wrap;
}

.sc_gallery .elementor-shortcode div{
width:49%;
margin:0.5%;
}



.live_search p {
	margin: 0px !important;
}

.live_search bdi {
	font-size: 0.8em !important;
}

.woocommerce-variation-description p {
	display: none !important;
}

.reset_variations {
	display: none !important;
}

.variations_form.cart.wvs-loaded th {
	font-size: 0.85em !important;
	padding: 0px 8px !important;
	background: #eee !important;
	border-radius: 4px !important;
	margin-bottom: 4px !important;
	margin-top:4px !important;
}

#selected-var-info {
  /* 基本スタイルは同じ */
  position: relative;
  background-color: #fef3f3;
  color: #b91c1c;
  border: 1px solid #fca5a5;
  border-radius: 10px;
  padding: 1em;
  margin-top: 1.5em;
  max-width: 90%;
  font-size: 1rem;
  line-height: 1.5;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* 吹き出し矢印 */
/*#selected-var-info::before {
  content: "";
  position: absolute;
  top: 1em;
  left: -15px;
  border-width: 8px 15px 8px 0;
  border-style: solid;
  border-color: transparent #fef3f3 transparent transparent;
}*/

/* 非表示にするクラス */
/*#selected-var-info.hidden {
  display: none !important;
}*/

/* レスポンシブ調整 */
/*@media (max-width: 767.9px) {
  #selected-var-info {
    font-size: 0.95rem;
    padding: 0.8em;
    margin-top: 1em;
  }

  #selected-var-info::before {
    top: 0.8em;
    left: -12px;
    border-width: 6px 12px 6px 0;
  }
}
*/




  .coupon-box {
    display: none;
  }

.box_side .woocommerce ul.products li.product a {
	display: flex;
	flex-wrap: wrap;
align-items: center; /* ← h2を縦中央に配置 */
}
.box_side .woocommerce ul.products li.product a img {
	width: 48px;
	height: auto;
	margin: 0px !important;
}

.box_side .woocommerce ul.products li.product a h2 {
padding:8px 0px 8px 12px;
}

.box_side .woocommerce ul.products li.product {
	border-bottom: 1px dotted #999;
	padding: 8px 0px !important;
}

.variations th {
	width: auto !important;
	text-align: left;
}

.single_variation_wrap .woocommerce-Price-amount.amount bdi {
	margin: 4px 0px 12px !important;
	text-align: left !important;
	display: block;
	color: #bf0000;
}

.single-product h1 {
	font-size: 1.2em !important;
	line-height: 150% !important;
}



/*--learnpress用追加--*/
/*body,.page,.archive,.single{
	background:#fefbfb;
}*/

body,.page,.archive,.single{
	background:#fff;
}

htmpl,body,div,span,p,a{
	    font-family: 'Quicksand', "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 'メイリオ' , Meiryo , Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
		font-weight: 600;
}

.learn-press-breadcrumb {
	font-size: 0.7em !important;
	letter-spacing: 0px !important;
	color: #999;
}

h1 {
	font-size: 1.6em !important;
}

.lp-single-course-info-one {
	display: none !important;
}

.lp-single-course__header .course-title {
	margin: 0 0 12px 0 !important;
}

.lp-single-course__header {
	background-color: #fee !important;
}

.lp-archive-courses .lp-content-area .lp-archive-courses-sidebar {
	width: 0% !important;
}

.lp-section-instructor {
	display: none !important;
}

.lp-course-comment {
	display: none !important;
}

.menu-item-152 a {
	background: #8DCCE3;
	color: #fff !important;
	padding: 16px 40px !important;
	border-radius: 100px;
}

.course-instructor-category {
	display: none !important;
}

.meta-item.meta-item-student {
	display: none !important;
}

.lp-courses-bar {
	display: none !important;
}

.meta-item.meta-item-level {
	display: none !important;
}

.meta-item.meta-item-quiz {
	display: none !important;
}

.meta-item.meta-item-duration {
	display: none !important;
}

.course-wrap-meta {
	display: none !important;
}

.info-meta-item {
	display: none !important;
}

.lp-list-courses-related {
	display: none !important;
}

.share-toggle-icon {
	display: none !important;
}

.course-curriculum-info {
	display: none !important;
}

.lp-content-area.lp-profile-content-area {
	display: none !important;
}

.post-type-archive-lp_course .learn-press-courses .course {
	border: 4px solid #f3eded !important;
	border-radius: 8px !important;
	padding: 24px !important;
}

.learnpress-page .lp-button, .learnpress-page #lp-button {
font-weight:bold !important;
	background: #ee95a1 !important;
}

.learnpress-page .lp-button:hover, .learnpress-page #lp-button:hover {
font-weight:bold !important;
	background: #ee95a1 !important;
}

.lp-content-area .order_details th a, .lp-content-area .order_details td a {
	color: #ee95a1 !important;
}

.learn-press-courses .course-content .course-readmore a:hover {
font-weight:bold !important;
	background: #ee95a1 !important;
	border:1px solid  #ee95a1 !important;
}

.learn-press-courses .wap-course-title a:hover {
	color: #ee95a1 !important;
}

.lp-course-curriculum .course-section .course-item__left:hover {
	color: #ee95a1 !important;
}

.footer_text a{
	color:#222 !important;
}

.lp-archive-courses {
	padding-top: 40px;
	padding-bottom: 40px;
}

.comment-respond {
	display: none !important;
}

#popup-header {
	background: #333 !important;
}

.popup-header__inner.can-finish-course {
	width: 82% !important;
}

.content-item-wrap {
	width: 82% !important;
}

#popup-footer {
	max-width: 62% !important;
}

.wap-course-title {
	font-size: 0.85em !important;
}

#popup-content {
	padding-left: 0px !important;
	padding-right: 0px !important;
}

.lp-course-curriculum__title {
	font-size: 1.2em !important;
}

.lp-course-curriculum .course-section__title {
	font-size: 1.2em !important;
}



@media screen and (min-width: 768px) {
.lp-single-course .lp-single-course-main__right {
	margin-top: -156px !important;
}
.learn-press-courses[data-layout="list"] .course-thumbnail {
	width: 26% !important;
}
	
.learn-press-courses[data-layout="list"] .course-content {
	width: 74% !important;
}	
	
.learn-press-courses[data-layout="list"] .course-content {
	padding: 0 0 0 40px !important;
}	

.learn-press-courses .course-item {
	align-items: center !important;
}	
	
}







/* オフキャンバスのアニメーション調整 */
.elementor-12185 .elementor-element.elementor-element-7d297cb {
	--e-off-canvas-overlay-opacity: 0.5 !important;
}

/* フッターブログのリンク文字色 */

.footer_blog .elementor-heading-title.elementor-size-default a {
	color: #fff !important;
}


/* 絞り込み検索 */

@media screen and (min-width: 768px) {
.select_box,.free_box{
	width:40% !important;
	margin: 4px !important;
}
	.search_box .select_box select, .free_box input {
	appearance: none;
	width: 100%!important;
	padding: 8px 16px;
	border: 1px solid #d0d0d0;
	border-radius: 3px;
	background-color: #fff;
	color: #333;
	font-size: 1em;
	cursor: pointer;
}
	.search_button input {
	width: 150px !important;
	box-shadow: 0px 0px 0px !important;
	background: #474747 !important;
	color: #fff !important;
	text-shadow: 0px 0px 0px !important;
	border-radius: 3px !important;
	font-size:1em !important;
}
}

@media screen and (max-width: 767.9px) {
.select_box,.free_box{
	width:100% !important;
	margin: 2px !important;
}
	.search_box .select_box select, .free_box input {
	appearance: none;
	width: 100%!important;
	padding: 8px 16px;
	border: 1px solid #d0d0d0;
	border-radius: 3px;
	background-color: #fff;
	color: #333;
	font-size: 0.75em;
	cursor: pointer;
}
.search_button input {
	width: 120px !important;
	box-shadow: 0px 0px 0px !important;
	background: #474747 !important;
	color: #fff !important;
	text-shadow: 0px 0px 0px !important;
	border-radius: 3px !important;
	font-size: 0.9em !important;
	height: 46px !important;
	margin: 2px !important;
	letter-spacing: -3px !important;
}
}

.search_box label {
	border-radius: 100px;
	border: 1px solid #ccc;
	padding: 4px 24px;
	width: 19%;
	display: inline-block;
	margin: 2px;
	background: #fff;
	font-size: 0.9em;
}

.search_box label input{
margin-right:8px;
}

.search_box .select_box {
    display: inline-flex;
    align-items: center;
    position: relative;
}

.search_box .select_box::after {
    position: absolute;
    right: 15px;
    width: 10px;
    height: 7px;
    background-color: #535353;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
    pointer-events: none;
}



#feas-searchform-0 {
	display: flex;
	flex-wrap:wrap;
}






/*　--------------------------------------------------

　　　　　　　　　サイト全体の設定

--------------------------------------------------------- */

html{
	padding:0px;
	margin:0px;
}

@media screen and (min-width: 768px) {
body {
	max-width:2000px;
    font-family: 'Quicksand', "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 'メイリオ' , Meiryo , Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 19px;
	letter-spacing: 2px;
	line-height: 190%;
	overflow-wrap: break-word;
	font-weight: 500;
	overflow-x: hidden;
	color: #333;
}
	
.sp {
display:none;
}
}

@media screen and (max-width: 767px) {
body {
    font-family: 'Quicksand', "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 'メイリオ' , Meiryo , Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 18px;
	letter-spacing: 2px;
	line-height: 190%;
	overflow-wrap: break-word;
	font-weight: 500;
	overflow-x: hidden;
	color: #333;
}
.pc {
display:none;
}
section aside, section main {
	width: 100% !important;
}
section aside, section main {
	width: 100% !important;
}
section aside {
	order: 2 !important;
}
section main {
	order: 1 !important;
}
}

p {
	font-family: 'Quicksand', "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 'メイリオ' , Meiryo , Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
	color: #333;
	font-weight: 500;
	font-size: 0.9em;
}

td p {
	font-size: 1em;
	font-weight: 500 !important;
}

td {
	font-size: 1em;
	font-weight: 500 !important;
}


#formbox_screen_subscribe_UVUP8 {
	padding-bottom: 0px !important;
}

a:hover{
opacity:0.8;
}

.sub_text {
	font-size: 0.85em;
	line-height: 150%;
}

.clear{
clear:both;
}

a ,a img{
  color: #333;
  text-decoration: none;
}

p a,.sub_text a,.fuki_right a{
	color:#1a0dab !important;
	text-decoration:underline !important;
}

#wpadminbar a {
  color: #fff !important;
}

img {
	width: auto;
	height: auto;
	display: block;
	max-width: 100%;
}

hr {
  border-bottom: 1px dotted #ccc;
  border-top: 0 solid #ccc;
  color: #ccc;
  margin: 20px 0;
}

p {
	margin: 15px 0px;
}


ul,li{
	list-style: none;
	padding: 0px;
	margin: 0px;

}

.ul_list li {
	list-style: inside;
}

.ul_list{
	margin:8px 0px !important;
	padding:0px 12px !important;
}


.clear{
clear:both;
}

a {
  color: #333;
  text-decoration: none;
}


.elementor-drop-cap-letter {
	background: #eb92a4;
	color: #fff;
	padding: 7px 15px;
	font-size: 35px !important;
}

.elementor-divider {
	font-weight: bold !important;
}


header .header_button_text01 .elementor-button-text,header .header_button_text02 .elementor-button-text {
	word-break: keep-all;
}



/* ヘッダーの背景色 */
.elementor-sticky--effects {
 background: #fff!important;
}

.flex_box{
	display: -moz-flex;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;　/*子要素の指定サイズ通りで表示*/
	justify-content: space-between;　/*左右を左右端にぴったり*/
    justify-content: center;　/*子要素を全体を中央へ配置*/

}

.btn_box .elementor-button-text{text-align:left;}





/*-------------------------------------------
 * 
 * Elementor：ページネーション 
 * 
 * ------------------------------------------*/

@media screen and (min-width: 768px) {
.elementor-pagination a {
	border: 1px solid #ccc;
	padding: 14px 20px;
}

.elementor-pagination span {
	padding: 14px 20px;
	background:#333;
	color:#fff;
}
}

@media screen and (max-width: 767.9px) {
.elementor-pagination a {
	border: 1px solid #ccc;
	padding: 9px 10px;
	font-size:0.8em;
}

.elementor-pagination span {
	padding: 9px 10px;
	background:#333;
	color:#fff;
	font-size:0.8em;
}
}

.page-numbers.dots {
	background: #fff;
	color: #333;
}




/*-------------------------------------------

	見出し

--------------------------------------------*/




h1 {
  margin: 0px;
}






/*-----------------装飾----------------*/

/*-----h2用ナンバー------*/

.number {
	background: #fff;
	color: #eb92a4;
	padding: 3px 7px 3px 10px;
	border-radius: 30px;
	margin-right: 12px;
}

/*-----ふきだし上下------*/

.fuki {
	border: 2px solid #eaedf2;
	margin: 1em 0 1.5em;
	background-color: #fff;
	border-radius: 12px;
	position: relative;
	margin: 1.5em .5em 1.5em;
	padding: 1em;
	font-size: .95em;
	width: 98%;
}

.fuki::before {
	border: 10px solid transparent;
	border-bottom-color: #fff;
	border-top-width: 0;
	top: -8px;
	content: "";
	display: block;
	left: 30px;
	position: absolute;
	width: 0;
	z-index: 1;
	left: 40px;
}

.fuki::after {
	border: 10px solid transparent;
	border-bottom-color: #BDBDBD;
	border-top-width: 0;
	top: -10.5px;
	content: "";
	display: block;
	left: 30px;
	position: absolute;
	width: 0;
	border-bottom-color: #eaedf2;
	top: -11px;
	left: 40px;
}

/*-----ふきだし左右------*/
.fuki_box {
	margin: 15px 0px;
	display: -moz-flex;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;　/*子要素の指定サイズ通りで表示*/
}

@media screen and (min-width: 768px) {
.fuki_left {
	width: 15%;
}


.fuki_right {
	position: relative;
	padding: 7px 15px;
	width: auto;
	min-width: 115px;
	text-align: left;
	background: #fff;
	border: 3px solid #e8e8e8;
	z-index: 0;
	border-radius: 10px;
	width: 85%;
	margin: 15px 0px;
}
}

@media screen and (max-width: 767px) {
	
.fuki_left{
	width:30%;
	padding:25px 0px;
}
.fuki_left img{
		width:100%;
		height:auto;
	}
	
.fuki_right {
	position: relative;
	display: inline-block;
	padding: 7px 15px;
	min-width: 115px;
	text-align: left;
	background: #fff;
	border: 3px solid #e8e8e8;
	z-index: 0;
	border-radius: 10px;
	width: 67%;
	margin: 15px 0% 15px 3%;
	box-sizing: border-box;
}
}

.fuki_right::before {
	content: "";
	position: absolute;
	top: 50%;
	left: -8px;
	margin-top: -9px;
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 9px 9px 9px 0;
	border-color: transparent #fff transparent transparent;
	z-index: 0;
}
.fuki_right:after {
	content: "";
	position: absolute;
	top: 50%; left: -12px;
	margin-top: -10px;
	display: block;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 10px 10px 10px 0;
	border-color: transparent #e8e8e8 transparent transparent;
	z-index: -1;
}


/*-----メモ------*/

.memo {
	margin-bottom: 1.5em;
	padding: 1em;
	background: #fff9e5;
	color: #545454;
}

.memo_title {
	margin-bottom: 5px;
	color: #ffb36b;
	font-size: 1.2em;
	font-weight: 700;
}


/*------注意メモ-------*/

.alert {
	background: #ffebeb;
	color: #545454;
	margin-bottom: 1.5em;
	padding: 1em;
}

.alert_title {
	margin-bottom: 5px;
	color: #ff8376;
	font-size: 1.2em;
	font-weight: 700;
}


/*---------見出しボックス-----------*/

.mbox {
	border: 2px solid #5eb7b7;
	border-radius: 5px;
	position: relative;
	width: 98%;
	margin: 2.5em auto 1em;
}
.mbox .mboxt {
	padding: 7px 15px;
	background: #5eb7b7;
	color: #FFF;
	display: inline-block;
	border-radius: 30px;
	top: -25px;
	position: relative;
	left: -10px;
}
.mbox .inner {
	padding: 10px 30px 15px;
	width: auto;
	position: relative;
	margin-top: -20px;
}

.mbox p {
	margin: 0px;
	padding: 0px;
}


/*-------テキスト装飾---------*/

.b {
	font-weight: bold;
	margin: 0 0.15em;
}

.red {
	color: #ce000d;
}


/* 引用タグ */
blockquote {
	position: relative;
	margin: 1.5em 1em 1.5em;
	padding: 1.5em 2em;
	border: 1px solid #e6e6e6;
	background-color: #fafafa;
	z-index: 1;
}
blockquote a {
	display: block;
	text-align: right;
	border-bottom: ;
}
blockquote p{
position: relative;
z-index: 1;
}
blockquote:before{
content: "“";
font-size: 500%;
line-height: 1em;
color: #BDBDBD;
position: absolute;
left: 0;
top: 0;
}

blockquote:after{
content: "”";
font-size: 500%;
line-height: 0em;
color: #BDBDBD;
position: absolute;
right: 0;
bottom: 0;
}

/*-----旧まとめ枠やら------*/
/*-----2020年より前、～2019年までに使ってたの、ブログリライトして使わなくなったら削除でOK-----*/


.blog_fukidashi {
	margin: 15px 0px;
	display: -moz-flex;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;　/*子要素の指定サイズ通りで表示*/

}

@media screen and (min-width: 768px) {
.blog_fukidashi_left {
	width: 15%;
}


.blog_fukidashi_right {
	position: relative;
	padding: 7px 15px;
	width: auto;
	min-width: 115px;
	text-align: left;
	background: #fff;
	border: 3px solid #e8e8e8;
	z-index: 0;
	border-radius: 10px;
	width: 85%;
	margin: 15px 0px;
}
}

@media screen and (max-width: 767px) {
	
	.blog_fukidashi_left{
	width:30%;
	padding:25px 0px;
}
	.blog_fukidashi_left img{
		width:100%;
		height:auto;
	}
	
.blog_fukidashi_right {
	position: relative;
	display: inline-block;
	padding: 7px 15px;
	min-width: 115px;
	text-align: left;
	background: #fff;
	border: 3px solid #e8e8e8;
	z-index: 0;
	border-radius: 10px;
	width: 67%;
	margin: 15px 0% 15px 3%;
	box-sizing: border-box;
}
}

.blog_fukidashi_right::before {
	content: "";
	position: absolute;
	top: 50%;
	left: -8px;
	margin-top: -9px;
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 9px 9px 9px 0;
	border-color: transparent #fff transparent transparent;
	z-index: 0;
}
.blog_fukidashi_right:after {
	content: "";
	position: absolute;
	top: 50%; left: -12px;
	margin-top: -10px;
	display: block;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 10px 10px 10px 0;
	border-color: transparent #e8e8e8 transparent transparent;
	z-index: -1;
}


.blog_matome_title {
	background: #8dadd8;
	color: #fff;
	text-align: center;
	font-size: 1.2em;
	font-weight: bold;
	padding: 10px;
	border-radius: 10px 10px 0px 0px;
	margin-top: 30px;
}

.blog_matome_box {
	background: #fafafa;
	padding: 5%;
	box-sizing: border-box;
	border: 1px solid #ccc;
}



.blog01{
color:#F06B71;
font-size:1.2em;
padding:10px 0px;
}


.blog02 {
	background-color: #fefefe;
	font-size: 0.8em;
	padding: 10px 20px;
	box-sizing: border-box;
	border: 3px double #f5f5f5;
}


.blogwaku {
  border: 1px solid #ccc;
  font-size: 1em;
  margin: 10px 0;
  padding: 10px;
}

.blogmt {
  background: #8EB0D8 none repeat scroll 0 0;
  color: #fff;
  font-size: 1.2em;
  padding: 10px;
text-align:center;
}

.blogm{
background:#8EB0D8;
padding:10px;
font-size:1.2em;
color:#fff;
margin:10px 0px;
}




	
/*-------------------------------------------
 * 
 * フッター
 * 
 * -----------------------------------------*/

.footer_news_list a {
	color: #fff !important;
}



/*-------------------------------------------

スマホ用固定フッター

------------------------------------------*/

.footer_menu {
	width: 100%;
	position: fixed;
	left: 0px;
	bottom: 0px;
	z-index: 50;
	box-sizing: border-box;
	background:#8fcae2;
}

.footer_menu_text {
	line-height: 100%;
	font-size: 0.7rem;
	letter-spacing:1px;
}

.footer_menu_item01 a {
	display: block;
	width: 100%;
	float: left;
	text-align: center;
	border-right: 1px dotted #f5f5f5;
	padding: 3% 0%;
	box-sizing: border-box;
	font-weight:bold;
	font-size:0.9rem;
	color:#fff !important;
}

.footer_menu_item02 a {
	display: block;
	width: 25%;
	text-align: center;
	border-right: 1px dotted #f5f5f5;
	padding: 3% 0%;
	float: left;
	box-sizing: border-box;
	font-weight:bold;
	font-size:0.9rem;
}






/*　--------------------------------------------------

　　　　　　　　お問い合わせフォーム

--------------------------------------------------------- */

.wpcf7-list-item {
	display: block !important;
	text-align: left;
}

.contact_button {
	text-align: center;
	margin: 30px 0px;
}

.contact_button input {
	background: #8fcae2 !important;
	text-align: center !important;
	color: #fff !important;
	text-shadow: 0px 0px 0px !important;
	box-shadow: 0px 0px 0px !important;
}

@media only screen and (max-width: 640px) {
.contact_button input {
  width: 80%;
}
}

@media only screen and (min-width: 640px) {
.contact_button input {
  width: 40%;
}
}

.wpcf7 input,.wpcf7 textarea {
  text-align: left;
}


/***** 制作依頼コンタクトフォーム *****/
.c1{
background:#fff;
border-bottom:1px solid #ccc;
font-weight:bold;
color:#595858;
display:block;
}
 
.c2{
background:#E8EEF9;
padding:20px;
border-bottom:1px solid #ccc;
font-weight:bold;
color:#595858;
line-height:50px;
}
 
p.c1, p.c2 {
  border: 0 solid;
  margin: 0;
}
 
.c1:hover,.c2:hover{
background:#FFEEEE;
}
 
.c1.last,.c2.last{
border-bottom:none;
}
 
.m-alert{
padding:5px;
background:#ff8080;
color:#fff;
margin:5px;
font-weight:normal;
}

.n-alert {
	padding: 5px;
	background: #ccc;
	color: #fff;
	margin: 5px;
	font-weight: normal;
}
 
input[type=text],input[type=tel],input[type=email]{
font-size:15px;
}
 
.c1 textarea,.c2 textarea{
font-size:15px;
width:100%;
}
 
.file{
margin:10px;
display:block;
}
 
span.wpcf7-list-item { display: block; }
input[type=text],input[type=email],input[type=tel]{
   width:100%;
}
 
input[type=text]:focus,input[type=email]:focus,input[type=tel]:focus{
   border:solid 1px #20b2aa;
}
 
input[type=text], select,input[type=email],input[type=tel]{
   outline: none;
}
 
.contact_right textarea{
   border-radius: 5px;
   -moz-border-radius: 5px;
   -webkit-border-radius: 5px;
   -o-border-radius: 5px;
   -ms-border-radius: 5px;
   border:#a9a9a9 1px solid;
   -moz-box-shadow: inset 0 0 5px rgba(0,0,0,0.2),0 0 2px rgba(0,0,0,0.3);
   -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2),0 0 2px rgba(0,0,0,0.3);
   box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2),0 0 2px rgba(0,0,0,0.3);
   width:100%;
   padding:0 3px;
}
 
.contact_right textarea:focus{
   border:solid 1px #20b2aa;
}
 
.contact_right textarea {
   outline: none;
width:100%;
}
 
input[type=submit]{
   border-radius: 5px;
   -moz-border-radius: 5px;
   -webkit-border-radius: 5px;
   -o-border-radius: 5px;
   -ms-border-radius: 5px;
   border:#a9a9a9 1px solid;
   -moz-box-shadow: inset 0 0 5px rgba(0,0,0,0.2),0 0 2px rgba(0,0,0,0.3);
   -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2),0 0 2px rgba(0,0,0,0.3);
   box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2),0 0 2px rgba(0,0,0,0.3);
   width:33%;
   height:50px;
font-size:20px;
   padding:0 3px;
   margin:5px;
   cursor:pointer;
   color:#333;
   font-weight:bold;
   background:#f5f5f5;
   text-shadow:1px 1px 0px #fff;
}
 
.contact_form input[type=submit]{
width:50%;
}
 
.contact_form input[type=text],.contact_form input[type=email]{
width:100%;
height:50px;
font-size:1.5em;
}
 
input[type="radio"]{
margin: 0 0 4px 0 !important;
}








/*------------------------------------------

	よく読まれている記事・人気記事

------------------------------------------*/

@media screen and (min-width: 768px) {
.ranking_list li {
	padding: 16px !important;
	position: relative;
	list-style-type: none;
	margin-bottom: 0px !important;
	background: #fff;
	width:19%;
	margin:0.5%;
	border: 1px solid #ccc;
	border-radius: 4px;
}
.ranking_list li::before {
	content: counter(wpp-ranking,decimal);
	counter-increment: wpp-ranking;
	background: #666;
	color: #fff;
	font-size: 1.1em;
	line-height: 1;
	padding: 8px 12px;
	position: absolute;
	left: -8px;
	top: -8px;
	z-index: 1;
	border-radius: 20px;
}
.wpp-post-title {
	margin: 0px;
	padding: 0px;
	text-indent: 0px;
	font-size: 0.85em;
	line-height: 150% !important;
	display: block !important;
	border: 0px solid;
}
}


@media screen and (max-width: 767.9px) {
.ranking_list li {
	padding: 16px !important;
	position: relative;
	list-style-type: none;
	margin-bottom: 0px !important;
	background: #fff;
	width:48%;
	margin:1%;
	border: 1px solid #ccc;
	border-radius: 4px;
}
.ranking_list li::before {
	content: counter(wpp-ranking,decimal);
	counter-increment: wpp-ranking;
	background: #666;
	color: #fff;
	font-size: 1em;
	line-height: 1;
	padding: 6px 8px;
	position: absolute;
	left: -4px;
	top: -4px;
	z-index: 1;
	border-radius: 20px;
}
.wpp-post-title {
	margin: 0px;
	padding: 0px;
	text-indent: 0px;
	font-size: 0.75em !important;
	line-height: 140% !important;
	display: block !important;
	border: 0px solid;
	font-weight:500 !important;
}
}



.ranking_list_image{
	width:40%;
}

.ranking_list img {
	width: 100%;
	height: auto;
	display: block;
	margin-bottom: 12px;
}


/* カウンターの初期化 */
.ranking_list {
    counter-reset: wpp-ranking;
}

.ranking_list {
	padding: 0 10px 0;
	box-sizing: border-box;
	display: flex;
	margin: 0px auto 20px;
	flex-wrap: wrap;
}

/* カウンターの値を表示 */
.ranking_list li:before {
    content: counter(wpp-ranking, decimal);
    counter-increment: wpp-ranking;
}







/*--------------------------------

コンテンツ、コンタクト

----------------------------------*/

@media screen and (min-width: 1100px) {
.content input[type="submit"] {
	border-radius: 5px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	-o-border-radius: 5px;
	-ms-border-radius: 5px;
	border: #333 1px solid;
	width: 33%;
	height: 50px;
	font-size: 1.2em;
	padding: 0 3px;
	/* margin: 5px; */
	cursor: pointer;
	color: #fff;
	font-weight: bold;

background: #3A5F8B;

	text-shadow: 0px 0px 0px #fff;
	text-align: center;
	margin: 0 auto;
	font-family: 'Quicksand',"游ゴシック体","Yu Gothic",YuGothic,"ヒラギノ角ゴシック Pro","Hiragino Kaku Gothic Pro",'メイリオ',Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif !important;
	letter-spacing: 1px;
}
}

@media screen and (max-width: 1100px) {
.content input[type="submit"] {
	border-radius: 5px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	-o-border-radius: 5px;
	-ms-border-radius: 5px;
	border: #333 1px solid;
	width: 80%;
	height: 50px;
	font-size: 1.2em;
	padding: 0 3px;
	/* margin: 5px; */
	cursor: pointer;
	color: #fff;
	font-weight: bold;

background: #3A5F8B;

	text-shadow: 0px 0px 0px #fff;
	text-align: center;
	margin: 0 auto;
	font-family: 'Quicksand',"游ゴシック体","Yu Gothic",YuGothic,"ヒラギノ角ゴシック Pro","Hiragino Kaku Gothic Pro",'メイリオ',Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif !important;
	letter-spacing: 1px;
}
}


/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}



/*--------------------------------------

	テーブル

---------------------------------------*/


@media screen and (min-width: 768px) {
.scroll{
overflow: auto !important;
white-space:auto !important;
	margin:10px 0px 20px;
}
th {
	background: #fafafa;
	border: 1px solid #ccc;
	width: 30%;
	margin: 0px;
	padding: 5px 15px;
	box-sizing: border-box;
	white-space: auto;
	color:#333;
}

td {
	border: 1px solid #ccc;
	padding: 7px 10px;
	white-space: auto;
	color:#333;
}
}

@media screen and (max-width: 767px) {
.scroll{
overflow: auto !important;　　　　/*tableをスクロールさせる*/
white-space: nowrap !important;　　/*tableのセル内にある文字の折り返しを禁止*/
	margin:10px 0px 20px;
}
th {
	background: #f5f5f5;
	border: 1px solid #ccc;
	width: 30%;
	margin: 0px;
	padding: 5px 15px;
	box-sizing: border-box;
	white-space: nowrap;
	color:#333;
}

td {
	border: 1px solid #ccc;
	padding: 7px 10px;
	white-space: nowrap;
	color:#333;
}
}

.scroll::-webkit-scrollbar{　　/*tableにスクロールバーを追加*/
 height: 3px;
}
.scroll::-webkit-scrollbar-track{　　/*tableにスクロールバーを追加*/
 background: #F1F1F1;
}
.scroll::-webkit-scrollbar-thumb {　　/*tableにスクロールバーを追加*/
 background: #BCBCBC;
}

table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0px;
}




/*-------------------------------------------------
 * 
 * リセットCSS
 * 
 * 	---------------------------------------------*/



/* ress.css リセットCSS */

/*!
 * ress.css • v1.2.2
 * MIT License
 * github.com/filipelinhares/ress
 */

/* # =================================================================
   # Global selectors
   # ================================================================= */

html {
  box-sizing: border-box;
  overflow-y: scroll; /* All browsers without overlaying scrollbars */
  -webkit-text-size-adjust: 100%; /* iOS 8+ */
}

*,
::before,
::after {
  background-repeat: no-repeat; /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
  box-sizing: inherit;
}

::before,
::after {
  text-decoration: inherit; /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
}

* {
  padding: 0; /* Reset `padding` and `margin` of all elements */
  margin: 0;
}

/* # =================================================================
   # General elements
   # ================================================================= */

/* Add the correct display in iOS 4-7.*/
audio:not([controls]) {
  display: none;
  height: 0;
}

hr {
  overflow: visible; /* Show the overflow in Edge and IE */
}

/*
* Correct `block` display not defined for any HTML5 element in IE 8/9
* Correct `block` display not defined for `details` or `summary` in IE 10/11
* and Firefox
* Correct `block` display not defined for `main` in IE 11
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block;
}

summary {
  display: list-item; /* Add the correct display in all browsers */
}

small {
  font-size: 80%; /* Set font-size to 80% in `small` elements */
}

[hidden],
template {
  display: none; /* Add the correct display in IE */
}

abbr[title] {
  border-bottom: 1px dotted; /* Add a bordered underline effect in all browsers */
  text-decoration: none; /* Remove text decoration in Firefox 40+ */
}

a {
  background-color: transparent; /* Remove the gray background on active links in IE 10 */
  -webkit-text-decoration-skip: objects; /* Remove gaps in links underline in iOS 8+ and Safari 8+ */
}

a:active,
a:hover {
  outline-width: 0; /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace; /* Specify the font family of code elements */
}

b,
strong {
  font-weight: bolder; /* Correct style set to `bold` in Edge 12+, Safari 6.2+, and Chrome 18+ */
}

dfn {
  font-style: italic; /* Address styling not present in Safari and Chrome */
}

/* Address styling not present in IE 8/9 */
mark {
  background-color: #ff0;
  color: #000;
}

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* # =================================================================
   # Forms
   # ================================================================= */

input {
  border-radius: 0;
}

/* Apply cursor pointer to button elements */
button,
[type="button"],
[type="reset"],
[type="submit"],
[role="button"] {
  cursor: pointer;
}

/* Replace pointer cursor in disabled elements */
[disabled] {
  cursor: default;
}

[type="number"] {
  width: auto; /* Firefox 36+ */
}

[type="search"] {
  -webkit-appearance: textfield; /* Safari 8+ */
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; /* Safari 8 */
}

textarea {
  overflow: auto; /* Internet Explorer 11+ */
  resize: vertical; /* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea {
  font: inherit; /* Specify font inheritance of form elements */
}

optgroup {
  font-weight: bold; /* Restore the font weight unset by the previous rule. */
}

button {
  overflow: visible; /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: 0;
  padding: 0;
}

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

button,
html [type="button"], /* Prevent a WebKit bug where (2) destroys native `audio` and `video`controls in Android 4 */
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; /* Correct the inability to style clickable types in iOS */
}

button,
select {
  text-transform: none; /* Firefox 40+, Internet Explorer 11- */
}

/* Remove the default button styling in all browsers */
button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
  color: inherit;
}

/* Style select like a standard input */
select {
  -moz-appearance: none; /* Firefox 36+ */
  -webkit-appearance: none; /* Chrome 41+ */
}

select::-ms-expand {
  display: none; /* Internet Explorer 11+ */
}

select::-ms-value {
  color: currentColor; /* Internet Explorer 11+ */
}

legend {
  border: 0; /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit; /* Correct the color inheritance from `fieldset` elements in IE */
  display: table; /* Correct the text wrapping in Edge and IE */
  max-width: 100%; /* Correct the text wrapping in Edge and IE */
  white-space: normal; /* Correct the text wrapping in Edge and IE */
}

::-webkit-file-upload-button {
  -webkit-appearance: button; /* Correct the inability to style clickable types in iOS and Safari */
  font: inherit; /* Change font properties to `inherit` in Chrome and Safari */
}

[type="search"] {
  -webkit-appearance: textfield; /* Correct the odd appearance in Chrome and Safari */
  outline-offset: -2px; /* Correct the outline style in Safari */
}

/* # =================================================================
   # Specify media element style
   # ================================================================= */

img {
  border-style: none; /* Remove border when inside `a` element in IE 8/9/10 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress {
  vertical-align: baseline;
}

svg:not(:root) {
  overflow: hidden; /* Internet Explorer 11- */
}

audio,
canvas,
progress,
video {
  display: inline-block; /* Internet Explorer 11+, Windows Phone 8.1+ */
}

/* # =================================================================
   # Accessibility
   # ================================================================= */

/* Hide content from screens but not screenreaders */
@media screen {
  [hidden~="screen"] {
    display: inherit;
  }
  [hidden~="screen"]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important;
  }
}

/* Specify the progress cursor of updating elements */
[aria-busy="true"] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled] {
  cursor: default;
}

/* # =================================================================
   # Selection
   # ================================================================= */

/* Specify text selection background color and omit drop shadow */

::-moz-selection {
  background-color: #b3d4fc; /* Required when declaring ::selection */
  color: #000;
  text-shadow: none;
}

::selection {
  background-color: #b3d4fc; /* Required when declaring ::selection */
  color: #000;
  text-shadow: none;
}