@charset "UTF-8";

.writing_speaking-box h1,
.writing_speaking-box h2,
.writing_speaking-box h3,
.writing_speaking-box h4,
.writing_speaking-box h5,
.writing_speaking-box h6 {
    font-feature-settings: "palt";
}
.writing_speaking-box ol, 
.writing_speaking-box ul {
    box-sizing: border-box;
}

/* add3.css */

.writing_speaking-box img {
    image-rendering: -webkit-optimize-contrast;
}


.box12 {
    display: block;
    width: 80%; 
    box-sizing: border-box;
    background-color: #000;
    border: 2px solid #fff;
    border-radius: 18px;
    box-shadow: 0 0 0 3px #000;
    overflow: hidden;
}
.box12 .content {
  padding: 1em 1.5em 1.5em;
  background-color: #000;
}
.box12 .content .title {
  margin: 0;
  font-size: 1.5em;
}
.box12 .content time {
  display: block;
  text-align: right;
}
.box12 .content .more-link {
  text-align: right;
}
.box12 .content .author {
  font-weight: bold;
  color: #fff;
}

.box12 a {
  display: block;
  text-decoration: none;
  color: #fff;
}
.box12 .pic {
    position: relative;
    width: 100%;
    height: 0;
    margin: 0;
    padding-top: 70%;
    background: #000;
    border: 3px solid #000;
    border-radius: 16px 16px 0 0;
    box-sizing: border-box;
    overflow: hidden;
}

.box12 .pic img {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    object-fit: cover;
}

@media (max-width: 1100px) {
  .box12 {
    width: 50%; 
  }
}
@media (max-width: 768px) {

  .box12 {
    width: 100%;
    margin-bottom: 40px;
  }
}


/* Writing and Speaking */
.writing_speaking-box {

	color : #fff;
	font-family: YuGothic, 游ゴシック, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif ;

}

.writing_speaking-box > h3:before {
	content: "";                       
  display: inline-block;             
  width: 3rem;                       
  height: 3rem;                         
	vertical-align: middle;               
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain; 
	
	margin-right:.3rem;
}


.writing_speaking-list {
		display: flex;
    flex-wrap: wrap;
    column-gap: 40px;
    margin: 0;
    padding: 0;
}

.writing_speaking-list .author {
	display : flex;
	column-gap : 1rem;
	border-top: dashed 1px #fff;
	border-bottom: dashed 1px #fff;
  padding-top: 1em;
  padding-bottom: 1em;
  margin-bottom: 1em;
}


.writing_speaking-list .author_img {
	width:40%;
	display:inline-block;
	height:auto 
}


.writing_speaking-list .author_img > img {
	width:100%;
	display:block;
}

.author_img img {
    border: none ;
    border-radius: 0 ;
    height: auto;
    /* object-fit: cover; */
}

.writing_speaking-list .author_name {
	display:flex;
	align-items: start;
	width:60%;
	font-size:1.4rem;
	flex-direction:column;
	justify-content:center;
}

.writing_speaking-list .author_name .position {
	font-size:1rem;
	color:#fff 
}

.writing_speaking-list .author_name a {
	text-decoration:underline;
	color:#fff;
}
.writing_speaking-list .author_name span {
	font-weight:bold;
	color:#fff;
}

.writing_speaking-list .link > a {
	text-decoration:underline;
	color:#fff;
}
.writing_speaking-list .link > a:before {
    content: "";
    display: inline-block;
    width: 1rem;
    height: 1rem;
    background-image: url('/wp-content/themes/sango-theme-child/assets/external-card/pointer-white.png');
    background-repeat: no-repeat;
    background-size: contain;
	}
.writing_speaking-list .link > a:after {
    content: "";
    display: inline-block;
    width: 1.1rem;
    height: 1.1rem;
    background-image: url('/wp-content/themes/sango-theme-child/assets/external-card/tl_external_link.png');
    background-repeat: no-repeat;
    background-size: contain;
    margin-left: 0.3rem;
}

.writing_speaking-box > h3 {
	margin-left:30px;
	font-family:"Emulogic";
	color : #000;
	padding-top:40px;
	letter-spacing:.3rem;
}
.writing_speaking-box > h3:first-child {
	padding-top:0;
}

.writing_speaking-box ul li {
    margin-bottom: 40px;
	  display: flex;
    flex-direction: column;
		padding:0 ;
		width: 100%;
		box-sizing: border-box;
		background-color: #000;
		border: 2px solid #fff;
		border-radius: 18px;
		box-shadow: 0 0 0 3px #000;
		overflow: hidden;
}
.writing_speaking-box ul li .pic {
	background: url('/wp-content/themes/sango-theme-child/assets/external-card/writing_speaking_rpg01.png') #000 no-repeat right bottom;
	background-size:cover;
}

.writing_speaking-box ul li .pic:empty {
  background: url('/wp-content/themes/sango-theme-child/assets/external-card/writing_speaking_rpg02.png') #000 no-repeat right bottom;
	background-size:cover;
}

.writing_speaking-box ul li .content {
	padding-bottom:0;
}
.writing_speaking-box ul li .period {
	border-bottom: solid 1px #fff;
	padding-bottom: 0.5em;
  margin-bottom: 0.5em;
}
.writing_speaking-box ul li .footer {
	margin-top:auto;
	padding: 0.5em 1.5em 1em;
	background-color: #000 ;
	color:#fff ;

}

.writing_speaking-box ul li .pic img {
	height:85%;
	width:100%;
	object-fit: contain;
  object-position: center;
	position:absolute;
	top:1rem;
	left:0;
	transform:none;
}

.writing_speaking-box ul li.wide .pic img {
		width:90%;
    position: relative;

		margin:auto;
		display:block;
}

.writing_speaking-box ul li .pic img.image-fill {
	height:100%;
	width:100%;
	object-fit: cover;
  object-position: center;
	position:absolute;
	top:0;
	left:0;
	transform:none;
}
.writing_speaking-box ul li .content .title {
	font-size:1.3em;
}

/* wide */
.writing_speaking-box ul li.wide {
    flex-direction: row;
}
.writing_speaking-box .box12.wide .pic {
    border-radius: 16px 0 0 16px;
		width: 60%;
    height: auto;
    padding-top: 0;
		flex-basis:50%;
}
.writing_speaking-box .info-after {
	flex-basis:50%;
	color:#fff
}

.author-external-cards .author {
	display: none !important;
}


.author-external-cards .box12 .pic {
 padding-top: 50%;
}

.author-external-cards .catpost-cards {
	grid-template-columns : none;
}

.author-external-cards .writing_speaking-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)); /* 1カラムにしたい場合は 1 に */
  gap: 16px;
}

.author-external-cards .box12 {
	margin: 0; /* 既存marginがある場合の打ち消し */
	font-size: 90%;
	color:#fff
}
.author-external-cards .writing_speaking-list > li:empty {
	display: none;
}