@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Orbitron:wght@400..900&family=Zen+Kaku+Gothic+New:wght@500;700&family=Zen+Old+Mincho:wght@500;600;700&display=swap');


/*--------------------------------------------------------------------------------
	reset
--------------------------------------------------------------------------------*/

html{-webkit-text-size-adjust:100%;box-sizing:border-box;-moz-tab-size:4;tab-size:4;word-break:normal}*,:after,:before{background-repeat:no-repeat;box-sizing:inherit}:after,:before{text-decoration:inherit;vertical-align:inherit}*{margin:0;padding:0}hr{color:inherit;height:0;overflow:visible}details,main{display:block}summary{display:list-item}small{font-size:80%}[hidden]{display:none}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}a{background-color:transparent}a:active,a:hover{outline-width:0}code,kbd,pre,samp{font-family:monospace,monospace}pre{font-size:1em}b,strong{font-weight:bolder}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:inherit;text-indent:0}iframe{border-style:none}input{border-radius:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto;resize:vertical}button,input,optgroup,select,textarea{font:inherit}optgroup{font-weight:700}button{overflow:visible}button,select{text-transform:none}[role=button],[type=button],[type=reset],[type=submit],button{cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button:-moz-focusring{outline:1px dotted ButtonText}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}button,input,select,textarea{background-color:transparent;border-style:none}a:focus,button:focus,input:focus,select:focus,textarea:focus{outline-width:0}select{-moz-appearance:none;-webkit-appearance:none}select::-ms-expand{display:none}select::-ms-value{color:currentColor}legend{border:0;color:inherit;display:table;max-width:100%;white-space:normal}::-webkit-file-upload-button{-webkit-appearance:button;color:inherit;font:inherit}[disabled]{cursor:default}img{border-style:none}progress{vertical-align:baseline}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled=true]{cursor:default}


html {
	font-size: 62.5%;
}

body {
	font-family: "Zen Kaku Gothic New", "Noto Sans JP", "游ゴシック体","Yu Gothic","YuGothic","メイリオ","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	color: #000;
    font-size: 1.6rem;
}

body * {
	box-sizing: border-box;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
	empty-cells: show;
}

li {
	list-style: none;
}

img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

a {
	text-decoration: none;
	transition: opacity .3s ease;
}

a:hover {
	opacity: .7;
}

.iFreeNEXT {
    overflow: hidden;
}


@media screen and (max-width: 767px) {

	body {
		overflow-x: hidden;
		font-size: 1.4rem;
	}

}


/*--------------------------------------------------------------------------------
	header
--------------------------------------------------------------------------------*/

.header {
	position: fixed;
	z-index: 100;
	width: 100%;
	height: 80px;
	background-color: rgba(0, 0, 0, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
}

.header-logo {
    background-color: #fff;
    width: 280px;
    height: 100%;
    position: absolute;
    left: 0;
    margin: auto;
}

.header-logo > a {
    display: block;
    padding: 25px 17px 20px 12px;
}

.header-btn {
	position: absolute;
	top: 0;
    bottom: 0;
	right: 36px;
    margin: auto;
	width: 160px;
    height: 33px;
    border: 1px solid #808080;
}

.header-btn > a {
	display: flex;
	width: 100%;
	height: 100%;
	align-items: center;
	line-height: 1.416;
	font-weight: 700;
	color: #ffffff;
	text-decoration: none;
}

.header-btn > a > span {
	position: relative;
	display: block;
	width: 100%;
	text-align: center;
}

.header-menu ul {
    display: flex;
}

.header-menu ul li + li {
    margin-left: 50px;
}

.header-menu a {
	display: block;
    color: #fff;
    font-size: 1.8rem;
    font-weight: 700;
}

.header-menu a span {
    font-size: 2rem;
    color: #5CB531;
    font-weight: 600;
    font-family: "Orbitron", sans-serif;
    margin-right: 8px;
}

@media screen and (min-width: 768px) and (max-width: 1180.99px) {

	.header {
		flex-direction: column;
		align-items: baseline;
		height: auto;
	}

	.header-logo {
		position: static;
		margin: 0;
		width: 100%;
	}

	.header-logo img {
		width: 30%;
	}

	.header-btn {
		top: 26px;
		right: 20px;
		bottom: auto;
		width: 150px;
		height: 30px;
		border: none;
		background-color: #6C7789;
	}

	.header-menu {
		padding: 0;
		width: 100%;
	}

	.header-menu a {
		text-align: center;
		padding: 30px 20px;
	}
	.header-menu ul li {
		flex: 0 0 33.3333%;
	}
	.header-menu ul li + li {
		margin-left: 0;
	}

}
@media screen and (max-width: 767px) {
	.header {
		height: 68px;
		flex-direction: column;
		height: auto;
	}

	.header-logo {
		position: static;
		display: block;
		width: 100%;
		padding: 20px 10px;
	}

	.header-logo img {
		width: 40%;
	}
	
	.header-logo > a {
		display: inline;
		padding: 0;
	}

	.header-btn {
		top: 20px;
		right: 10px;
		bottom: auto;
		width: 110px;
		height: 30px;
		border: none;
		background-color: #6C7789;
		font-size: 1.2rem;
	}

	.header-menu {
		padding: 0;
		width: 100%;
	}

	.header-menu a {
		font-size: 1.3rem;
		text-align: center;
		padding: 20px 0;
	}
	.header-menu a span {
		display: block;
		font-size: 1.2rem;
	}
	.header-menu ul li {
		flex: 0 0 33.3333%;
	}
	.header-menu ul li + li {
		margin-left: 0;
	}
}


/*--------------------------------------------------------------------------------
	main
--------------------------------------------------------------------------------*/

main {
	width: 100%;
	overflow-x: hidden;
    position: relative;
}

.c-text {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    line-height: 1.8;
}

.c-text__small {
	font-size: 1.2rem;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
	margin-top: 15px;
}

/* sp/pc */
.ml-v {
	display: none;
}

.sp-v.ml-v {
	display: block;
}

.lp-v {
	display: none;
}
.pc-v {
	display: none;
}
.sp-v.lp-v {
	display: block;
}

@media screen and (max-width: 767px) {
	.u-txt-spleft {
		text-align: left !important;
	}

	.c-text__small {
		font-size: 1rem;
	}
}
@media screen and (min-width: 768px) {
	.sp-v {
		display: none;
	}

	.pc-v {
		display: block;
	}
}

@media screen and (min-width: 768px) and (max-width: 1023.99px) {
	.ml-v {
		display: block;
	}

	.sp-v.ml-v {
		display: block;
	}

	.sp-v.lp-v {
		display: none;
	}

}

@media screen and (min-width: 1024px) {
	.ml-v {
		display: none;
	}

	.sp-v.ml-v {
		display: none;
	}

	.lp-v {
		display: block;
	}

	.sp-v.lp-v {
		display: block;
	}

}

.txt-bold {
	font-weight: 700;
}

.txt-red {
	color: #D60000;
}

.txt-green {
    color: #5CB531;
}

.txt-black {
	color: #000;
}

.txt-center {
	text-align: center;
}

.txt-left {
	text-align: left;
}


.u-mt-0 {
    margin-top: 0 !important;
}

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

.u-mb-0 {
    margin-bottom: 0 !important;
}

.u-pt-0 {
    padding-top: 0 !important;
}




.note {
    margin-top: 15px;
}

.note ul li {
    font-size: 1.2rem;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    position: relative;
    padding-left: 1.5em;
    text-indent: -1.5em;
}

.note ul li::before {
    content: '※';
    margin-right: 0.5em;
}

.note ul li + li {
    margin-top: 5px;
}

.line {
    margin-top: 100px;
}

@media screen and (max-width: 767px) {

	.note {
		margin-top: 10px;
	}
	
	.note ul li {
		font-size: 1rem;
	}
	
	.line {
		margin-top: 70px;
	}
	
	.img_pinch,
	.img_scroll {
		position: relative;
		padding-bottom: 40px;
	}
	
	.img_pinch::after,
	.img_scroll::after {
		content: '';
		position: absolute;
		bottom: 0;
		width: 100%;
		height: 28px;
		background-repeat: no-repeat;
		background-position: center;
	}
	
	.img_pinch::after {
		background-image: url(/special/ifree_semiconductor/images/base/g_icn_img_08_20250512.svg);
	}
	
	.img_scroll::after {
		background-image: url(/special/ifree_semiconductor/images/base/g_icn_img_09_20250512.svg);
	}

	.img_scroll {
		overflow-x: scroll;
	}

	.img_scroll .img_scroll__inner img {
		width: 200%;
	}
}


.iFreeNEXT-bg {
    position: fixed;
    z-index: -1;
    width: 100%;
    height: 100vh;
    background-image: url(/special/ifree_semiconductor/images/base/g_kv_img_01_20250512.png);
	background-position: center top;
    background-size: cover;
}

@keyframes fade {
	from {
	  opacity: 0;
	}
  
	to {
		opacity: 1;
	}
  }
.iFreeNEXT-bg::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100vh;
    background-image: url(/special/ifree_semiconductor/images/base/g_kv_img_02_20250512.png);
	background-position: center top;
    background-size: cover;
	opacity: 0;
	animation-name: fade;
    animation-duration: 2s;
	animation-delay: 1s;
	animation-fill-mode: forwards;
}



.mainvis {
    height: 85vh;
    color: #fff;
    position: relative;
    display: flex;
}

.mainvis .mainvis-inner {
    position: relative;
    max-width: 784px;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.mainvis .mainvis-inner .mainvis-lead {
    font-size: 3rem;
    margin-bottom: 35px;
}

.mainvis .mainvis-note {
    font-size: 1.3rem;
    opacity: .8;
    position: absolute;
    left: 10px;
    bottom: 10px;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
	text-shadow: 0 0 15px #000;
}

@media screen and (max-width: 767px) {

	.mainvis {
		padding-top: 60px;
		height: 96vh;
	}

	.mainvis .mainvis-inner {
		padding: 0 8%;
		margin: -20% auto 0;
	}

	.mainvis .mainvis-inner .mainvis-lead {
		font-size: 2rem;
	}

	.mainvis .mainvis-note {
		font-size: 1rem;
	}

}


.bnr {
	position: fixed;
	bottom: 0;
	right: 0;
	width: 260px;
	height: 70px;
	background: url(/special/ifree_semiconductor/images/base/g_bg_img_03_20250512.svg);
	background-size: cover;
	z-index: 100;
	transition: 0.5s;
}

.bnr.is-fade {
	opacity: 0;
	transition: 0.5s;
}

.bnr.is-close {
	opacity: 0;
	transition: 0.5s;
}

.bnr .bnr-close {
	position: absolute;
	right: 20px;
	top: -30px;
	width: 16px;
	height: 16px;
	cursor: pointer;
}
.bnr .bnr-close::before, .bnr .bnr-close::after {
    content: "";
    display: block;
    width: 20px;
    height: 2px;
    position: absolute;
    top: 50%;
    left: 0;
    background-color: #fff;
}
.bnr .bnr-close::before {
    transform: rotate(45deg);
}
.bnr .bnr-close::after {
    transform: rotate(-45deg);
}

.bnr a {
	color: #fff;
	font-size: 1.8rem;
	font-weight: 700;
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.bnr a span {
	position: relative;
	line-height: 1;
}
.bnr a span::after {
	content: '';
    position: absolute;
    left: -20px;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 12px;
    height: 13px;
    background-image: url(/special/ifree_semiconductor/images/base/g_icn_img_05_20250512.svg);
}


@media screen and (max-width: 767px) {

	.bnr {
        width: 50%;
        height: 56px;
		bottom: 10%;
	}

	.bnr a {
		font-size: 1.6rem;
	}

	.bnr .bnr-close {
		position: absolute;
		right: 10px;
		top: -20px;
	}
}


.about {
    padding: 130px 0;
    background-color: rgba(0, 0, 0, 0.8);
	position: relative;
	z-index: 1;
}

.about .about-inner {
    max-width: 1100px;
    margin: auto;
}

.about .about-lead {
    color: #fff;
    display: flex;
    justify-content: space-between;
}

.about .about-lead > * {
    flex: 0 0 48%;
}

.about .about-lead .about-lead__ttl {
    font-family: "Zen Old Mincho", serif;
    font-weight: 600;
    font-size: 3.6rem;
    line-height: 1.6;
}

.about .about-lead .about-lead__tx {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    line-height: 2;
}

.about .about-point {
    margin-top: 160px;
}

.about .about-point .about-point__ttl {
    color: #5CB531;
    font-weight: 500;
    font-family: "Orbitron", sans-serif;
    font-size: 3.2rem;
    letter-spacing: 0.08em;
    position: relative;
}

.about .about-point .about-point__ttl::after {
    content: '';
    height: 60%;
    width: 82%;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    background-image: url(/special/ifree_semiconductor/images/base/g_line_img_01_20250512.png);
    background-repeat: repeat-x;
    background-position: center;
}

.about .about-point .about-point__menu {
    margin-top: 30px;
}

.about .about-point .about-point__menu ul {
    display: flex;
    justify-content: space-between;
}

.about .about-point .about-point__menu ul li {
    flex: 0 0 32.777%;
}

.about .about-point .about-point__menu ul li a {
    position: relative;
    background-color: #fff;
    color: #000;
    font-size: 1.9rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    padding: 33px 55px 33px 20px;
    height: 100%;
}

.about .about-point .about-point__menu ul li a::after {
    content: '';
    position: absolute;
	top: 0;
    right: 0;
    width: 35px;
    height: 100%;
    background-image: url(/special/ifree_semiconductor/images/base/g_icn_img_01_20250512.svg);
    background-position: center center;
    background-color: #5CB531;
}

.about .about-point .about-point__menu ul li a span {
    color: #5CB531;
    font-weight: 500;
    font-family: "Orbitron", sans-serif;
    font-size: 2.5rem;
    margin-right: 10px;
}

.about .about-point .about-point__link {
    max-width: 360px;
    height: 70px;
    margin: 20px auto 0;
}

.about .about-point .about-point__link a {
    position: relative;
    color: #fff;
    font-size: 1.9rem;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgba(255, 255, 255, 0.3);
}

.about .about-point .about-point__link a::after {
    content: '';
    position: absolute;
    right: 10px;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 12px;
    height: 13px;
    background-image: url(/special/ifree_semiconductor/images/base/g_icn_img_01_20250512.svg);
}


@media screen and (min-width: 768px) and (max-width: 1180.99px) {

	.about {
		padding-left: 40px;
		padding-right: 40px;
	}
	.about .about-point .about-point__ttl::after {
		width: 70%;
	}

	.about .about-point .about-point__menu ul li a {
		flex-direction: column;
		font-size: 1.6rem;
	}
	.about .about-point .about-point__menu ul li a span {
		font-size: 2rem;
		margin-right: 0;
	}
}

@media screen and (max-width: 767px) {

	.about {
		padding: 50px 0 0 ;
	}
	
	.about .about-lead {
		padding: 0 40px;
		flex-direction: column;
	}
	
	.about .about-lead > * {
		flex: auto;
	}
	
	.about .about-lead .about-lead__ttl {
		font-size: 2.3rem;
		margin-bottom: 30px;
	}
	
	.about .about-point {
		margin-top: 70px;
	}
	
	.about .about-point .about-point__ttl {
		padding: 0 20px;
		font-size: 2.2rem;
	}
	
	.about .about-point .about-point__ttl::after {
		width: 56%;
		right: 20px;
		background-size: contain;
	}
	
	.about .about-point .about-point__menu {
		margin-top: 20px;
	}
	
	.about .about-point .about-point__menu ul {
		flex-direction: column;
	}
	
	.about .about-point .about-point__menu ul li {
		flex: auto;
	}
	
	.about .about-point .about-point__menu ul li + li {
		border-top: 1px solid #EDF1F4;
	}
	
	.about .about-point .about-point__menu ul li a {
		font-size: 1.6rem;
	}
	
	.about .about-point .about-point__menu ul li a span {
		font-size: 2rem;
		margin-right: 20px;
	}
	
	.about .about-point .about-point__link {
		width: 100%;
		max-width: 100%;
		margin: 0;
	}
	
	.about .about-point .about-point__link a {
		font-size: 1.6rem;
		background-color: #6C7789;
	}


}

.content {
	padding-bottom: 90px;
    background-color: rgba(0, 0, 0, 0.4);
}

.content-wrap {
    padding: 130px 0 0;
    max-width: 1100px;
    margin: auto;
    position: relative;
}

.content .content-items {
    position: relative;
    margin-top: 60px;
}

.content .content-items::before,
.content .content-items::after {
    content: '';
    position: absolute;
}

.content .content-items::before {
    background-color: #5CB531;
    width: 650px;
    left: 0;
    top: -7px;
    height: 7px;
}

.content .content-items::after {
    left: 650px;
    top: -7px;
    width: 30px;
    height: 7px;
    background-color: #5CB531;
    clip-path: polygon(0 0, 100% 100%, 0 100%);
}

.content-item {
    background-color: #EDF1F4;
}

.content-item.bg02 {
    background-color: #fff;
}


.content .content-ttl {
    text-align: center;
    text-shadow: 0 0 15px #000;
}

.content .content-ttl h2 {
    font-size: 5.6rem;
    color: #fff;   
    font-family: "Zen Old Mincho", serif;
    font-weight: 500;
    letter-spacing: -0.07em;
}

.content .content-ttl h2 span {
    font-size: 8.6rem;
}

.content .content-ttl em {
    font-style: normal;
    color: #5CB531;
    font-weight: 500;
    font-family: "Orbitron", sans-serif;
    font-size: 3.6rem;
    display: block;
    letter-spacing: 0.08em;
}

.content .content-inner {
    padding: 100px 70px;
    position: relative;
}

.content-tertiary {
    margin: 100px 0 60px;
}

.content-tertiary h3 {
    font-weight: 700;
    font-size: 4.7rem;
    line-height: 1.5;
}

.content-tertiary h3 span {
    color: #5CB531
}

.content-quaternary {
    text-align: center;
    margin: 80px 0 50px;
    padding: 24px 0;
    background-color: #fff;
    position: relative;
    border-bottom: 3px solid #5CB531;
}

.content-quaternary h4 {
    font-size: 2.4rem;
}


.content-quinary {
    margin: 50px 0 30px;
    padding: 0 0 0 20px;
    position: relative;
}

.content-quinary.mt-10 {
    margin-top: 10px !important;
}

.content-quinary::before {
    content: '';
    width: 13px;
    height: 13px;
    position: absolute;
    top: 11px;
    left: 0;
    background-image: url(/special/ifree_semiconductor/images/base/g_icn_img_02_20250512.svg);
}

.content-quinary h5 {
    font-weight: 700;
    font-size: 2.2rem;
    line-height: 1.45;
}

@media screen and (min-width: 768px) and (max-width: 1180.99px) {

	.content .content-inner {
		padding: 100px 30px;
		position: relative;
	}
	

}

@media screen and (max-width: 767px) {

	.content {
		padding-top: 0;
		padding-bottom: 80px;
	}

	.content-wrap {
		padding: 160px 0 0;
		margin-top: -80px;
	}

	.content .content-items {
		margin-top: 77px;
	}

	.content .content-items::before {
		width: 60%;
	}

	.content .content-items::after {
		left: 60%;
		width: 15px;
	}

	.content .content-ttl h2 {
		font-size: 3rem;
	}

	.content .content-ttl h2 span {
		font-size: 4rem;
	}

	.content .content-ttl em {
		font-size: 2.6rem;
	}

	.content .content-inner {
		padding: 60px 20px 70px;
	}

	.content-tertiary {
		margin: 70px 0 50px;
	}

	.content-tertiary h3 {
		font-size: 2.6rem;
	}

	.content-quaternary {
		margin: 40px 0 30px;
		padding: 20px 15px;
		border-bottom: 2px solid #5CB531;
	}

	.content-quaternary h4 {
		font-size: 2rem;
	}

	.content-quinary {
		margin: 30px 0 20px;
		position: relative;
	}

	.content-quinary h5 {
		font-size: 1.8rem;
	}
}



.content-item__subttl {
    text-align: center;
    padding: 30px 0;
    background-color: #6C7789;
    margin-bottom: 60px;
	position: relative;
}


.content-item__subttl::before {
	content: '';
	width: 416px;
	height: 100px;
	position: absolute;
	left: 0;
	right: 0;
	top: -76px;
	margin: auto;
	background-image: url(/special/ifree_semiconductor/images/base/g_allo_img_01_20250512.png);
	background-size: cover;
}

.content-item__subttl p {
    font-size: 3.6rem;
    font-size: 700;
    color: #fff;
}

.content-col2 {
    display: flex;
    justify-content: space-between;
}

.content-col2 .content-col2__item {
    flex: 0 0 48%;
}

.content-point01__support {
    background-image: url(/special/ifree_semiconductor/images/base/g_bg_img_01_20250512.png);
	background-size: cover;
	background-position: center;
    padding: 80px 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
	flex-wrap: wrap;
}

.content-point01__support .content-point01__items {
    flex: 0 0 410px;
}

.content-point01__support .content-point01__item {
    display: flex;
}

.content-point01__support .content-point01__item + .content-point01__item {
    margin-top: 30px;
}

.content-point01__support .content-point01__item .content-point01__flag {
    width: 20%;
    background-color: rgba(0, 0, 0, 0.8);
    padding: 20px 14px;
	text-align: center;
	color: #fff;
	font-size: 1.3rem;
	font-weight: 600;
    font-family: "Noto Sans JP", sans-serif;
}

.content-point01__support .content-point01__item .content-point01__list {
    background-color: #fff;
    padding: 20px 15px;
	width: 80%;
}

.content-point01__support .content-point01__item ul li {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    position: relative;
    padding-left: 1.5em;
}

.content-point01__support .content-point01__item ul li::before {
    content: '';
    position: absolute;
    top: 8px;
    left: 0;
    width: 15px;
    height: 12px;
    background-image: url(/special/ifree_semiconductor/images/base/g_icn_img_03_20250512.svg);
}

.content-point01__support .content-point01__item ul li span {
    font-size: 2.1rem;
    font-weight: 700;
    background: linear-gradient(transparent 76%, #D0FF90 0%);
    display: inline;
    padding: 0 1px 0px;
}

.content-point01__support .content-point01__item ul li {
    margin-bottom: 10px;
}

.content-point01__support .content-point01__item ul li:last-child {
    margin-bottom: 0;
}


@media screen and (min-width: 768px) and (max-width: 1180.99px) {

	.content-item__subttl {
		padding: 30px 20px;
	}

	.content-point01__support {
		padding: 30px;
	}

	.content-point01__support .content-point01__items {
		flex: 0 0 46%;
	}

	.content-point01__support .content-point01__item .content-point01__flag {
		width: 24%;
		font-size: 1.2rem;
		padding: 14px 12px;
	}

	.content-point01__support .content-point01__item .content-point01__list {
		width: 76%;
	}

	.content-point01__support .content-point01__item ul li {
		font-size: 1.4rem;
	}

	.content-point01__support .content-point01__item ul li span {
		font-size: 1.8rem;
	}
	

}

@media screen and (max-width: 767px) {
	.content-item__subttl {
		padding: 25px 20px;
	}
	
	.content-item__subttl::before {
		content: '';
		width: 300px;
		height: 70px;
		top: -50px;
		background-size: cover;
	}
	
	.content-item__subttl p {
		font-size: 2.2rem;
	}
	
	.content-col2 {
		flex-direction: column;
	}
	
	.content-col2 .content-col2__item + .content-col2__item {
		margin-top: 40px;
	}
	
	.content-point01__support {
		padding: 30px 20px;
		flex-direction: column;
	}
	
	.content-point01__support .content-point01__items {
		flex: auto;
		width: 100%;
	}
	
	.content-point01__support .content-point01__item {
		display: flex;
	}
	
	.content-point01__support .content-point01__items + .content-point01__items,
	.content-point01__support .content-point01__item + .content-point01__item {
		margin-top: 10px;
	}
	
	.content-point01__support .content-point01__item .content-point01__flag {
		padding: 14px 10px;
		font-size: 0.9rem;
	}
	
	.content-point01__support .content-point01__item .content-point01__list {
		padding: 15px 10px;
		width: 80%;
	}
	
	.content-point01__support .content-point01__item ul li {
		padding-left: 1.3em;
	}
	
	.content-point01__support .content-point01__item ul li::before {
		width: 10px;
		background-size: contain;
	}
	
	.content-point01__support .content-point01__item ul li span {
		font-size: 1.6rem;
	}
	
	.content-point01__support .content-point01__item ul li {
		margin-bottom: 10px;
	}
	
	.content-point01__support .content-point01__item ul li:last-child {
		margin-bottom: 0;
	}

}



.content-point02__modal {
	max-width: 900px;
	margin: 50px auto 0;
	position: relative;
	overflow: hidden;
}


.content-point02__btn {
    max-width: 620px;
    margin: 0 auto 0;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
	position: relative;
	z-index: 1;
	background-color: #fff;
	overflow: hidden;
}

.content-point02__btn button {
    background-color: #000;
	text-align: left;
	width: 100%;
    padding: 20px;
    display: block;
    color: #fff;
    position: relative;
	transition: 0.5s;
	border: 2px solid #000;
}

.content-point02__btn button:hover {
	background-color : #fff;
	transition: 0.5s;
	color: #000;
}

.content-point02__btn button em {
    font-style: normal;
    color: #5CB531;
    font-weight: 500;
    font-family: "Orbitron", sans-serif;
	margin-right: 20px;
}

.content-point02__btn button em i {
	font-style: normal;
}

@keyframes btnAnime {
	0% {
	  transform: translateX(0);
	}

	5% {
	  transform: translateX(6px);
	}

	10% {
	  transform: translateX(0);
	}

	15% {
	  transform: translateX(8px);
	}

	20% {
	  transform: translateX(0);
	}
  
	100% {
		transform: translateX(0);
	}

}

.content-point02__btn button::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 4%;
    margin: auto;
    width: 15px;
    height: 15px;
    background-image: url(/special/ifree_semiconductor/images/base/g_icn_img_05_20250512.svg);
	transition: 0.5s;
	animation: btnAnime 4s infinite;
}

.content-point02__btn button:hover::after {
    background-image: url(/special/ifree_semiconductor/images/base/g_icn_img_10_20250512.svg);
	transition: 0.5s;
    right: 3%;
}


.content-point02__tx {
	position: relative;
	z-index: 1;
    max-width: 620px;
	margin: auto;
	background-color: #EDF1F4;
	padding: 12px 23px 23px;
	text-align: center;
}

.content-point02__tx p {
	font-weight: 500;
    font-family: "Noto Sans JP", sans-serif;
	line-height: 1.6;
}

.pickup_bg {
	width: 64%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	z-index: 0;
	text-align: center;
}

.pickup_bg img {
	height: 100%;
}

.pickup01 {
	background-color: #D6ECCB;
	padding: 20px 0;
	margin-bottom: 40px;
	border-radius: 10px;
	position: relative;
}

.pickup01 .pickup01_ttl {
	position: relative;
	text-align: center;
	font-size: 2.4rem;
	font-weight: 600;
	max-width: 240px;
	margin: auto;
}

.pickup01 .pickup01_ttl::before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 46px;
	height: 46px;
	background-image: url(/special/ifree_semiconductor/images/base/g_icn_img_06_20250512.svg);
	background-color: #fff;
	background-position: center center;
	border-radius: 100%;
}

.pickup01 .content-point02__btn {
	margin-top: 20px;
}

.pickup02 {
	margin-bottom: 40px;
}

.pickup03 .pickup03_ttl {
	position: relative;
	text-align: center;
	font-size: 2.4rem;
	font-weight: 600;
	margin: auto;
	background-color: #8DCB6F;
	border-radius: 10px;
	padding: 20px;
	margin-bottom: 40px;
}

.pickup03 .pickup03_ttl p {
	max-width: 360px;
	margin: auto;
	position: relative;
}

.pickup03 .pickup03_ttl p::before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 46px;
	height: 46px;
	background-image: url(/special/ifree_semiconductor/images/base/g_icn_img_07_20250512.svg);
	background-color: #fff;
	background-position: center center;
	border-radius: 100%;
}

.pickup03 ul {
	text-align: left;
	max-width: 240px;
	margin: 12px auto 0;
	line-height: 1.6;
}

.pickup04 {
	max-width: 680px;
	margin: 40px auto 0;
	background-color: #5CB531;
	border-radius: 10px;
	padding: 20px 0 40px;
	position: relative;
	z-index: 1;
}

.pickup04 .pickup04_ttl {
	text-align: center;
	font-size: 2.4rem;
	font-weight: 600;

}



@media screen and (min-width: 768px) and (max-width: 1023.99px) {

	.pickup_bg {
		width: 90%;
		top: 0;
	}

	.content-point02__btn,
	.content-point02__tx {
		max-width: 560px;
	}
}

@media screen and (max-width: 767px) {

	.content-point02__btn button {
		display: flex;
		align-items: center;
		text-align: left;
	}

	.content-point02__btn button:hover {
		opacity: 0.8;
		transition: 0.2;
	}

	.content-point02__btn button em {
		font-size: 2.1rem;
		text-align: center;
	}

	.content-point02__btn button em i {
		font-size: 1rem;
		display: block;
	}

	.content-point02__tx {
		padding: 10px;
		text-align: left;
	}

	.content-point02__modal {
		margin: 20px auto 0;
	}

	.pickup01 {
		padding: 20px;
	}

	.pickup_bg {
		width: 80%;
		top: 0;
	}

	.pickup01 .pickup01_ttl {
		font-size: 1.8rem;
		max-width: 180px;
	}

	.pickup01 .pickup01_ttl::before {
		width: 36px;
		height: 36px;
		background-size: 70%;
	}

	.pickup01 .content-point02__btn {
		margin-top: 10px;
	}

	.pickup02 {
		padding: 0 20px;
		margin-bottom: 40px;
	}

	.pickup03 {
		padding: 0 20px;
	}

	.pickup03 .pickup03_ttl {
		font-size: 1.8rem;
		margin-bottom: 30px;
	}

	.pickup03 .pickup03_ttl p::before {
		left: 0;
		width: 36px;
		height: 36px;
		background-size: 70%;
	}

	.pickup03 ul {
		max-width: 100%;
	}

	.pickup04 {
		padding: 20px;
	}

	.pickup04 .pickup04_ttl {
		font-size: 1.8rem;

	}

}


.content-point03__btn {
    max-width: 620px;
    margin: 40px auto 0;
}

.content-point03__btn a {
    text-align: center;
    background-color: #000;
    padding: 20px 0;
    display: block;
    color: #fff;
    position: relative;
}

.content-point03__btn a::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 4%;
    margin: auto;
    width: 21px;
    height: 23px;
    background-image: url(/special/ifree_semiconductor/images/base/g_icn_img_04_20250512.svg);
}

.content-index__table table {
    width: 100%;
    text-align: center;
}

.content-index__table table .table-pc-v,
.content-index__table table .table-sp-v {
	display: none;
}

@media screen and (min-width: 768px) {

	.content-index__table table .table-pc-v {
		display: table-column-group;
	}
}

@media screen and (max-width: 767px) {
	.content-index__table table .table-sp-v {
		display: table-column-group;
	}
}

.content-index__table table thead th {
    padding: 8px 10px;
    font-size: 1.8rem;
    font-weight: 700;
    color: #fff;
    background-color: #6C7789;
}

.content-index__table table tbody tr:nth-child(odd) {
    background-color: #EDF1F4;
}

.content-index__table table tbody tr:nth-child(even) {
    background-color: #fff;
}

.content-index__table table tbody tr + tr {
    border-top: 1px solid #C8D1D5;
}

.content-index__table table tbody tr th {
	background-color: #8CC96E;
}

.content-index__table table tbody tr td {
    padding: 12px 20px;
    font-weight: 400;
}

.content-point03__2col {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.content-point03__2col .content-point03__item {
    flex: 0 0 48%;
    background-color: #fff;
}

.content-point03__2col .content-point03__item:nth-child(n + 3) {
    margin-top: 40px;
}

.content-point03__2col .content-point03__item .content-point03__flag {
    background-color: #6C7789;
    padding: 10px 20px;
    color: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.content-point03__2col .content-point03__item .content-point03__flag .flag {
    display: flex;
    align-items: center;
    font-size: 1.3rem;
}

.content-point03__2col .content-point03__item .content-point03__flag .flag img {
    max-width: 62px;
    margin-left: 10px;
}

.content-point03__2col .content-point03__item .content-point03__tx {
    padding: 30px;
}

.content-point03__2col .content-point03__item .content-point03__tx .lead {
    font-size: 1.8rem;
    font-weight: 700;
	margin-bottom: 16px;
}


.content-index .content-items::after {
	content: none;
}

.content-index .content-items::before {
	width: 100%;
	height: 10px;
	top: -10px;
}

.content-index .index-ttl {
	position: absolute;
	top: -45px;
	left: 0;
	right: 0;
	margin: auto;
	background-color: #5CB531;
	height: 90px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60%;
}

.content-index .index-ttl::before {
	content: '';
	width: 40px;
	height: 90px;
	position: absolute;
	left: -39.8px;
	background-color: #5CB531;
	clip-path: polygon(100% 0, 100% 100%, 0 100%);
}

.content-index .index-ttl::after {
	content: '';
	width: 40px;
	height: 90px;
	position: absolute;
	right: -39.8px;
	background-color: #5CB531;
	clip-path: polygon(0 100%, 100% 0, 0 0);
}


.content-index .index-ttl h3 {
	color: #fff;
	text-align: center;
	font-size: 4.7rem;
	font-weight: 700;
	font-family: "Zen Old Mincho", serif;
}

.content-index .content-item {
	background-color: #EFF4E9;
}


@media screen and (max-width: 767px) {
	
	.content-point03__2col {
		flex-direction: column;
	}

	.content-point03__2col .content-point03__item:nth-child(n + 3) {
		margin-top: 0;
	}

	.content-point03__2col .content-point03__item + .content-point03__item {
		margin-top: 20px;
	}

	.content-point03__2col .content-point03__item .content-point03__flag {
		font-size: 1.6rem;
	}

	.content-point03__2col .content-point03__item .content-point03__flag .flag {
		font-size: 1rem;
	}

	.content-point03__2col .content-point03__item .content-point03__flag .flag img {
		max-width: 43px;
		margin-left: 10px;
	}

	.content-point03__2col .content-point03__item .content-point03__tx {
		padding: 20px;
	}

	.content-point03__2col .content-point03__item .content-point03__tx .lead {
		font-size: 1.6rem;
	}

	.content-index .index-ttl {
		top: -40px;
		height: 80px;
		width: 70%;
	}
	
	.content-index .index-ttl::before {
		height: 80px;
		left: -39px;
	}
	
	.content-index .index-ttl::after {
		height: 80px;
		right: -39px;
	}

	.content-index .index-ttl h3 {
		font-size: 3.3rem;
	}

}

@media screen and (max-width: 500px) {

	.content-index__table {
		overflow-x: scroll;
		padding-bottom: 40px;
		position: relative;
	}

	.content-index__table::after {
        content: '';
        position: absolute;
        bottom: 0;
        width: 100%;
        height: 28px;
		background-image: url(/special/ifree_semiconductor/images/base/g_icn_img_09_20250512.svg);
        background-repeat: no-repeat;
        background-position: center;
    }
	.content-index__table .content-index__table__inner {
		width: 500px;
	}
}



/*--------------------------------------------------------------------------------
	disclaimer
--------------------------------------------------------------------------------*/
.disclaimer {
    font-family: "Noto Sans JP", sans-serif;
	background: #fff;
	padding: 50px calc(20 / 375 * 100%);
}

.disclaimer-wrap {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
}

.disclaimer-ttl-01 {
	position: relative;
	padding-bottom: 15px;
	margin-bottom: 30px;
	border-bottom: 1px solid #222;
}

.disclaimer-ttl-01-inner {
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: .05em;
	font-weight: 700;
}

.disclaimer-ttl-01-inner span {
	font-size: 1.2rem;
	font-weight: 400;
}

.disclaimer-ttl-02 {
	font-size: 1.6rem;
	line-height: 1.6;
	letter-spacing: .05em;
	font-weight: 700;
	margin: 30px 0;
}

.disclaimer-ttl-03 {
	font-size: 1.4rem;
	line-height: 1.6;
	letter-spacing: .05em;
	font-weight: 700;
	margin: 15px 0;
}

.disclaimer-ttl-04 {
	font-size: 1.4rem;
	padding: 0 0 0 1.5em;
	margin: 0 0 12px 0;
	position: relative;
}

.disclaimer-ttl-04::before {
    position: absolute;
    top: 0.5em;
    left: 0;
    width: 9px;
    height: 9px;
    content: "";
    background: #5CB531;
}

.disclaimer-txt-01 {
	font-size: 1.4rem;
	letter-spacing: .05em;
	line-height: 1.6;
}

.disclaimer-txt-01 + .disclaimer-txt-01 {
	margin-top: 4px;
}

.disclaimer-txt-03 {
	position: relative;
	font-size: 1.4rem;
	letter-spacing: .05em;
	line-height: 1.6;
	padding: 0 0 0 1.5em;
}

.disclaimer-txt-03 + .disclaimer-txt-03 {
	margin-top: 4px;
}

.disclaimer-txt-03::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "※";
}

.disclaimer-list-01 {
	font-size: 1.4rem;
	letter-spacing: .05em;
	line-height: 1.6;
}

.disclaimer-list-01.disclaimer-list-01--01 {
	margin-top: 16px;
}

.disclaimer-list-01 > li {
	position: relative;
	padding: 0 0 0 1.5em;
}

.disclaimer-list-01 > li + li {
	margin-top: 12px;
}

.disclaimer-list-01.disclaimer-list-01--01 > li + li {
	margin-top: 4px;
}

.disclaimer-list-01 > li:before {
	position: absolute;
	top: 0.5em;
	left: 0;
	width: 10px;
	height: 10px;
	content: "";
	background: #5CB531;
}

.disclaimer-list-01 > li.disclaimer-list-01-red {
	color: #DD2525;
	font-weight: 700;
}

.disclaimer-list-01 > li.disclaimer-list-01-red:before {
	background: #DD2525;
}

.disclaimer-list-02 {
	color: #666;
	font-size: 1.4rem;
	line-height: 1.6;
	margin-top: 30px;
}

.disclaimer-list-02 > li {
	position: relative;
	padding: 0 0 0 1.5em;
}

.disclaimer-list-02 > li + li {
	margin-top: 4px;
}

.disclaimer-list-02 > li:before {
	position: absolute;
	top: 0;
	left: 0;
	content: "※";
}

.disclaimer-list-03 {
	counter-reset: counter;
	list-style: none;
	padding: 0;
	margin: 0;
}

.disclaimer-list-03 li {
	position: relative;
	font-size: 1.4rem;
	letter-spacing: .05em;
	line-height: 1.6;
	padding-left: 1.5em;
}

.disclaimer-list-03 > li + li {
	margin-top: 12px;
}

.disclaimer-list-03 li:before {
	content: counter(counter)'.';
	counter-increment: counter;
	position: absolute;
	top: .0;
	left: 0;
	font-size: inherit;
	line-height: inherit;
}

.disclaimer-inner-list {
	margin: 20px 0 12px;
}

.disclaimer-inner-list > li + li {
	margin-top: 12px;
}

.disclaimer-block {
	margin-top: 30px;
}

.disclaimer #anc-risk {
	margin: -120px 0 0 ;
	padding-top: 150px;
}


@media screen and (min-width: 768px) {
	.disclaimer {
		padding: 120px 40px;
	}

	.disclaimer-ttl-01 {
		margin: 0 0 32px 0;
	}

	.disclaimer-ttl-01:before {
		top: 15px;
	}

	.disclaimer-ttl-01-inner {
		font-size: 2.0rem;
	}

	.disclaimer-ttl-01-inner > span {
		padding: 0 20px 0 0;
	}

	.disclaimer-ttl-02 {
		font-size: 1.6rem;
		margin: 24px 0 24px 0;
	}

	.disclaimer-ttl-02.disclaimer-ttl-02--01 {
		margin: 32px 0 24px 0;
	}

	.disclaimer-ttl-03 {
		font-size: 1.4rem;
		margin: 12px 0 8px 0;
	}

	.disclaimer-ttl-04 {
		font-size: 1.4rem;
	}

	.disclaimer-ttl-04:before {
        top: 0.4em;
		width: 11px;
		height: 11px;
	}

	.disclaimer-txt-01,
	.disclaimer-txt-03 {
		font-size: 1.4rem;
	}

	.disclaimer-txt-01 + .disclaimer-txt-01 {
		margin-top: 8px;
	}

	.disclaimer-list-01 {
		font-size: 1.4rem;
	}

	.disclaimer-list-01.disclaimer-list-01--01 {
		margin-top: 24px;
	}

	.disclaimer-list-01 > li + li {
		margin-top: 12px;
	}

	.disclaimer-list-01.disclaimer-list-01--01 > li + li {
		margin-top: 8px;
	}

	.disclaimer-list-01 > li:before {
		width: 11px;
		height: 11px;
	}

	.disclaimer-list-02 {
		margin-top: 24px;
	}

	.disclaimer-list-02 > li + li {
		margin-top: 8px;
	}

	.disclaimer-block {
		margin-top: 60px;
	}

	.disclaimer #anc-risk {
		margin: -90px 0 0 ;
		padding-top: 120px;
	}
	
	
}


/*--------------------------------------------------------------------------------
	footer
--------------------------------------------------------------------------------*/

.footer {
	background: #222222;
	color: #ffffff;
	padding: 60px 20px 80px 20px;
}

.footer-wrap {

}

.footer-01 {

}

.footer-01 > ul {
	font-size: 1.4rem;
	line-height: 1.5;
	font-weight: bold;
}

.footer-01 > ul > li {

}

.footer-01 > ul > li + li {
	margin-top: 24px;
}

.footer-01 > ul > li > a {
	position: relative;
	color: #ffffff;
	text-decoration: none;
}

.footer-02 {
	display: flex;
	flex-wrap: wrap;
	margin-top: 48px;
	border-top: solid 1px #707070;
}

.footer-02-01 {
	order: 1;
	margin: 24px 0 0 0;
}

.footer-02-01-inner > dl {
	font-size: 1.0rem;
	line-height: 1.6;
}

.footer-02-01-inner > dl > dt {
	font-weight: bold;
}

.footer-02-01-inner > dl > dt > span {
	padding: 0 0 0 1em;
}

.footer-02-01-inner-copyright {
	margin-top: 16px;
	font-size: 1.0rem;
	line-height: 1.5;
	font-weight: bold;
}

.footer-02-02 {
	order: 0;
	margin: 48px auto 0 auto;
	width: 189px;
}

.footer-02 {
	display: flex;
	flex-wrap: wrap;
	margin-top: 48px;
	border-top: solid 1px #707070;
}

/* ロゴ&ナビ無し */
.footer.footer-v2 {
	padding: 60px 20px;
}

.footer-03-inner > dl {
	font-size: 1.0rem;
	line-height: 1.6;
}

.footer-03-inner > dl > dt {
	font-weight: bold;
}

.footer-03-inner > dl > dt > span {
	padding: 0 0 0 1em;
}

.footer-03-inner > dl > dt > br,
.footer-03-inner > dl > dd > br {
	display: none;
}

.footer-03-inner > dl > dd {
	margin: 16px 0 0 0;
}

.footer-03-inner-copyright {
	margin-top: 16px;
	font-size: 1.0rem;
	line-height: 1.5;
	font-weight: bold;
}

@media screen and (min-width: 768px) {

	.footer {
		padding: 64px 60px 48px 60px;
	}

	.footer-wrap {
		width: 100%;
		max-width: 1100px;
		margin: 0 auto;
	}

	.footer-01 > ul {
		margin: -16px -20px 0 0;
		line-height: 32px;
	}

	.footer-01 > ul > li {
		display: inline-block;
		padding: 0 40px 0 0;
		margin: 16px 40px 0 0;
		border-right: solid 1px #ffffff;
	}

	.footer-01 > ul > li + li {
		padding: 0 40px 0 0;
		margin: 16px 40px 0 0;
	}

	.footer-01 > ul > li:last-child {
		padding: 0 0 0 0;
		margin: 16px 0 0 0;
		border-right: none;
	}

	.footer-01 > ul > li > a {
		transition: all 0.4s;
	}

	.footer-01 > ul > li > a:hover {
		color: #1265D6;
	}

	.footer-02 {
		display: flex;
		width: 100%;
		padding: 50px 0 0 0;
		margin: 0 0 0 0;
		border-top: none;
	}

	.footer-02-01 {
		order: 1;
		flex: 1;
		margin: 0 0 0 0;
		padding: 0 0 0 60px;
		text-align: right;
	}

	.footer-02-01-inner {
		display: inline-block;
		text-align: left;
	}

	.footer-02-01-inner > dl {
		font-size: 1.2rem;
		line-height: 1.6;
	}

	.footer-02-02 {
		order: 0;
		width: 189px;
		margin: 0 0 0 0;
	}

	/* ロゴ&ナビ無し */
	.footer.footer-v2 {
		padding: 64px 60px 48px 60px;
		text-align: center;
	}

	.footer-03-inner > dl {
		font-size: 1.2rem;
		line-height: 1.6;
	}

	.footer-03-inner > dl > dt > br,
	.footer-03-inner > dl > dd > br {
		display: block;
	}
}


.modal-pickup {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100vw;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 150;
	background-color: rgba(0, 0, 0, 0.5);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.2s linear, visibility 0.2s;
}
.modal-pickup__closelayer {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	cursor: pointer;
}
.modal-pickup__inner {
	width: 90%;
	max-width: 960px;
	position: relative;
	z-index: 1;
}
.modal-pickup__close {
	width: 80px;
	height: 80px;
	position: absolute;
	top: -20px;
	right: 20px;
	z-index: 3;
	cursor: pointer;
}
.modal-pickup__close::before, .modal-pickup__close::after {
	content: "";
	display: block;
	width: 80px;
	height: 4px;
	position: absolute;
	top: 50%;
	left: 0;
	background-color: #fff;
}
.modal-pickup__close::before {
	transform: rotate(45deg);
}
.modal-pickup__close::after {
	transform: rotate(-45deg);
}
.modal-pickup__content {
	display: none;
	width: 100%;
	height: 0;
	-webkit-overflow-scrolling: auto;
	overflow-scrolling: auto;
	overflow-y: auto;
	pointer-events: none;
}
.modal-pickup__content.is-show {
	display: block;
	height: auto;
	max-height: 75vh;
	pointer-events: all;
}
.modal-pickup.is-show {
	opacity: 1;
	visibility: visible;
	pointer-events: all;
}
@media (min-width: 768px) {
	.modal-pickup__close {
		top: -80px;
		right: 0;
	}
}
@media (max-width: 767px) {
	.modal-pickup__close {
		width: 30px;
		height: 30px;
		top: -40px;
 	   right: 0px;
	}
	.modal-pickup__close::before, .modal-pickup__close::after {
		width: 30px;
		height: 1px;
	}
}

.modal-pickup-body {
	width: 100%;
	height: 100%;
	background-color: #fff;
	position: relative;
	z-index: 1;
	border-radius: 10px;
}
.modal-pickup-body__title {
	border-radius: 10px 10px 0 0;
	background-color: #000;
	padding: 40px 50px;
	color: #fff;
	border-bottom: 3px solid #5CB531;
}
.modal-pickup-body__title p {
	font-size: 2.7rem;
	font-weight: 700;
}
.modal-pickup-body__title p em {
	font-style: normal;
    color: #5CB531;
    font-weight: 500;
    font-family: "Orbitron", sans-serif;
    font-size: 2.3rem;
	margin-right: 30px;
}

.modal-pickup-inner {
	padding: 46px 0;
	max-width: 840px;
	margin: auto;
}

.modal-pickup-inner .lead {
	font-weight: 700;
	padding: 6px 16px;
	border-radius: 20px;
	display: inline-block;
	margin-bottom: 10px;
	font-size: 1.8rem;
}

.modal-pickup-inner .ttl {
	color: #fff;
	font-weight: 700;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 20px;
	font-size: 2.1rem;
	width: 11%;
	border-radius: 10px 0 0 10px;

}

.modal-pickup-inner .tx {
	padding: 20px 40px;
	width: 100%;
}


.modal-pickup-body__problem,
.modal-pickup-body__solution {
	border-radius: 10px;
	text-align: center;
}

.modal-pickup-body__problem {
	background-color: #EDF1F4;
}

.modal-pickup-body__problem .lead {
	background-color: #6C7789;
	color: #fff;
}

.modal-pickup-body__solution {
	margin-top: 80px;
	position: relative;
	background-color: #EFF4E9;
}

.modal-pickup-body__solution::before,
.modal-pickup-body__solution::after {
	position: absolute;
}

.modal-pickup-body__solution::before {
	content: '';
	top: -60px;
	left: 0;
	right: 0;
	margin: auto;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 82px solid transparent;
	border-left: 82px solid transparent;
	border-top: 43px solid #5CB531;
	border-bottom: 0;
}

.modal-pickup-body__solution .lead {
	background-color: #5CB531;
	color: #fff;
}

.modal-pickup-body__solution .solution-ttl {
	background-color: #5CB531;
}

.modal-pickup-body__solution .example {
	margin-top: 40px;
}

.modal-pickup-body__solution .example .example-ttl {
	text-align: center;
	font-size: 1.4rem;
	position: relative;
	margin-bottom: 30px;
}

.modal-pickup-body__solution .example .example-ttl::before,
.modal-pickup-body__solution .example .example-ttl::after {
	content: '';
	height: 1px;
	width: 44%;
	background-color: #000;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
}

.modal-pickup-body__solution .example .example-ttl::before {
	left: 0;
}

.modal-pickup-body__solution .example .example-ttl::after {
	right: 0;
}


.modal-pickup-body__solution .example ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 100%;
}

.modal-pickup-body__solution .example ul li {
	flex: 0 0 50%;
	text-align: left;
}

.modal-pickup-body__solution .example ul li:nth-child( n + 3 ) {
	margin-top: 20px;
}

.modal-pickup-body__solution .example ul li .country {
	display: flex;
	align-items: flex-start;
}

.modal-pickup-body__solution .example ul li img {
	max-width: 62px;
}
.modal-pickup-body__solution .example ul li .country p {
	font-size: 1.4rem;
	margin-left: 10px;
}

.modal-pickup-body__solution .example ul li p span {
	font-size: 1.2rem;
	display: block;
}

.modal-pickup-body__solution .example ul li .fukidashi {
	background-color: #fff;
	text-align: center;
	display: inline-block;
	position: relative;
	border: 1px solid #C8D1D5;
	font-size: 1.3rem;
	padding: 4px 10px;
	margin-bottom: 20px;
	min-width: 235px;
}

.modal-pickup-body__solution .example ul li .fukidashi::before {
	content: '';
	position: absolute;
	bottom: -10px;
	left: 0;
	right: 0;
	margin: auto;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 6px solid transparent;
	border-left: 6px solid transparent;
	border-top: 10px solid #C8D1D5;
	border-bottom: 0;
}

.modal-pickup-body__solution .example ul li .fukidashi::after {
	content: '';
	position: absolute;
	bottom: -8px;
	left: 0;
	right: 0;
	margin: auto;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 5px solid transparent;
	border-left: 5px solid transparent;
	border-top: 8px solid #fff;
	border-bottom: 0;
}


@media screen and (min-width: 768px) and (max-width: 1023.99px) {

	.modal-pickup-inner {
		padding: 46px 30px;
	}
}
@media screen and (max-width: 767px) {

	.modal-pickup__inner {
		border-radius: 10px;
	}

	.modal-pickup-body__title {
		margin-bottom: 0;
		padding: 20px;
		overflow: hidden;
	}
	.modal-pickup-body__title p {
		font-size: 1.8rem;
	}
	.modal-pickup-body__title p em {
		display: block;
		font-size: 1.4rem;
		margin-right: 0;
		margin-bottom: 10px;
	}

	.modal-pickup-inner {
		padding: 30px 25px;
	}

	.modal-pickup-inner .ttl {
		padding: 14px;
		font-size: 1.6rem;
		width: 100%;
		border-radius: 10px 10px 0 0;

	}

	.modal-pickup-inner .tx {
		padding: 20px;
		width: 100%;
	}

	.modal-pickup-body__problem,
	.modal-pickup-body__solution {
		flex-direction: column;
	}

	.modal-pickup-inner .lead {
		text-align: center;
		font-size: 1.4rem;
	}

	.modal-pickup-body__solution {
		margin-top: 80px;
		position: relative;
		background-color: #EFF4E9;
	}

	.modal-pickup-body__solution::before,
	.modal-pickup-body__solution::after {
		position: absolute;
	}

	.modal-pickup-body__solution::before {
		content: '';
		top: -60px;
		left: 0;
		right: 0;
		margin: auto;
		width: 0;
		height: 0;
		border-style: solid;
		border-right: 82px solid transparent;
		border-left: 82px solid transparent;
		border-top: 43px solid #5CB531;
		border-bottom: 0;
	}
	.modal-pickup-body__solution::after {
		font-size: 1.6rem;
	}

	.modal-pickup-body__solution .example {
		flex-direction: column;
		margin-top: 20px;
	}
	.modal-pickup-body__solution .example .example-ttl::before, .modal-pickup-body__solution .example .example-ttl::after {
		width: 36%;
	}

	.modal-pickup-body__solution .example ul {
		flex-direction: column;
	}
	.modal-pickup-body__solution .example ul li:nth-child( n + 3 ) {
		margin-top: 0;
	}

	.modal-pickup-body__solution .example ul li + li {
		margin-top: 20px !important;
	}

	.modal-pickup-body__solution .example ul li .country {
		display: flex;
	}

	.modal-pickup-body__solution .example ul li img {
		max-width: 62px;
		border: 1px solid #C3C3C3;
	}
	.modal-pickup-body__solution .example ul li .country p {
		font-size: 1.4rem;
		margin-left: 10px;
	}

	.modal-pickup-body__solution .example ul li p span {
		font-size: 1.2rem;
		display: block;
	}

	.modal-pickup-body__solution .example ul li .fukidashi {
		background-color: #fff;
		text-align: center;
		display: inline-block;
		position: relative;
		border: 1px solid #C8D1D5;
		font-size: 1.3rem;
		padding: 4px 10px;
		margin-bottom: 20px;
		min-width: 235px;
	}

	.modal-pickup-body__solution .example ul li .fukidashi::before {
		content: '';
		position: absolute;
		bottom: -10px;
		left: 0;
		right: 0;
		margin: auto;
		width: 0;
		height: 0;
		border-style: solid;
		border-right: 6px solid transparent;
		border-left: 6px solid transparent;
		border-top: 10px solid #C8D1D5;
		border-bottom: 0;
	}

	.modal-pickup-body__solution .example ul li .fukidashi::after {
		content: '';
		position: absolute;
		bottom: -8px;
		left: 0;
		right: 0;
		margin: auto;
		width: 0;
		height: 0;
		border-style: solid;
		border-right: 5px solid transparent;
		border-left: 5px solid transparent;
		border-top: 8px solid #fff;
		border-bottom: 0;
	}
}


/* inview - slideup */
.js-slideup {
	will-change: translate, opacity;
	transform: translate(0,60px);
	opacity: 0;
	transition: all 0.8s ease-in-out;
}

.js-slideup-act {
	transform: translate(0,0);
	opacity: 1.0;
}

.content-shop__btn {
    max-width: 620px;
	padding-top: 180px;
    margin: -90px auto 0;
}

.content-shop__btn a {
    text-align: center;
    background-color: #fff;
    padding: 20px 0;
    display: block;
    color: #000;
    position: relative;
}

.content-shop__btn a::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 4%;
    margin: auto;
    width: 15px;
    height: 15px;
    background-image: url(/special/ifree_semiconductor/images/base/g_icn_img_10_20250512.svg);
}

@media screen and (max-width: 767px) {
	.content-shop__btn {
		padding-top: 200px;
		margin: -110px auto 0;
		width: 90%;
		
	}
}