/*
Theme Name: Tessera Child
Theme URI: https://themeforest.net/user/egemenerd/portfolio?ref=egemenerd
Description: Tessera Child Theme
Author: Egemenerd
Author URI: http://themeforest.net/user/egemenerd?ref=egemenerd
Template: tessera
Version: 1.0
*/

/* 基本設定と調整
*/

:root {
	--or-black: #111111;
	--or-black-rgb: 17, 17, 17;
	--or-otoiawase: #31b341;
	--or-otoiawase-rgb: 49, 179, 65;
}

:target {
	scroll-margin-top: 100px;
}

body, p {
	line-height: 1.8;
}
p {
	margin: 0;
}
dl, ol, ul {
	margin-bottom: 1rem;
}


/* タイトル部分背景 カテゴリ別に設定
*/

.tessera-bar {
	border-radius: 4px 4px 0 0;
}

.category-allrecorder #tessera-header-cover,
.term-ar #tessera-header-cover {
	background: linear-gradient(160deg, rgba(49,52,166,1) 0, rgba(75,29,169,1) 100%);
}
.category-allrecorder .tessera-bar,
.term-ar .tessera-bar {
	background: rgba(32,34,107,.9);
}

.category-explorer-ios-special #tessera-header-cover,
.term-wxi #tessera-header-cover {
	background: linear-gradient(160deg, rgba(0,151,229,1) 0, rgba(6,112,220,1) 100%);
}
.category-explorer-ios-special .tessera-bar,
.term-wxi .tessera-bar {
	background: rgba(9,57,117,.9);
}

.category-explorer-ios-android #tessera-header-cover,
.term-wx #tessera-header-cover {
	background: linear-gradient(160deg, rgba(85,211,29,1) 0, rgba(0,177,21,1) 100%);
}
.category-explorer-ios-android .tessera-bar,
.term-wx .tessera-bar {
	background: rgba(11,68,35,.9);
}

/* パンくずリスト
*/
#tessera-header .tessera-bar-left {
	width: 100%;
	font-size: .85rem;
}
#tessera-header .tessera-bar-right {
	display: none;
}

/* シングルページ ヘッダー部分カテゴリ名
*/
.tessera-page-title-badge {
	display: inline-block;
	border: 1px solid rgba(255,255,255,.6);
	padding: 2px 1em;
	margin-bottom: .5rem;
}

/* side menu
*/

body {
	overflow: visible;
}
#or-sticky-dummy {
	width: 100%;
	height: 95px;
	margin-bottom: -95px;
	background: transparent;
}
#or-sticky-menu {
	position: sticky;
	width: 100%;
	top: 0;
	background: rgba(25,25,25,.6);
	backdrop-filter: blur(15px);
	z-index: 1000;
}

#tessera-main-wrapper {
	overflow-x: visible;
}
#tessera-main-wrapper > .container > .row > aside {
	position: sticky;
	top: 140px;
	max-height: 100vh;
}
@media screen and (min-width: 1200px) {
	#tessera-main-wrapper > .container > .row {
		flex-direction: row-reverse;
	}
}

aside .tessera-title-with-border {
	margin-bottom: 0;
}
aside .tessera-title-with-border {
	padding-bottom: 5px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.3);
}
aside .tessera-title-with-border span::before {
	display: none;
}
aside a.or-back-productpage {
	font-size: 13px;
}


aside .widget_nav_menu div ul.menu > li {
	padding-right: 2rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}
aside .widget_nav_menu div ul.menu > li:first-child {
	padding-top: 12px;
	border-top: 1px solid rgba(0, 0, 0, 0.2);
}
aside .widget_nav_menu div ul.menu > li:last-child {
	padding: 0px 2rem 12px 0px;
	margin: 0px 0px 12px 0px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

aside .widget_nav_menu div ul > li.or-sidemenu-divide {
}
aside .widget_nav_menu div ul > li.or-sidemenu-divide::after {
	content: '';
	position: relative;
	display: block;
	width: 100%;
	height: 10px;
	margin-top: 12px;
	border-top: 1px solid rgba(0, 0, 0, 0.2);
}

/*
aside .widget_nav_menu div ul li:not(.current-menu-item) a:hover {
	content: '\f054';
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	text-align: center;
	color: #f3f3f3;
	position: absolute;
	display: block;
	top: 0;
	right: 4px;
	width: 26px;
	height: 26px;
	padding: 1px 0 0 1px;
	background: rgba(14,140,210,.4);
	border-radius: 15px;
}
*/

aside .widget_nav_menu div ul li.current-menu-item::before {
	content: '\f054';
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	text-align: center;
	color: #f3f3f3;
	position: absolute;
	display: block;
	top: 0;
	right: 4px;
	width: 26px;
	height: 26px;
	padding: 1px 0 0 1px;
	background: rgba(16,90,220,.4);
	border-radius: 15px;
}
aside .widget_nav_menu div ul li.current-menu-item:first-child::before {
	top: 12px;
}

aside .widget_nav_menu div ul li ul.sub-menu {
	display: none;
	padding-left: 25px;
}
aside .widget_nav_menu div ul li.current-menu-item ul.sub-menu {
	display: block;
}
aside .widget_nav_menu div ul li ul.sub-menu li {
	font-size: 14px;
	line-height: 1.2em;
	padding-top: 12px;
	border-top: 2px dotted rgba(0, 0, 0, 0.1);
}


aside .or-btn-otoiawase {
	display: block;
	text-align: left;
	font-size: 16px;
	color: #fff!important;
	background: var(--or-otoiawase);
	border-radius: 4px;
	padding: 12px 30px 12px 27px;
	transition: all .5s ease;
}
aside .or-btn-otoiawase:hover {
	background: var(--or-black);
}
aside .or-btn-otoiawase > i {
	margin-right: .5em;
}


/* side menu for post
*/

aside .lcp_catlist {
	list-style: none;
	padding: 0;
	margin-bottom: 1rem;
}
aside .lcp_catlist > li {
	line-height: 1.2;
	padding-top: 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}
aside .lcp_catlist > li.withtopborder {
	border-top: 1px solid rgba(0, 0, 0, 0.2);
}
aside .lcp_catlist > li.current {
	font-weight: 600;
}


/* 上書き
*/

#tessera-header-menu .navbar-brand {
	font-size: 1.4rem;
}

#tessera-bar-search-form {
	visibility: hidden;
}

.tessera-meta {
	margin-top: 100px;
}
.tessera-meta > div.tessera-meta-updated {
	display: none;
}
.tessera-post-nav-wrapper {
	display: none; /* 前後記事へ移動、カテゴリを跨るので、暫定的に非表示 */
}
#tessera-comments-wrapper {
	display: none; /* コメントは、各アーティクルで許可しない設定にする */
}


/* コンテンツ
*/

h1, .h1 { font-size: 2.30rem; }
h2, .h2 { font-size: 2.00rem; }
h3, .h3 { font-size: 1.65rem; }
h4, .h4 { font-size: 1.40rem; }
h5, .h5 { font-size: 1.20rem; }
h6, .h6 { font-size: 1.10rem; }
.lead {   font-size: 1.10rem; }


.elementor-widget-container h2.elementor-heading-title {
	margin-bottom: 1rem;
}

.elementor-widget-container a {
	color: rgb(0,60,235);
	text-decoration: underline!important;
}
.elementor-widget-container a:hover {
	color: rgb(0,150,255);
}
.elementor-widget-container a.elementor-button,
.elementor-widget-container a.btn {
	color: rgb(255,255,255);
	text-decoration: none!important;
}
.elementor-widget-container a.elementor-button:hover,
.elementor-widget-container a.btn:hover {
	color: rgb(255,255,255);
}

.elementor-widget-container a.elementor-flip-box__layer {
	text-decoration: none!important;
}


.or-wrap-1 {
	margin-bottom: 3em;
}
.or-wrap-1 .elementor-column-gap-default > .elementor-column > .elementor-element-populated {
	padding: 0;
}


.or-main-indent-a {
	text-indent: -2em;
	padding-left: 2em;
}
.or-indent-0 {
	padding-left: 2em;
}
.or-indent-1 {
	padding-left: 3em;
}
.or-indent-2 {
	padding-left: 4em;
}
.or-indent-kome {
	text-indent: -1em;
	padding-left: 1em;
}
.or-box-alert {
	padding: 1em;
	border-radius: 6px;
	background: rgba(220,0,0,.05);
}
.or-box-alert.or-indent-kome {
	padding-left: 2em;
}

.or-box-notice {
	padding: 2em;
	border: 5px solid rgba(0,140,255,.2);
	border-radius: 20px;
}



.elementor .or-indent-1 img,
.elementor .or-indent-2 img {
	border: 1px solid rgba(190,190,190,1);
	border-radius: 6px;
	filter: drop-shadow(0 .2rem .2rem rgba(0,0,0,.1));
}

.elementor .or-image-wrap {
	position: relative;
}
.elementor .or-image-wrap img {
	border-radius: 6px;
	filter: drop-shadow(0 .2rem .2rem rgba(0,0,0,.1));
}
.or-image-wrap.or-with-right-ar::after {
	content: '';
	position: absolute;
	top: calc(50% - 40px);
	right: -20px;
	width: 80px;
	height: 64px;
	background: url(https://support.gemsoft.jp/assets/images/guide-arrow.svg);
	background-size: contain;
	background-repeat: no-repeat;
	opacity: .5;
}


.elementor .step {
	display: inline-block;
	font-size: 1.1em;
	font-weight: 700;
	color: rgb(0,40,240);
	padding-bottom: .5em;
}

.or-spacer-1 {
	height: 2em!important;
	overflow: hidden;
}
.or-divider-1 {
	margin: 80px 0;
}

.elementor-heading-title > sub {
	font-size: .65em;
	font-weight: 500;
	bottom: .1em;
}

.btn-or a.elementor-button {
	font-size: 18px;
	font-weight: 700;
	padding: 1.5em 2em;
	color: #fff;
	background: #2674ce;
	border-radius: 6px;
	text-decoration: none!important;
}
.btn-or a.elementor-button:hover {
	background: #222;
}
.btn-or .elementor-button-icon {
	font-size: 1.2em;
	margin-top: -2px;
	margin-right: 0.5em
}

.btn-or.btn-or-download {
}


/* 目的別ページ用 */
.or-product-column-section .elementor-widget-container h2.elementor-heading-title {
	margin: 0 0 .4em 0;
	font-feature-settings: "palt" 1;
}

@media (min-width: 769px) {
  .or-product-column-section .or-product-column-wrapper .elementor-container {
    display: grid;
	/* grid-template-columns: repeat(4, 1fr); */
    grid-template-columns: repeat(auto-fit, minmax(calc(1140px / 4), 1fr));
    /* gap: inherit; */
  }
  
  .or-product-column-section .or-product-column-wrapper .elementor-column {
    /* flex: 1 1 250px; */
    /* min-width: 250px; */
	width: auto;
  }
}

.or-product-purpose-index .elementor-button-text {
	font-feature-settings: "palt" 1;
}

.or-product-column {
	position: relative;
	transition: transform ease-out .3s;
}
.or-product-column:hover {
	transform: scale(1.06);
	z-index: 1;
}
.or-product-column .elementor-image-box-img img {
	border-radius: 10px 10px 0 0;
}
.or-product-column .elementor-image-box-title > a {
	text-decoration: none!important;
}

.or-product-column.or-product-recommend::after {
	content: "★この機能を持つおすすめ商品";
	position: absolute;
	top: 12px;
	left: 0;
	display: inline-block;
	background: #222;
	color: #ff0;
	font-weight: 600;
	line-height: 1;
	padding: 4px 8px;
}


/* flip box custom
*/

.sc-grid-wrap .elementor-flip-box__layer__inner {
	display: grid;
	padding-top: 10px;
	grid-template-rows: 50% auto;
	grid-template-columns: 70px auto;

	& > :nth-child(1) {
		grid-area: 1 / 1 / 3 / 2;
	}
	& > :nth-child(2) {
		grid-area: 1 / 2 / 2 / 3;
	}
	& > :nth-child(3) {
		grid-area: 2 / 2 / 3 / 3;
	}
}
.sc-grid-wrap .elementor-flip-box__back .elementor-flip-box__layer__inner {
	display: block;
}
.sc-grid-wrap .elementor-flip-box__layer__overlay {
	padding: 20px 30px;
}




/* footer
*/

#footer-widgets {
	padding: 40px 0 40px;
}
#footer-widgets #custom_html-7 {
	margin-bottom: 0;
	height: 50px;
}
#footer-widgets h4 {
	position: relative;
	top: -3px;
	font-size: 1.2rem;
}
#footer-widgets .tessera-title-with-border {
	font-size: 15px;
	margin-bottom: 1em;
}
#footer-widgets .tessera-title-with-border span::before {
	display: none;
}
#footer-widgets .widget_nav_menu div ul > li {
	font-size: 13px;
	line-height: 1.2em;
	padding: 0px 0px 8px 0px;
	margin: 0px 0px 8px 0px;
}

@media only screen and (max-width: 991px) {
	#footer-widgets #media_image-1 {
		display: none;
	}
}

.tessera-footer-icons li {
	display: none;
}
.tessera-footer-icons li#tessera-gototop-li {
	display: block;
}

#tessera-footer-bottom p {
	font-size: 14px;
	font-style: normal;
	padding-left: 4px;
}
