@import url('https://fonts.googleapis.com/css?family=Montserrat:400,600');



/* common ///////////////////////////////////*/
body {
  font-size: 15px;
	font-family: 'Montserrat', sans-serif;
	color: #333;
  line-height: 1.5;
}
img {
  max-width: 100%;
  height: auto;
}
img.ofi {    
  object-fit: cover;
  font-family: 'object-fit: cover;'
}
p {
  margin: 0;
}
* {
  word-wrap: break-word;
}
a:hover {
  text-decoration: none;
}
a.btn_common {
  display: block;
  width: 65%;
  margin: auto;
  padding: 18px 15px;
  color: #000040;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  line-height: 1;
  border: 1px solid #000040;
  border-radius: 6px;
}

.pc {
	display: block;
}
.sp {
	display: none;
}

@media screen and (max-width: 767px) {
  .pc {
	display: none;
  }
  .sp {
  	display: block;
  }
}


/* wrapper ///////////////////////////////////*/
.wrapper {
  max-width: 1080px;
  margin: 60px auto 0;
}
.app .wrapper {
  margin-top: 0;
}
@media screen and (max-width: 1140px) {
  .wrapper {
    margin-top: 0;
  }
}



/* title ///////////////////////////////////*/
.title {
  padding: 40px 20px;
}
.title .tit {
  margin-bottom: 0;
  font-size: 26px;
  font-weight: bold;
  line-height: 1.2;
}



/* data ///////////////////////////////////*/
.data {
  padding: 0 20px;  
}
.data.salsetalk {
  padding: 0 30px 0 0;
  background: #f5f5f5;
}
.data .outer {
  padding: 15px 0 10px 5px;
  font-size: 12px;
  color: #999;
  border-top: 1px solid #e6e6e6;
  border-bottom: 1px solid #e6e6e6;
}
.data.notitle .outer {
  padding: 25px 0 10px 5px;
  border-top: none;
}
.data.notitle.salsetalk .outer {
  padding: 0;
  border: none;
}
.data .inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.data .inner .profile_icon {
  flex: 0 1 15%;
}
.data .inner .reference_img {
  margin: 0 -3vw;
  padding: 2vw 0;
}
.data .inner .profile_icon .circle_box {
  position: relative;
  width: 100%;
  border-radius: 50%;
  overflow: hidden;
}
.data .inner .profile_icon .circle_box:before {
  content: "";
  display: block;
  padding-top: 100%;
}
.data .inner .profile_icon .circle_box img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.data .inner .reference_img img {
  max-width: inherit;
  width: auto;
  height: 28vw;
}
.data .inner .data_inner {
  flex: 0 1 82%;
  min-width: 0;
}
.data.salsetalk .inner .data_inner {
  flex: 1 0 auto;
}
.data .inner .data_inner .author_name {
  color: #151515;
  font-size: 14px;
  line-height: 1.4;
}
.data .inner .data_inner .author_name a {
  color: #151515;
}
.data .cats {
  margin: 0;
  padding: 0;
  list-style: none;
  display: inline-flex;
  flex-wrap: wrap;
}
.data .cats li {
  position: relative;
  margin: 0 0 0 2px;
  padding: 0 0 0 8px;
  list-style: none;
}
.data .cats li:before {
  content: '/';
  position: absolute;
  top: 0;
  left: 0;
}
.data .cats li:first-of-type {
  margin: 0;
  padding: 0;
}
.data .cats li:first-of-type:before {
  display: none;
}
.data .cats li:last-of-type {
  margin-right: 10px;
}
.data .cats li a {
  color: #999;
  text-decoration: none !important;
}
.data .reference {
  color: #151515;
  font-size: 16px;
}
.data .date {
  display: inline-block;
}
.data .count {
  line-height: 1;
}
.data .count .num {
  margin-top: .3em;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.data .count .num:before {
  content: '';
  width: 18px;
  height: 13px;
  margin-right: 5px;
  background: url(../img/icon_eye.svg) center center no-repeat;
  background-size: 18px 13px;
}



/* .main ///////////////////////////////////*/
.main {
  padding: 40px 20px 60px;
  color: #171717;
  line-height: 1.5;
  overflow: hidden;
}
.main .beginning_text {
  margin-bottom: 35px;
}
.main .beginning_text p {
  font-size: 14px;
  line-height: 1.5;
}
.main .lead_section {
  margin-bottom: 2.5em;
  color: #666;
  font-size: 16px;
}



/* .main #body_section ///////////////////////////////////*/
.main #body_section {
  font-size: 16px;
  line-height: 1.7;
}
.main #body_section a {
  color: #3366cc;
}
.main #body_section a:hover {
  color: #3366cc;
  text-decoration: none;
}
.main #body_section .font_size_larger {
  display: inline-block;
  font-size: 18px;
}
.main #body_section .font_size_smaller {
  display: inline-block;
  font-size: 14px;
}
@media screen and (max-width: 1080px) {
  .main #body_section img:not([style*="left"]):not([style*="right"]) {
    width: 100vw;
    height: auto;
    margin: 0 0 0 calc(50% - 50vw);
    max-width: initial;
  }
}
.main #body_section img[style*="left"],
.main #body_section .cke_widget_image[style*="left"] {
  margin: .4em 10px 10px 0;
}
.main #body_section img[style*="right"],
.main #body_section .cke_widget_image[style*="right"] {
  margin: .4em 0 10px 10px;
}
.main #body_section > p {
  margin-bottom: 2.5em;
}
.main #body_section p::after{
  content: "";
  display: block;
  clear: both;
}
.main #body_section > p:first-of-type:first-letter {
  font-size: 48px;
  font-weight: bold;
  line-height: 1;
  float: left;
  margin: .05em .15em 0 0;
}
.main #body_section hr {
  display: block;
  width: 100%;
  height: 1px;
  margin-bottom: 2.5em;
  background-color: #e6e6e6;
  border: 0;
}
.main #body_section .heading_2,
.main #body_section .heading_3 {
  margin-bottom: 2em;
  font-size: 22px;
  font-weight: bold;
  line-height: 1.3;
}
.main #body_section .heading_3 {
  font-size: 18px;
  line-height: 1.4;
}
.main #body_section .heading_salestalk {
  color: #00104a;
  font-size: 20px;
  font-weight: 600;
  font-style: italic;
  line-height: 1.4;
}
.main #body_section .heading_link {
  margin-bottom: 0.67em;
  font-size: 14px;
  font-weight: normal;
}
.main #body_section .txt_highlight {
  padding: 0 .2em;
  background: linear-gradient(transparent 0%, #ffd700 0%);
}
.main #body_section ul,
.main #body_section ol {
  margin-bottom: 2.5em;
  padding-left: 2em;
}
.main #body_section figure.image {
  display: block !important;
  margin-bottom: 2.5em;
}
.main #body_section figure img {
  padding: 0;
}
.main #body_section figure figcaption {
  margin-top: .5em;
  font-size: 12px;
}
.main #body_section > div {
  margin-bottom: 2.5em;
}
.main #body_section > table {
  max-width: 100%;
  width: 100% !important;
  margin-bottom: 2.5em;
  border-collapse: collapse;
}
.main #body_section > table caption {
  margin: 0 0 .5em;
  padding: 0;
  font-size: 14px;
  text-align: center;
  caption-side: top;
}
.main #body_section > table td {
  padding: .5em;
  border: 1px solid #e6e6e6;
}
.main #body_section > blockquote {
  margin-bottom: 2.5em;
  padding-left: 1em;
  border-left: 4px solid #e6e6e6;
}
.main #body_section .my_feature {
  position: relative;
  color: #000040;
  font-size: 22px;
  margin-bottom: 40px;
  padding-left: 45px;
}
.main #body_section .my_feature::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 35px;
  height: 1px;
  background: #000040;
}


/* .featured_posts ///////////////////////////////////*/
.featured_posts {
  margin-top: 1em;
  padding: 0 20px 60px;
}
.featured_posts.kinetic {
  margin-top: 0;
  padding: 0 0 30px;
  line-height: 1;
}
.featured_posts .tit {
  margin-bottom: .8em;
  padding-top: 2.5em;
  font-size: 18px;
  font-weight: bold;
  border-top: 1px solid #e6e6e6;
}
.featured_posts.kinetic .tit {
  margin: 0 20px .8em;
}
.featured_posts.kinetic .outer {
  position: relative;
  overflow-x: auto;
  padding-bottom: 15px;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
}
.featured_posts.kinetic .inner {
  display: block;
  padding-left: 20px;
}
.featured_posts .inner {
  display: flex;
  justify-content: space-between;
}
.featured_posts.kinetic .inner {
  display: block;
  padding-left: 20px;
}
.featured_posts.kinetic .inner .post_list {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
}
.featured_posts .inner .post {
  flex: 0 1 47%;
  min-width: 0;
}
.featured_posts.kinetic .inner .post_list li a {
  display: inline-block;
}
.featured_posts.kinetic .inner .post_list li .post {
  flex: none;
  max-width: 150px;
  min-width: inherit;
  width: calc(100vw * 0.35);
  margin-right: 20px;
  overflow: hidden;
}
.featured_posts.kinetic .inner .post_list li .post {
  flex: none;
  max-width: 150px;
  min-width: inherit;
  width: calc(100vw * 0.35);
  margin-right: 20px;
  overflow: hidden;
}
.featured_posts .inner .img {
  margin-bottom: .6em;
  position: relative;
  width: 100%;
  line-height: 1;
}
.featured_posts.kinetic .inner .img {
  margin-bottom: 0;
}
.featured_posts .inner .img:before {
  content: "";
  display: block;
  padding-top: 56.25%;
}
.featured_posts .inner .img img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.featured_posts.kinetic .inner .post_list .txt_box {
  width: 100%;
  position: relative;
  height: 120px;
  padding: .6em 0;
  background: #fff;
  overflow: hidden;
}
.featured_posts .inner .lead {
  margin-bottom: .5em;
  color: #171717;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.4;
  /*
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  */
}
.featured_posts.kinetic .inner .lead {
  max-height: 80px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  overflow: hidden;
  font-size: 12px;
  font-weight: bold;
  line-height: 1.3;
}
.featured_posts .inner .date {
  font-size: 12px;
  color: #999;
}
.featured_posts.kinetic .inner .date {
  position: absolute;
  bottom: 13px;
  left: 0;
}
.featured_posts.kinetic .feture_box {
  color: #000040;
  font-size: 12px;
  margin-bottom: 10px;
  line-height: 1;
}

/* .posted_list ///////////////////////////////////*/
.posted_list {
  position: relative;
  padding: 25px 0;
  overflow: hidden;
  line-height: 1;
}
.posted_list .bg_img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.posted_list .bg_img img {
  max-width: inherit;
  width: auto;
  height: 100%;
}
.posted_list .outer {
  position: relative;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
}
body.pc_mode .posted_list .outer {
  overflow-x: hidden;
}
.posted_list .outer::-webkit-scrollbar{
  display: none;
  -webkit-appearance: none;
}
.posted_list .inner {
  padding-left: 160px;
}
.posted_list .inner .post_list {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
}
.posted_list .inner .post_list li a {
  display: inline-block;
}
.posted_list .inner .post_list li .post_box {
  max-width: 150px;
  width: calc(100vw * 0.416);
  margin-right: 20px;
  overflow: hidden;
}
.posted_list .inner .post_list .img_box {
  width: 100%;
  height: 85px;
}
.posted_list .inner .post_list .img_box img {    
  max-width: inherit;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.posted_list .inner .post_list .txt_box {
  width: 100%;
  height: 120px;
  position: relative;
  padding: 13px;
  background-color: #fff;
  color: #171717;
}
.posted_list .inner .post_list .txt_box .txt {
  max-height: 80px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  overflow: hidden;
  font-size: 12px;
  font-weight: bold;
  line-height: 1.3;
}
.posted_list .inner .post_list .txt_box .date {
  position: absolute;
  bottom: 13px;
  left: 13px;
  color: #999;
  font-size: 12px;
}


/* .writer ///////////////////////////////////*/
.writer {
  padding: 20px;
}
.writer .writer_list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.writer a {
  position: relative;
  display: block;
  padding: 20px 30px 20px 0;
}
.writer a:after {
  content: '';
  position: absolute;
  top: 50%;
  right: 5px;
  width: 8px;
  height: 8px;
  border-top: 1px solid #b4b4b4;
  border-right: 1px solid #b4b4b4;
  transform: rotate(45deg) translateY(-50%);
}
.writer .writer_list li {
  border-bottom: 1px solid #e6e6e6;
}
.writer .writer_list li:last-of-type {
  border-bottom: none;
}
.writer .inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.writer .inner .profile_icon {
  flex: 0 1 27%;
}
.writer .inner .profile_icon .circle_box {
  position: relative;
  width: 100%;
  border-radius: 50%;
  overflow: hidden;
}
.writer .inner .profile_icon .circle_box:before {
  content: "";
  display: block;
  padding-top: 100%;
}
.writer .inner .profile_icon .circle_box img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.writer .inner .data_inner {
  flex: 0 1 67%;
  min-width: 0;
}
.writer a .inner .author_name {
  margin-bottom: .2em;
  color: #333;
  font-weight: bold;
}
.writer a .inner .author_about {
  color: #999;
  font-size: 12px;
  line-height: 1.4;
}



/* .writer_detail ///////////////////////////////////*/
.writer_detail {
  padding-bottom: 30px;
}
.writer_detail .writer_header {
  padding: 35px 20px;
  background-color: #f5f5f5;
}
.writer_detail .writer_header .profile_icon {
  margin-bottom: 15px;
  text-align: center;
  line-height: 1;
}
.writer_detail .writer_header .profile_icon .circle_box {
  display: inline-block;
  width: 35%;
  position: relative;
  border-radius: 50%;
  overflow: hidden;
}
.writer_detail .writer_header .profile_icon .circle_box:before {
  content: "";
  display: block;
  padding-top: 100%;
}
.writer_detail .writer_header .profile_icon .circle_box img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
.writer_detail .writer_header .data_inner {
  max-width: 350px;
  margin: auto;
}
.writer_detail .writer_header .author_name {
  margin-bottom: .1em;
  color: #333;
  font-weight: bold;
  text-align: center;
}
.writer_detail .writer_header .author_position {
  margin-bottom: .5em;
  color: #333;
  text-align: center;
}
.writer_detail .writer_header .author_about {
  color: #999;
  font-size: 12px;
  line-height: 1.4;
}
.writer_detail .featured_posts {
  padding: 30px 20px 0;
}
.writer_detail .featured_posts .inner {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.writer_detail .featured_posts .inner .post {
  flex: 0 1 47%;
  min-width: 0;
  margin-bottom: 7%;
}
.writer_detail .featured_posts .inner .img {
  position: relative;
  margin-bottom: .6em;
  line-height: 1;
}
.writer_detail .featured_posts .inner .img:before {
  content: "";
  display: block;
  padding-top: 56.25%;
}
.writer_detail .featured_posts .inner .img img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.writer_detail .featured_posts .inner .lead {
  margin-bottom: .5em;
  color: #171717;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.4;
}
.writer_detail .featured_posts .inner .date {
  font-size: 12px;
  color: #999;
}



/* .media_detail ///////////////////////////////////*/
.media_detail {
  padding-bottom: 30px;
}
.media_detail .top .img {
  position: relative;
  line-height: 1;
}
.media_detail .top .img:before {
  content: "";
  display: block;
  padding-top: 66.666%;
}
.media_detail .top .img img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.media_detail .featured_posts {
  position: relative;
  padding: 0;
  overflow: hidden;
  line-height: 1;
}
.media_detail .featured_posts .tit {
  margin-bottom: .8em;
  padding: 0 20px;
  border-top: none;
}
.media_detail .featured_posts .wrap {
  position: relative;
}
.media_detail .featured_posts .wrap::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 15px;
  background: #fff;
}
body.pc_mode .media_detail .featured_posts .wrap::after {
  display: none;
}
.media_detail .featured_posts .outer {
  position: relative;
  overflow-x: auto;
  padding-bottom: 15px;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
}
.media_detail .featured_posts .outer::-webkit-scrollbar {
  display: none;
  -webkit-appearance: none;
  appearance: none;
}
body.pc_mode .media_detail .featured_posts .outer {
  padding-bottom: 0;
  overflow-x: hidden;
}
.media_detail .featured_posts .inner {
  display: block;
  padding-left: 20px;
}
.media_detail .featured_posts .inner .post_list {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
}
.media_detail .featured_posts .inner .post_list li {
  
}
.media_detail .featured_posts .inner .post_list li a {
  display: inline-block;
}
.media_detail .featured_posts .inner .post_list li .post {
  flex: none;
  max-width: 150px;
  min-width: inherit;
  width: calc(100vw * 0.35);
  margin-right: 20px;
  overflow: hidden;
}
.media_detail .featured_posts .inner .post_list .txt_box {
  width: 100%;
  position: relative;
  height: 120px;
  padding: .6em 0;
  background: #fff;
}
.media_detail .featured_posts .inner .img {
  margin-bottom: 0;
}
.media_detail .featured_posts .inner .img:before {
  padding-top: 66.666%;
}
.media_detail .featured_posts .inner .lead {
  max-height: 80px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  overflow: hidden;
  font-size: 12px;
  font-weight: bold;
  line-height: 1.3;
}
.media_detail .featured_posts .inner .date {
  position: absolute;
  bottom: 13px;
  left: 0;
}



/* .main_header, .main_footer, [browser view] ///////////////////////////////////*/
.main_header {
  background-color: #000040;
  line-height: 1;
}
.app .main_header {
  display: none;
}
.main_header .inner { 
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.main_header .inner .logo img { 
  width: 86px;
  height: 36px;
}
.main_footer {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 60px;
}
.app .main_footer {
  display: none;
}
.main_footer .copyright {
  font-size: 11px;
  font-weight: 600;
}



/* .browser_frame ///////////////////////////////////*/
.browser_frame {
  width: 100%;
}
/* .main_header */
.browser_frame .main_header {
  width: 100%;
  height: 75px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.browser_frame .main_header {
  background-color: transparent;
}
.browser_frame .main_header .logo img {
  width: 94px;
  height: 40px;
}
/* .main_container */
.browser_frame .main_container {
  padding: 15px 50px 40px 50px;
  font-size: 14px;
  line-height: 1.6;
  max-width: 1080px;
  margin: 0 auto;
}
.browser_frame .main_container .main_tit {
  margin-bottom: 30px;
  font-size: 20px;
  font-weight: normal;
  line-height: 1.4;
}
.browser_frame .main_container p {
  margin-bottom: 1.5em;
}
/* .main_footer */
.browser_frame .main_footer {
  width: 100%;
  height: 45px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.browser_frame small {
  color: #999;
  font-size: 12px;
}

.browser_frame .lang_area {
	text-align: right;
	font-size: 12px;
	padding: 15px;
}

@media screen and (max-width: 1140px) {
  .browser_frame .main_container {
  	padding: 15px 40px 40px 40px;
  }
}


/* .privacypolicy ///////////////////////////////////*/

.privacypolicy .main_tit {
	text-align: center;
}

.privacypolicy ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.privacypolicy .data_recipients {
	margin-bottom: 40px;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}
.privacypolicy .data_recipients table {
	border: 1px solid #000;
}
.privacypolicy .data_recipients th{
	border: 1px solid #000;
	padding: .5em;
	text-align: center;
	font-size: 12px;
}
.privacypolicy .data_recipients td{
	border: 1px solid #000;
	padding: .5em;
	font-size: 12px;
}



/* .download_area ///////////////////////////////////*/
#download_area {
	background: #f5f5f5;
	padding: 20px 15px;
}

#download_area .message {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 14px;
	line-height: 1.3;
	margin-bottom: 20px;
	padding: 0 5px;
}

#download_area .message img{
	width: 50px;
	height: 50px;
	margin-right: 15px;
}

#download_area ul {
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: center;
	display: flex;
	justify-content: center;
}
#download_area li{
	padding: 0 5px;
}



/* .update ///////////////////////////////////*/

.update.main_container .main_tit {
    text-align: center;
}